# 📘 Panduan Modul: Distribusi FG Project

## 1. Kode Transaksi & Tipe (`jenisTr`)
Modul ini mengelola distribusi pengiriman barang jadi (Finished Goods) yang dialokasikan khusus untuk kebutuhan realisasi proyek/projek:
- **`51` (Varian Project)**: Distribusi Finished Goods Project

---

## 2. Aliran Finansial & Mutasi Persediaan
Mencatat perpindahan barang jadi dari persediaan umum ke dalam beban/biaya realisasi proyek:

### Akun & Persediaan Terkait:
- **`1010030030`**: Persediaan Finished Goods (FG) - Dikredit saat barang didistribusikan ke proyek.
- **`1010030060`**: Project Cost (Persediaan dalam Proyek) atau langsung ke HPP Proyek.
- **Stock Locker & FIFO**: Menggunakan `penulisan ganda stock locker` untuk pemotongan stok fisik di gudang pengirim serta memotong antrean kartu stok FIFO (Finished Goods).

---

## 3. Aturan Bisnis & Integrasi Modul
- **Referensi Proyek**: Setiap item yang didistribusikan wajib memiliki kaitan dengan `project_id` dan `work_order_id` yang terdaftar di `master_project`.
- **Wajib Dual-Write**: Seluruh pemutakhiran locker stok wajib melalui `penulisan ganda stock locker` (sentinel `1` untuk produk non-varian).

---

## 🛠️ Lampiran Teknis (Hasil Audit Codebase)

### Berkas Konfigurasi Utama:
- `coTransaksiCore.php`

### Kode Transaksi (`jenisTr`) Terdaftar:
- **`5833`**
- **`5855`**
- **`9833`**
- **`9855`**

### Komponen Bisnis (`components`) Terlibat:
- `FifoAverage`
- `FifoProdukJadi`
- `Jurnal`
- `LockerStock`
- `LockerStockMutasi`
- `LockerStockWorkOrder`
- `ProdukProjectReturn`
- `ProdukSerialNumberExtractor`
- `Rekening`
- `RekeningPembantuAntarcabang`
- `RekeningPembantuProduk`
- `RekeningPembantuProdukPerSerial`
- `RekeningPembantuProdukPerSerialIntransit`
- `TransaksiProduk`
