# 💵 PT. INDOSAN - ERP Web - Modul Kas

Aturan spesifik untuk pengembangan, alur pencatatan keuangan, dan penjurnalan pada modul `kas` PT. INDOSAN.

---

## 1. Kode Transaksi (`jenisTr`) & Tipe Pencatatan Kas

### 1.1 Penerimaan Kas (Uang Masuk)
*   **`759`**: Penerimaan Kas Lokal (Rupiah).
*   **`7759`**: Penerimaan Kas Valas (Mata Uang Asing).
*   *Mencatat debet pada akun kas (seperti `1010010010` - Kas Pusat) dan kredit pada rekening tujuan (pendapatan/piutang).*

### 1.2 Pengeluaran Kas (Uang Keluar)
*   **`758`**: Pengeluaran Kas Lokal (Rupiah).
*   **`7758`**: Pengeluaran Kas Valas (Mata Uang Asing).
*   *Mencatat kredit pada akun kas dan debet pada rekening beban/rekening pembantu supplier.*

### 1.3 Transfer & Penyesuaian Kas Internal
*   **`4466`**: Transfer Kas/Bank (Mutasi internal antar-akun kas atau dari kas ke bank).
*   **`4643` / `4644`**: Penerimaan/pengeluaran Petty Cash (Kas Kecil).
*   **`4656`**: Pembayaran kas khusus proyek.
*   **`7467`**: Biaya administrasi bank/kas.

---

## 2. Alur Validasi & Penguncian (Locker)
*   **Pencegahan Over-Budget:** Setiap transaksi pengeluaran kas (`758`) wajib memvalidasi kecukupan saldo kas di cabang bersangkutan sebelum transaksi disetujui (*Approved*).
*   **Status Kunci Transaksi:** Transaksi kas menggunakan `MdlLockerTransaksi` dengan status `hold` selama draf untuk mencegah agar saldo tidak dipakai oleh transaksi paralel lainnya.

---

## 🛠️ Lampiran Teknis (Hasil Audit Codebase)

### Berkas Konfigurasi Utama:
- `coTransaksiCore.php`

### Kode Transaksi (`jenisTr`) Terdaftar:
- **`4464`**
- **`4465`**
- **`4466`**
- **`4466r`**
- **`453`**
- **`453r`**
- **`454`**
- **`464`**
- **`758`**
- **`7588`**
- **`759`**
- **`7599`**
- **`7599r`**
- **`759r`**
- **`7758`**
- **`7759`**
- **`7759r`**
### Komponen Bisnis (`components`) Terlibat:
- `FifoValasAverageMain`
- `FifoValasExtern`
- `FifoValasExternAverage`
- `FifoValasMain`
- `Jurnal`
- `Jurnal_activity`
- `Jurnal_activityMain`
- `LockerDebtValue`
- `LockerStockPlafonBankMutasiMain`
- `LockerValue`
- `LockerValueExternItem`
- `PaymentSrcItem`
- `PaymentUangMukaCustomer`
- `Rekening`
- `RekeningKoran`
- `RekeningKoranMinus`
- `RekeningPembantuAntarcabang`
- `RekeningPembantuBank`
- `RekeningPembantuCustomer`
- `RekeningPembantuCustomerItem`
- `RekeningPembantuKas`
- `RekeningPembantuLRLainlain`
- `RekeningPembantuPph`
- `RekeningPembantuRekeningKoranMain`
- `RekeningPembantuRelasiRekeningKoran`
- `RekeningPembantuSupplier`
- `RekeningPembantuUangMuka`
- `RekeningPembantuUangMukaExternItem`
- `RekeningPembantuUangMukaExternMain`
- `RekeningPembantuUangMukaMain`
- `RekeningPembantuValas`
- `SelisihKurs`
- `UangMukaSourceDetail`
- `UangMukaValasSourceDetail`
- `UangMukaValasSourceMain`