# 📘 Panduan Modul: Penjualan Reseller (Kemitraan Reseller)

## 1. Kode Transaksi & Tipe (`jenisTr`)
Modul ini mengelola transaksi penjualan produk jadi khusus untuk mitra dengan skema harga reseller (diskon bertingkat / komisi agen):
- **`58` (Varian Reseller)**: Penjualan Reseller / Kemitraan Agen

---

## 2. Aliran Finansial & Mutasi Persediaan
Mencatat pengurangan stok barang jadi dan pengakuan piutang reseller:

### Akun & Persediaan Terkait:
- **`1010020010`**: Piutang Dagang Reseller - Didebet saat barang dikirim.
- **`1010030030`**: Persediaan Finished Goods (FG) - Dikredit berdasarkan antrean FIFO.
- **`4010`**: Pendapatan Penjualan Reseller.
- **Stock Locker & FIFO**: Mengeluarkan stok barang dari gudang pengirim dengan komponen `LockerStock` dan mencatat HPP penjualan reseller menggunakan kartu FIFO.

---

## 3. Aturan Bisnis & Integrasi Modul
- Harga jual per item secara otomatis disesuaikan dengan level kemitraan reseller yang terdaftar pada profil pelanggan.

---

## 🛠️ Lampiran Teknis (Hasil Audit Codebase)

### Berkas Konfigurasi Utama:
- `coTransaksiCore.php`

### Kode Transaksi (`jenisTr`) Terdaftar:
- **`1980`**
- **`580`**
- **`582`**
- **`980`**

### Komponen Bisnis (`components`) Terlibat:
- `FifoAverage`
- `FifoProdukJadi`
- `Jurnal`
- `LockerStock`
- `LockerStockMutasi`
- `LockerValue`
- `PaymentAntiSource`
- `PaymentAntisourceCustomer`
- `PriceProtector`
- `ProdukSerialNumberExtractor`
- `Rekening`
- `RekeningPembantuCustomer`
- `RekeningPembantuCustomerDetail`
- `RekeningPembantuHpp`
- `RekeningPembantuLRLainlain`
- `RekeningPembantuPenjualan`
- `RekeningPembantuPenjualanKonsumen`
- `RekeningPembantuPenjualanSeller`
- `RekeningPembantuProduk`
- `RekeningPembantuReseller`
- `RekeningPembantuReturnPenjualan`
- `RekeningPembantuReturnPenjualanItemByJenis`
- `RekeningPembantuReturnPenjualanItemByProdukJenis`
- `RekeningPembantuReturnPenjualanKonsumen`
- `RekeningPembantuReturnPenjualanSeller`
- `RekeningValueDetail`
- `ReleaserDueDate`
- `Signature`
- `Sync2GatesRsltItems`
- `TransaksiItemReturnUpdate`
- `TransaksiKreditLimit`
- `TransaksiStepUpdater`
- `ValidateNewPL`
