COD via JNE: Order, Generate Resi & Settle
Alur COD end-to-end: buat order COD, resi manual-only lewat tombol Generate Resi, dan settle otomatis saat paket DELIVERED.
Alur COD
CS membuat order dengan metode **COD** (form create-order otomatis pakai tarif JNE). Order COD **tidak pernah auto-booking resi** — resi asli (cnote JNE) baru dibuat saat CS menekan tombol **"Generate Resi (COD)"** di detail order (bagian Pembayaran) atau di drawer order halaman chat.
httpPOST /api/orders/:id/generate-awbEndpoint per-order ini bisa dipakai role CS (gate: `manage_fulfillment` ATAU `edit_shipping_info`). Booking COD memakai akun customer JNE khusus COD dengan `OLSHOP_COD_FLAG=YES` dan nominal tagihan = total order.
Anti tagih dua kali
Order bermetode COD yang statusnya sudah PAID/SETTLEMENT dibooking **PREPAID** (flag N) — kurir tidak akan menagih cash untuk order yang sudah dibayar.
Settle saat DELIVERED
Scan **DELIVERED** dari JNE = momen pembayaran COD: omzet COD diakui pada `delivered_at` (tren sales), lead pindah ke Paid (poin CS ter-kredit sekali, idempoten), dan audit `cod_settled_at_delivery` tercatat. Berlaku dari semua jalur: auto-sync JNE 15 menit, tombol Sync Status, ubah status manual, scan gudang.
EST Payment COD
Dashboard menampilkan **EST Payment COD** harian = perkiraan kas masuk dari order COD yang dibuat pada periode itu, dihitung dari **nilai barang saja** (subtotal − diskon; ongkir & fee COD tidak ikut). Terpisah dari penjualan terealisasi.