# 💳 PT. INDOSAN - ERP Web - Modul Pembayaran

Aturan spesifik untuk pengembangan, pemotongan nota hutang/piutang (settlement), dan penjurnalan pada modul `pembayaran` PT. INDOSAN.

---

## 1. Kode Transaksi (`jenisTr`) & Alur Pelunasan

### 1.1 Pembayaran Hutang Dagang (AP Payment) — `462`
*   **Alur:** Pengajuan Pembayaran Hutang -> Persetujuan Otorisasi -> Eksekusi Kas/Bank keluar.
*   *Melunasi saldo hutang dagang (`2010010`) supplier berdasarkan nota Goods Received Note (GRN) yang dipilih.*

### 1.2 Penerimaan Piutang Dagang (AR Payment) — `682`
*   **Alur:** Penerimaan pembayaran piutang customer dari nota Invoice Penjualan (`582`).
*   *Memotong saldo piutang customer (`1010020010`) dan menambah saldo kas/bank.*

### 1.3 Transaksi Clearing & Pajak Masukan/Keluaran
*   **`4447`**: Clearing transfer/giro untuk pelunasan AP/AR.
*   **`487` / `489`**: Pembayaran & pelunasan pajak masukan / keluaran terelasi.
*   **`1483`**: Penyelesaian piutang relasi joint-venture (JV).

---

## 2. Alur Pengurangan Saldo Nota & Rekening Pembantu
*   **Peta Alokasi Pembayaran (Matching System):**
    *   Setiap kali pelunasan diposting, sistem akan mengupdate data status nota di tabel `transaksi` dan mencatat pengurangannya ke dalam `RekeningPembantuSupplier` (untuk AP) atau `RekeningPembantuCustomer` (untuk AR).
    *   Jika terjadi diskon pelunasan (cash discount), selisih nilai dicatat sebagai Beban Diskon Penjualan atau Pendapatan Diskon Pembelian.
*   **Penguncian Nota (Locking):** Nota yang sedang dalam status pengajuan pembayaran (`hold` payment) dikunci untuk mencegah pembayaran ganda oleh admin lain.

---

## 🛠️ Lampiran Teknis (Hasil Audit Codebase)

### Berkas Konfigurasi Utama:
- `coTransaksiCore.php`

### Kode Transaksi (`jenisTr`) Terdaftar:
- **`0`**
- **`1`**
- **`1120`**
- **`114`**
- **`115`**
- **`1424`**
- **`1462`**
- **`1475`**
- **`1477`**
- **`1483`**
- **`1485`**
- **`1487`**
- **`2`**
- **`2119`**
- **`4411`**
- **`4440`**
- **`4447`**
- **`4448`**
- **`462`**
- **`475`**
- **`476`**
- **`477`**
- **`4821`**
- **`483`**
- **`487`**
- **`489`**
- **`4891`**
- **`5682`**
- **`5684`**
- **`6475`**
- **`682`**
- **`7475`**
- **`8899`**
### Komponen Bisnis (`components`) Terlibat:
- `FifoValasAverageMain`
- `FifoValasExternAverageCreditNoteMain`
- `FifoValasExternAverageMain`
- `FifoValasExternCreditNoteMain`
- `FifoValasExternMain`
- `FifoValasMain`
- `Jurnal`
- `LockerStockPlafonBankMutasiMain`
- `LockerValue`
- `LockerValueExtern`
- `PaymentAntiSource`
- `PaymentAntiSourceValas`
- `PaymentDeposit`
- `PaymentSourceDetail`
- `PaymentSrcItem`
- `PaymentSrcItem2`
- `PaymentUangMuka`
- `Rekening`
- `RekeningKoranMinus`
- `RekeningPembantuAntarcabang`
- `RekeningPembantuBank`
- `RekeningPembantuBebanLainLain`
- `RekeningPembantuBiaya`
- `RekeningPembantuBiayaImport`
- `RekeningPembantuBiayaMain`
- `RekeningPembantuBiayaUsaha`
- `RekeningPembantuCustomerItem`
- `RekeningPembantuEfisiensiBiaya`
- `RekeningPembantuEfisiensiBiayaMain`
- `RekeningPembantuHpp`
- `RekeningPembantuHutangDevidenItem`
- `RekeningPembantuHutangPihakLain`
- `RekeningPembantuHutangSaham`
- `RekeningPembantuHutangSahamItem`
- `RekeningPembantuKas`
- `RekeningPembantuLRLainlain`
- `RekeningPembantuPph`
- `RekeningPembantuPphMain`
- `RekeningPembantuRekeningKoran`
- `RekeningPembantuRekeningKoranMain`
- `RekeningPembantuRelasiRekeningKoran`
- `RekeningPembantuSubSupplierItem`
- `RekeningPembantuSupplier`
- `RekeningPembantuSupplierItem`
- `RekeningPembantuSupplierJenis`
- `RekeningPembantuSupplierSubJenis`
- `RekeningPembantuUangMukaExternMain`
- `RekeningPembantuUangMukaMain`
- `RekeningPembantuValas`
- `RekeningValue`
- `SelisihKurs`
- `UangMukaValasSourceMain`