Panduan Arsitektur & Alur Retur (Return Flow)
Di Codeverta ERP, proses retur tidak pernah mengubah atau menghapus dokumen transaksi lama (Sales Order / Delivery Note / Sales Invoice yang sudah selesai). Sebagai gantinya, sistem membuat dokumen retur khusus yang mereferensikan transaksi awal.
Prinsip ini sangat penting agar histori penjualan, audit trail akuntansi, serta perhitungan stok gudang tetap konsisten dan transparan.
1. Alur Transaksi Normal vs Retur
Alur Normal
Quotation (Opsional) ──► Sales Order ──► Delivery Note ──► Sales Invoice ──► Payment Entry
Alur Retur Produk / Tagihan
Delivery Note ────► Delivery Note Return (Stok kembali ke gudang)
Sales Invoice ────► Sales Invoice Return (Credit Note / Refund Keuangan)
2. Jenis Skenario Retur
Skenario A: Barang Kembali ke Gudang (Stok Bertambah)
Jika barang dikembalikan oleh pelanggan dan masuk kembali ke inventoris gudang:
- Dibuat dokumen Delivery Note Return melalui endpoint
POST /api/stock/delivery-notes/:id/return. - Dampak Sistem:
- Stok fisik di gudang bertambah (Stock Movement IN).
- Stok pada pelanggan berkurang.
Skenario B: Pengembalian Uang / Kredit (Return Keuangan)
Jika pelanggan meminta pengembalian uang atau pemotongan piutang:
- Dibuat dokumen Sales Invoice Return via
POST /api/selling/sales-invoices/:id/return. - Dokumen retur memiliki nilai kuantitas dan nominal negatif (contoh:
2 pcs x Rp100.000 = -Rp200.000). - Dampak Sistem: Mengurangi nilai pendapatan bersih (Net Sales) dan piutang/kas pelanggan.
Skenario C: Penukaran Barang (Exchange)
Jika pelanggan mengembalikan barang rusak dan meminta barang pengganti:
Delivery Note Return (Barang lama masuk gudang)
│
▼
Delivery Note Baru (Barang pengganti keluar dari gudang)
Dua dokumen terpisah dicatat agar mutasi fisik kedua item tercatat akurat.
Skenario D: Barang Rusak & Tidak Dikembalikan (Non-Returnable Damage)
Jika barang rusak di tempat pelanggan dan perusahaan mengizinkan refund tanpa mengembalikan produk fisik:
- Dibuat Sales Invoice Return (Credit Note) tanpa membuat Delivery Note Return.
- Stok di gudang tidak mengalami penambahan, namun keuangan pelanggan disesuaikan.
3. Ringkasan Dokumen Retur
| Kondisi Pengembalian | Dokumen Yang Diterbitkan | Efek Stok Gudang | Efek Keuangan |
|---|---|---|---|
| Barang fisik masuk gudang | Delivery Note Return | Bertambah (+) | Tidak berubah |
| Pengembalian uang / Kredit | Sales Invoice Return | Tidak berubah | Pendapatan Berkembang (-) |
| Penukaran barang | Delivery Note Return ➔ Delivery Note Baru | Netral / Sesuai barang | Disesuaikan jika ada selisih |
| Barang tidak fisik dikembalikan | Sales Invoice Return (Credit Note) | Tidak berubah | Tagihan Berkurang (-) |