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_transactionagar saat item rincian valid (calculated_total > 0) dan terdapat selisih dengantotal_amount, backend secara otomatis memaksatotal_amountdisesuaikan 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
parseTransactionSystemPromptdimcp-serverdanblonjo. 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 ulangtotal_amountdari item saat data diterima dari Ollama maupun Server API.ParsePreview.tsx: Menambahkan auto-sync diuseEffectUI preview sehingga jika nominaltotal_amountberbeda dari hasil penjumlahan tabel item, UI otomatis menyesuaikannya tanpa perlu edit manual.