# 💵 PT. Everest - ERP Web - Modul Kas

Aturan spesifik untuk pengembangan, alur pencatatan keuangan, dan penjurnalan pada modul `kas` PT. Everest.

---

## 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:
- **`0`**
- **`1`**
- **`11`**
- **`12`**
- **`19467`**
- **`2`**
- **`4464`**
- **`4465`**
- **`4466`**
- **`4467`**
- **`453`**
- **`454`**
- **`464`**
- **`4643`**
- **`4644`**
- **`4645`**
- **`465`**
- **`4656`**
- **`7444`**
- **`7445`**
- **`7467`**
- **`7468`**
- **`758`**
- **`759`**
- **`7758`**
- **`7759`**
- **`7760`**
- **`7761`**
- **`9467`**
- **`9994`**

### Komponen Bisnis (`components`) Terlibat:
- `FifoValasAverageMain`
- `FifoValasExtern`
- `FifoValasExternAverage`
- `FifoValasMain`
- `Jurnal`
- `Jurnal_activity`
- `Jurnal_activityMain`
- `LockerDebtValue`
- `LockerDiskonValue`
- `LockerPreDiskonValue`
- `LockerStockPlafonBankMutasiMain`
- `LockerValue`
- `LockerValueDetail`
- `LockerValueDetailItem`
- `LockerValueExternItem`
- `PaymentAntiSource`
- `PaymentSourceFaktur`
- `PaymentSourceItem2`
- `PaymentSrcItem`
- `PaymentSrcMain`
- `PaymentSrcUmItem`
- `PaymentUangMuka`
- `PaymentUangMukaCustomer`
- `Rekening`
- `RekeningKoran`
- `RekeningKoranMinus`
- `RekeningPembantuAntarcabang`
- `RekeningPembantuBank`
- `RekeningPembantuBiayaUmumMain`
- `RekeningPembantuBiayaUsahaMain`
- `RekeningPembantuCreditNote`
- `RekeningPembantuCustomer`
- `RekeningPembantuCustomerDetail`
- `RekeningPembantuKas`
- `RekeningPembantuLRLainlain`
- `RekeningPembantuPiutangSupplierDetailItem`
- `RekeningPembantuPiutangSupplierDetailMain`
- `RekeningPembantuPiutangSupplierDetailTransItem`
- `RekeningPembantuPiutangSupplierDetailTransProdukItem`
- `RekeningPembantuPiutangSupplierItem`
- `RekeningPembantuPiutangSupplierMain`
- `RekeningPembantuPphMain`
- `RekeningPembantuRekeningKoranMain`
- `RekeningPembantuRelasiRekeningKoran`
- `RekeningPembantuSupplier`
- `RekeningPembantuUangMuka`
- `RekeningPembantuUangMukaDetailReference`
- `RekeningPembantuUangMukaExternItem`
- `RekeningPembantuUangMukaExternMain`
- `RekeningPembantuUangMukaMain`
- `RekeningPembantuUangMukaMainReference`
- `RekeningPembantuUangMukaReference`
- `RekeningPembantuValas`
- `SelisihKurs`
- `SyncDiskonPembelian`
- `TransaksiGlobalUpdate`
- `TransaksiPengembalianUangReference`
- `TransaksiRelasiUpdateItem`
- `TransaksiStatusItem`
- `UangMukaValasSourceDetail`
- `UangMukaValasSourceMain`
