# 📄 PT. Everest - ERP Web - Modul Invoicing (Legacy)

Aturan spesifik untuk pengembangan, alur pembuatan invoice penjualan, dan piutang dagang pada modul legacy `invoicing` PT. Everest.

---

## 1. Kode Transaksi (`jenisTr`) & Alur Langkah

Modul ini memproses penagihan invoice penjualan resmi untuk transaksi retail/lokal:
*   **`4822`**: Invoicing — Pembuatan invoice tagihan resmi yang dikirimkan ke customer (piutang terbentuk).

---

## 2. Aliran Finansial & Jurnal Akuntansi

Modul `invoicing` memproses pengakuan piutang dagang dan pendapatan penjualan produk secara manual di tingkat controller (bukan melalui runner component dinamis):

### 2.1 Jurnal Pembukuan Resmi
*   **Debet:** `1010020010` (Piutang Dagang Customer)
*   **Kredit:** `4010110` (Pendapatan Penjualan Produk)
*   **Kredit:** `2010040050` (PPN Keluaran - jika PPN aktif)

### 2.2 Integrasi Uang Muka (DP) & Settlement
*   Mendukung pemotongan nilai tagihan menggunakan Uang Muka / Cash in Advance (CIA) yang telah dibayarkan sebelumnya oleh customer.
*   Invoice yang terbentuk akan dihubungkan secara eksternal (`extern2_id` = `refID`) ke modul **`penerimaan`** (AR Receipt) saat pelunasan piutang dilakukan.

---

## 3. Aturan Bisnis & Validasi

*   **Pengecekan Limit Kredit:** Memeriksa status kredit limit customer (`kredit_limit_order`). Jika total saldo piutang berjalan melebihi plafon limit kredit customer, pembuatan invoice akan diblokir kecuali mendapatkan otorisasi supervisor (`o_finance`).
*   **Pemindahan PPN:** Pada transaksi penjualan retail, nilai PPN digeser dari pembuatan sales order/packing list ke modul `invoicing` karena adanya pembulatan nilai dpp jika terdapat diskon tambahan.
*   **Tidak Menyentuh Stok Fisik:** Modul ini murni mencatat tagihan finansial, sehingga tidak melakukan mutasi stok fisik di level stock locker (tidak memanggil `penulisan ganda stock locker`).

---

## 🛠️ Lampiran Teknis (Hasil Audit Codebase)

### Berkas Konfigurasi Utama:
- `coTransaksiCore.php`

### Kode Transaksi (`jenisTr`) Terdaftar:
- **`4822`**

### Komponen Bisnis (`components`) Terlibat:
- *Tidak ada komponen terdaftar* (Pemrosesan manual menggunakan query direct dan custom logic di controller `Create.php` & `FollowUp.php`).
