# 📘 Panduan Modul: Project (Proyek)

## 1. Kode Transaksi & Tipe (`jenisTr`)
Modul ini mengelola siklus transaksi proyek dari pembuatan kontrak, penagihan, hingga realisasi proyek:
- **`5882`**: Realisasi / Pengiriman Barang Proyek (Realisasi Project)

---

## 2. Aliran Finansial & Jurnal Akuntansi
Menangani realisasi pengiriman barang dan retensi proyek dengan struktur akuntansi sebagai berikut:

### Jurnal Akuntansi Terkait (COA) pada Realisasi (`5882`):
- **`1010030030`**: Persediaan Produk - Dikredit via HPP (`-hpp`).
- **`5010`** / **`5030`**: HPP Proyek - Didebet berdasarkan nilai (`hpp + ppv_riil`).
- **`7010150`**: Selisih Harga Pembelian / Laba Rugi Lain-lain PPV.
- **`0612`** / **`020413`**: Biaya Retensi Garansi & Hutang Garansi (Retensi Proyek).

---

## 3. Aturan Bisnis & Integrasi Modul
- **Dual-Write Stock Locker**: Untuk pengiriman produk jadi fisik, modul ini terintegrasi dengan persediaan FIFO dan **wajib** menggunakan `penulisan ganda stock locker` jika melakukan perubahan status stok `active` / `hold`.
- **Project Costing**: Menggeser pengeluaran dari `1010030060` (Project Cost) ke HPP Proyek saat packing list cabang direalisasikan.
- **Retensi Proyek**: Mengotomatiskan pemisahan nilai piutang dagang biasa dengan piutang retensi berdasarkan persentase garansi proyek (`tarifGaransi`).

---

## 🛠️ Lampiran Teknis (Hasil Audit Codebase)

### Berkas Konfigurasi Utama:
- `coTransaksiCore.php`

### Kode Transaksi (`jenisTr`) Terdaftar:
- **`4469`**
- **`588`**
- **`5882`**
- **`5883`**
- **`5886`**
- **`5887`**

### Komponen Bisnis (`components`) Terlibat:
- `FifoAverage`
- `FifoProdukJadi`
- `Jurnal`
- `Jurnal_activity`
- `Jurnal_activityMain`
- `LockerProjectKomposisiSubWorkoder`
- `LockerStock`
- `LockerStockMutasi`
- `LockerStockMutasiWorkOrder`
- `LockerStockWorkOrder`
- `LockerValue`
- `PaymentSrcItem`
- `PaymentUangMukaCustomer`
- `ProdukProject`
- `ProdukProjectItems3`
- `ProdukProjectItems4`
- `ProdukProjectItems5`
- `ProdukProjectItems7`
- `ProdukProjectUangMuka`
- `ProdukProjectUpdate`
- `ProjectSales`
- `ProjectSalesMain`
- `Rekening`
- `RekeningPembantuAntarcabang`
- `RekeningPembantuCustomer`
- `RekeningPembantuCustomerProject`
- `RekeningPembantuHpp`
- `RekeningPembantuHppProject`
- `RekeningPembantuHppProjectBiayaLain`
- `RekeningPembantuHppProjectWorkorder`
- `RekeningPembantuHppProjectWorkorderDetail`
- `RekeningPembantuKas`
- `RekeningPembantuLRLainlain`
- `RekeningPembantuPenjualan`
- `RekeningPembantuPenjualanProject`
- `RekeningPembantuProduk`
- `RekeningPembantuProjek`
- `RekeningPembantuProjekCustomer`
- `Signature`
- `Sync2GatesRsltItems`
- `TransaksiDataGaransi`
- `TransaksiProduk`
- `TransaksiProjectItem`
- `TransaksiStepUpdater`
