Lanjut ke konten
Samkarsa Logbook

v1.0.0-045 — Perbaikan Rekonsiliasi Total Transaksi saat Parsing Item

Menghitung ulang total_amount transaksi secara otomatis berdasarkan hasil penjumlahan per item jika terjadi ketidakcocokan nominal dengan teks nota/struk.

1mnt baca

sajen/app/api/v1/accounting.py)

  • Masalah: Ketika nota/struk memiliki header atau teks “Total: 182515” (misal kesalahan OCR/cetak nota), namun rincian item (6 item @ 790 + 1 item @ 2703 = 70.395) menunjukkan angka yang berbeda, backend sebelumnya mempertahankan nominal salah 182515.
  • Perbaikan: Mengubah logika pasca-proses parsing pada parse_transaction agar saat item rincian valid (calculated_total > 0) dan terdapat selisih dengan total_amount, backend secara otomatis memaksa total_amount disesuaikan dengan hasil penjumlahan matematis item riil (70.395).

mcp-server/src/tools/transactionParser.ts) & Blonjo (blonjo/src/lib/parsePrompt.ts)

  • Perbaikan: Memperbarui aturan Rule 6 & Rule 10 pada prompt parseTransactionSystemPrompt di mcp-server dan blonjo. AI diinstruksikan secara mutlak untuk memverifikasi matematika penjumlahan item (qty * unit_price - discount) dan mengabaikan angka total teks nota jika terjadi salah hitung.

ParsePreview.tsx & useSmartNote.ts)

  • Perbaikan:
    • useSmartNote.ts: Mengkalkulasi ulang total_amount dari item saat data diterima dari Ollama maupun Server API.
    • ParsePreview.tsx: Menambahkan auto-sync di useEffect UI preview sehingga jika nominal total_amount berbeda dari hasil penjumlahan tabel item, UI otomatis menyesuaikannya tanpa perlu edit manual.