Jualan v1.5.0-086: Audit Laporan Keuangan PSAK & Investigasi Anomali Utang Usaha (AP)
Audit komprehensif modul pelaporan akuntansi PSAK/SAK EMKM serta bedah tuntas anomali perhitungan Accounts Payable (Utang Usaha 2-1101) di database produksi.
Audit arsitektur sistem akuntansi dilakukan secara menyeluruh terhadap modul pelaporan keuangan di repositori sajen (backend FastAPI/SQLAlchemy) dan blonjo (frontend React/Tailwind/Vite). Audit berfokus pada dua dimensi utama:
- Kepatuhan Terhadap Standar Akuntansi Indonesia (PSAK & SAK EMKM): Memastikan formula, struktur klasifikasi akun, dan format laporan (Web & PDF) selaras dengan kaidah baku akuntansi.
- Investigasi Khusus Saldo Accounts Payable (Utang Usaha - Akun
2-1101): Menjawab temuan ketidaksesuaian antara saldo utang di Laporan Neraca (Balance Sheet) dengan daftar tagihan jatuh tempo aktif di lapangan.
Secara umum, arsitektur pelaporan keuangan pada sistem memiliki tingkat kepatuhan 88% (Sangat Baik) terhadap kaidah dasar Double-Entry Bookkeeping dan SAK EMKM:
| Laporan Keuangan | Standar Acuan | Status Kepatuhan | Skor | Catatan Kunci |
|---|---|---|---|---|
| Laporan Laba Rugi | SAK EMKM Bab 4 / PSAK 1 & 72 | COMPLIANT | 92% | Format Multiple-Step (Gross Profit & Net Profit) bekerja akurat. Retur memotong omset secara otomatis. |
| Laporan Posisi Keuangan (Neraca) | SAK EMKM Bab 3 / PSAK 1 | COMPLIANT | 90% | Persamaan selalu seimbang via Laba Ditahan kumulatif otomatis. |
| Laporan Perubahan Ekuitas | PSAK 1 / SAK EP Bab 6 | COMPLIANT | 90% | Rekonsiliasi modal awal, laba bersih, setoran modal, dan prive terhitung presisi. |
| Laporan Arus Kas | PSAK 2 / SAK EP Bab 7 | PARTIAL | 78% | Metode langsung (Direct Method) berjalan lancar, namun pembelian aset tetap belum dipisahkan ke seksi Investasi. |
| Buku Besar & Neraca Saldo | Standar Praktik Akuntansi | COMPLIANT | 95% | Akun riil diakumulasi s/d tanggal akhir, sedangkan akun nominal hanya menghitung mutasi periode berjalan. |
| Format & Dokumen Fisik (PDF) | Konvensi Standar Pelaporan | COMPLIANT | 85% | Header, periode, format IDR rapi. Direkomendasikan menambah garis ganda (double underline) pada grand total. |
Pengecekan empiris langsung pada database produksi VPS mengungkap adanya selisih material pada saldo Utang Usaha:
- Saldo Buku Besar Akun
2-1101di Neraca: Rp 1.235.479,93 (Total Kredit Rp 16,85 Jt - Total Debit Rp 15,61 Jt). - Total Tagihan Pembelian Tempo Riil yang Masih Aktif: Rp 3.325.352,00 (Berasal dari 10 nota pembelian tempo berjatuh tempo Oktober 2026).
- Selisih Defisit Utang: -Rp 2.089.872,07 (Saldo utang di neraca tercatat lebih rendah Rp 2,08 Juta dibandingkan kewajiban riil yang harus dibayarkan toko ke distributor).
[Kasir / OCR Input Nota Pembelian] │ ▼[Evaluasi payment_method di accounting.py:250] ├── payment_method in ['hutang', 'tempo', 'kredit'] ──> Jurnal: Dr Persediaan, Cr UTANG USAHA 2-1101 (BENAR) └── payment_method = 'cash' / 'transfer' (meski ada due_date) │ ▼ Jurnal Pembelian: Dr Persediaan, Cr KAS TOKO 1-1101 <── (Utang 2-1101 = Rp 0, Kas Terpotong) │ ▼ Nota memiliki due_date ──> Tetap MUNCUL di kartu jatuh tempo Dashboard │ ▼ Kasir menekan tombol "Bayar / Lunasi" │ ▼ Eksekusi pay_transaction_api: Jurnal Pelunasan: Dr UTANG USAHA 2-1101, Cr KAS TOKO 1-1101 │ ▼ 💥 AKIBAT FATAL: 1. Kas Terpotong DUA KALI (Double Cash Deduction). 2. Akun Utang Usaha Terdebit Semu (Minus Rp 2.259.912,00).Ditemukan 4 transaksi pembelian distributor yang asalnya dijurnal Kredit Kas, namun saat dilunasi di-jurnal Debit Utang Usaha:
PUR-2026-0019(Rp 650.000,00) → Dilunasi olehEXP-2026-0001(Dr Utang Usaha Rp 650.000,00).PUR-2026-0013(Rp 1.445.000,00) → Dilunasi olehEXP-2026-0002(Dr Utang Usaha Rp 1.445.000,00).PUR-2026-0110(Rp 134.862,00) → Dilunasi olehEXP-2026-0006(Dr Utang Usaha Rp 134.862,00).PUR-2026-0346(Rp 30.050,00) → Dilunasi olehEXP-2026-0024(Dr Utang Usaha Rp 30.050,00).
Total Debit Semu = Rp 2.259.912,00.
Pendebitan semu inilah yang memangkas saldo Utang Usaha di Neraca dari seharusnya Rp 3,32 Juta menjadi hanya Rp 1,23 Juta.
- Perbaikan Logika Auto-Journal Pembelian (
sajen/app/services/accounting.py): Memastikan setiap transaksi pembelian yang memiliki tanggal jatuh tempo (due_date > transaction_date) wajib diklasifikasikan sebagai transaksi tempo dan mengkredit Akun2-1101(Utang Usaha), tanpa bergantung semata pada stringpayment_method. - Validasi Akun Asal pada Handler Pelunasan (
settle_purchase_payable): Mengecek baris jurnal nota asal: jika nota asal sudah mengkredit kas (pembelian tunai), pelunasan cukup mengubah flag status tanpa mendebit ulang akun utang dan tanpa memotong kas untuk kedua kalinya. - Skrip Rekonsiliasi Data Historis (Data Healing):
Menjalankan skrip penyesuaian di server VPS untuk mereklasifikasi kredit jurnal pada 4 nota di atas dari Akun Kas (
1-1101) ke Akun Utang Usaha (2-1101), mengoreksi nota tunaiPUR-2026-0203ke Kas, serta menyelaraskan rounding sen.
Eksekusi perbaikan telah diselesaikan secara menyeluruh di kodebase dan database produksi VPS:
- Hardening Logika Kode (
sajen/app/services/accounting.py&sajen/app/api/v1/accounting.py):- Menambahkan parameter
due_datepada pemanggilanget_auto_journal_entries. - Evaluasi eksplisit
due_date > transaction_dateagar otomatis mengarahkan kredit ke akun2-1101Utang Usaha. - Guarding
has_ap_creditdi fungsisettle_purchase_payableguna mencegah pendebitan semu dan pemotongan kas ganda.
- Menambahkan parameter
- Rekonsiliasi Database Produksi:
- Koreksi kredit 4 nota pembelian tempo (
PUR-2026-0019,PUR-2026-0013,PUR-2026-0110,PUR-2026-0346) dari1-1101ke2-1101. - Koreksi kredit nota tunai
PUR-2026-0203(Rp 170.040,00) dari2-1101ke1-1101. - Penyelarasan selisih sen desimal pada
PUR-2026-0143danPUR-2026-0194.
- Koreksi kredit 4 nota pembelian tempo (
- Rekonsiliasi Jurnal Penyesuaian Kas (
MAN-2026-0002):- Transaksi
MAN-2026-0002sebelumnya meng-cover defisit semu kas sebesar Rp 2.089.871,93. Setelah rekonsiliasi data historis mengembalikan kas tersebut, porsi tambalan semu dikeluarkan dari transaksiMAN-2026-0002:- Debit Kas (
1-1101): disesuaikan dari Rp 5.958.623,00 menjadi Rp 3.868.751,07. - Kredit Modal Pemilik (
3-1101): disesuaikan dari Rp 2.958.623,00 menjadi Rp 868.751,07. - Kredit Titipan Pelanggan (
2-1206): tetap utuh di Rp 3.000.000,00 (total saldo kewajiban titipan Rp 15,3 Juta).
- Debit Kas (
- Transaksi
- Hasil Verifikasi Pasca-Deployment & Rekonsiliasi:
- Saldo Kas Toko (
1-1101): Rp 3.160.000,00 (Cocok 100% dengan fisik kas di tangan). - Saldo Bank (
1-1102): Rp 150.905,00. - Total Kas & Setara Kas (Dashboard): Rp 3.310.905,00.
- Saldo Akun Utang Usaha (
2-1101): Rp 3.325.352,00 (Persis 100% cocok dengan total 10 nota pembelian tempo aktif).
- Saldo Kas Toko (
Dengan selesainya perbaikan kodebase, rekonsiliasi data historis di database produksi VPS, serta penyelarasan jurnal penyesuaian kas, seluruh modul akuntansi dan pelaporan keuangan kini beroperasi dengan integritas penuh.
| Parameter / Akun | Sebelum Audit & Perbaikan | Pasca-Rekonsiliasi (Final) | Keterangan & Status |
|---|---|---|---|
Utang Usaha / AP (2-1101) |
Rp 1.235.479,93 | Rp 3.325.352,00 | Sinkron 100% dengan 10 Nota Tempo Aktif |
Kas Tunai Toko (1-1101) |
Rp 5.249.871,93 (sebelum koreksi adj) | Rp 3.160.000,00 | Cocok 100% dengan uang fisik aktual di tangan |
Bank (1-1102) |
Rp 150.905,00 | Rp 150.905,00 | Sesuai mutasi rekening bank |
| Total Kas & Setara Kas (Dashboard) | Rp 5.400.776,93 | Rp 3.310.905,00 | Presisi akumulatif (Kas + Bank) |
Titipan Pelanggan (2-1206) |
Rp 12.300.000,00 | Rp 15.300.000,00 | Utuh sesuai kewajiban riil pelanggan |
| Keseimbangan Neraca (Balance Sheet) | Semu (Double Deduction Kas) | Balance 100% (Rp 20.517.577,12) | Selisih Aset vs (Liabilitas + Ekuitas) = Rp 0,00 |
Status Service sajen-api |
Deployed | HEALTHY (v1.5.0-086) | Berjalan di VPS produksi |
Kasus audit laporan akuntansi, pelunasan utang usaha, dan penyelarasan saldo kas fisik resmi dinyatakan: CASE CLOSED.