Lanjut ke konten
Samkarsa Logbook

Jualan v1.5.0-076: Purchase Perpetual Journal Fix & Safe Sales-Exclusive DP Intent Isolation

Perbaikan jurnal perpetual pembelian: isolasi mutlak Uang Muka (DP) hanya untuk transaksi penjualan, pemulihan akun persediaan 1-1301, dan self-balancing desimal.

1mnt baca

Pada versi v1.5.0-076, ekosistem Jualan (Sajen API & Blonjo UI) disempurnakan untuk menuntaskan anomali jurnal otomatis pada transaksi pembelian dari nota distributor:

  1. Isolasi Mutlak DP Intent pada Transaksi Penjualan (sajen/app/services/accounting.py):

    • Memperbaiki is_dp_transaction dan is_dp_customer di lapisan service akuntansi agar hanya dievaluasi pada trans_type == TransactionType.SALES.
    • Menghilangkan celah filter eliminasi akun 1-13* (Persediaan Barang Dagang) pada transaksi pembelian (PURCHASE). Sebelumnya, varian produk seperti SOKLIN POWDET DET EDP memicu false-positive substring "dp " sehingga akun 1-1301 terhapus dari suggested_entries.
    • Mengganti seluruh pencocokan kata kunci "dp " menjadi regex word boundary aman \b(dp|down\s*payment|uang\s*muka|panjar)\b.
  2. Jurnal Otomatis 3 Akun Lengkap & Seimbang:

    • Transaksi pembelian kini selalu menghasilkan 3 baris akun standar:
      • 1-1301 Persediaan Barang Dagang (Debit)
      • 1-1401 PPN Masukan (Debit)
      • 1-1101 Kas / Bank / Hutang (Kredit)
    • Total Debit dan Total Kredit terbukti seimbang 100% dan dapat langsung disimpan tanpa error.
  3. Self-Balancing & Agregat Ratio Modal Konfirmasi (blonjo/src/pages/transaction/hooks/useSmartConfirm.ts):

    • Memperbarui kalkulasi rasio penskalaan agar dihitung dari total nominal agregat (Math.max(totalDebit, totalCredit)), bukan dari baris tunggal (anchor).
    • Menambahkan mekanisme penyeimbang otomatis (self-balancing) untuk selisih pembulatan desimal (diff = sumDebit - sumCredit), menjamin modal konfirmasi jurnal selalu balance.