Jualan v1.5.0-085: Sales Delivery Fulfillment & Atomicity AP Settlement
Penyelesaian error serah terima barang SAL-2026-0070 (PSAK 72), integrasi endpoint delivery, dan pelunasan utang pembelian atomik.
1mnt baca
Pada versi v1.5.0-085, sistem Jualan (Sajen API & Blonjo UI) memperluas kapabilitas siklus penjualan DP (Customer Deposit) dan pelunasan hutang pembelian:
-
Fitur Serah Terima Barang / Sales Delivery Fulfillment (
sajen/app/services/accounting.py):- Menambahkan fungsi atomik
fulfill_sales_deliveryuntuk memproses penyerahan barang pada transaksi penjualan bertipe uang muka (SALESdengancustomer_depositseperti pada transaksiSAL-2026-0070). - Kepatuhan PSAK 72:
- Mendebit Akun
2-1402(Uang Muka Penjualan) untuk menghapus liabilitas titipan pelanggan. - Mengkredit Akun
4-1101(Pendapatan Penjualan) untuk mengakui pendapatan terealisasi. - Mengeluarkan stok fisik produk pada
inventory_logs(log_type = 'out') dan memotong stok statis jika stock maintenance aktif. - Membukukan jurnal HPP otomatis: Debit
5-1101(Beban Pokok Penjualan) dan Kredit1-1301(Persediaan Barang Dagang). - Menandai transaksi asal menjadi
payment_method = 'lunas'dan menghapusdue_dateagar hilang dari kartu kewajiban jatuh tempo.
- Mendebit Akun
- Menambahkan fungsi atomik
-
Endpoint Terisolasi & Graceful Fallback (
sajen/app/api/v1/accounting.py):- Menambahkan endpoint dedicated:
POST /transactions/{transaction_id}/deliverdengan skemaTransactionDeliveryRequest. - Menambahkan graceful routing pada endpoint
POST /transactions/{transaction_id}/pay: jika transaksi yang dituju bertipeSALES, request secara otomatis dialihkan kefulfill_sales_deliverysehingga tidak lagi memicu errorHTTP 400 Bad Request: Only purchase transactions can be paid off.
- Menambahkan endpoint dedicated:
-
Refactoring Antarmuka Dashboard (
blonjo/src/pages/Dashboard.tsx):- Memisahkan modal aksi: Transaksi
SALES/customer_depositkini membuka dialog khusus “Konfirmasi Serah Terima Barang” yang memanggil endpoint/deliver. - Transaksi pembelian
PURCHASEtetap membuka dialog “Proses Pelunasan Hutang” dengan pemilihan akun Kas/Bank.
- Memisahkan modal aksi: Transaksi