18

Audit Master Bagan Akun (COA SAK EP) & Remediasi 2026

Updated: Sep 2026Oleh: SystemModul Keuangan & Akuntansi

Laporan Audit Master Bagan Akun (COA SAK EP) & Rencana Aksi Remediasi 2026

Entitas: BUMDes Mitra Jaya Bersama (Desa Bolulango) Standar Akuntansi: Standar Akuntansi Keuangan Entitas Privat (SAK EP) & PP No. 11 Tahun 2021 Tanggal Audit: 15 September 2026 Status Audit: Rekomendasi Siap Eksekusi (Actionable Remediation Roadmap)


1. Ringkasan Eksekutif & Metrik Audit#

Audit komprehensif terhadap seluruh basis data Bagan Akun (Chart of Accounts / COA) BUMDes Bolulango dilaksanakan dengan memindai berkas benih induk seed.sql, 174 berkas migrasi aktif, konstanta kode akun, serta seluruh rujukan kode pada logika aplikasi (Server Actions dan komponen UI).

Tabel Metrik Inventarisasi Akun

Parameter AuditNilai MetrikKeterangan & Status Evaluasi
Total Akun Terdaftar (Unified Master)184 AkunRegistri menyeluruh mencakup benih dan migrasi
Akun Master Resmi di seed.sql133 AkunTerdaftar pada data inisialisasi master BUMDes
Akun "Migration-Only" (Belum di-seed)51 AkunBerisiko hilang jika inisialisasi ulang database dijalankan
Tabrakan Definisi Kode (Code Collision)8 KasusKRITIKAL: Satu kode dipakai untuk fungsi berlawanan
Anomali Pola & Struktur Nomenklatur16 KasusTINGGI: Akun Piutang berada di kelompok Persediaan
Anomali Saldo Normal (Case-Sensitivity)14 KasusSEDANG: Nilai 'debit' huruf kecil vs 'DEBIT' kapital
Kode Dirujuk di Codebase tapi Belum Ada di DB30 KasusTINGGI: Potensi query gagal (null pointer) di modul keuangan
Keseimbangan Pasangan RK Antar Kantor27 Aset vs 1 LiabilitasPerlu penegasan mekanisme eliminasi konsolidasi

2. Dimensi 1: Analisis 8 Tabrakan Definisi Kode (Code Collisions)#

Tabrakan kode terjadi ketika migrasi fitur baru menggunakan kode yang sebelumnya telah dialokasikan untuk pos lain pada data benih induk, sehingga terjadi konflik integritas data (unique constraint conflict atau penimpaan semantik):

[Tabrakan Kode 4-301 di 4 Berkas Berbeda]
├── seed.sql: "Penjualan Internal ke Unit Lain" (Eliminasi Konsolidasi)
├── 003_financial.sql: "Pendapatan Bunga Bank"
├── 004_operational.sql (Line 2275): "Pendapatan Jasa Pariwisata & Tiket"
└── 004_operational.sql (Line 2842): "Pendapatan Panen Cabai"

Tabel Rincian 8 Kasus Tabrakan Kode:

NoKode AkunDefinisi di seed.sqlDefinisi di Berkas MigrasiLokasi MigrasiAnalisis Dampak Finansial & Solusi SAK EP
14-301Penjualan Internal ke Unit Lain (Eliminasi Intercompany)Pendapatan Bunga Bank003_financial...sql:635Merusak Eliminasi Konsolidasi. Bunga bank tercampur eliminasi. Pendapatan bunga bank dialihkan ke kode baku 4-201.
24-301Penjualan Internal ke Unit Lain (Eliminasi Intercompany)Pendapatan Jasa Pariwisata & Tiket004_operational...sql:2275Pendapatan tiket wisata akan terhapus saat laporan konsolidasi holding dihitung. Dialihkan ke 4-401.
34-301Penjualan Internal ke Unit Lain (Eliminasi Intercompany)Pendapatan Panen Cabai004_operational...sql:2842Omzet panen cabai terhapus di konsolidasi. Dialihkan ke 4-204.01 (Sub-akun Panen Hortikultura).
45-301Pembelian Internal dari Unit Lain (Eliminasi Intercompany)HPP - Produk UMKM / Oleh-oleh004_operational...sql:2275HPP toko oleh-oleh pariwisata tereliminasi secara keliru. Dialihkan ke 5-101.02 (HPP Ritel / UMKM).
55-301Pembelian Internal dari Unit Lain (Eliminasi Intercompany)HPP Saprotan Cabai004_operational...sql:2842HPP benih/pupuk cabai tereliminasi. Dialihkan ke 5-102.04 (HPP Saprotan Hortikultura).
65-215Beban Pemeliharaan & Perbaikan AsetBeban Pajak BUMDes (PPh & Retribusi)003_financial...sql:736Beban pajak tercatat sebagai biaya renovasi gedung/mesin. Dialihkan ke kode resmi 5-203 (Beban Pajak Daerah & Retribusi).
74-201Pendapatan Bunga Bank (Konvensional)Pendapatan Margin Murabahah (USPPS)013_usp_sprint3...sql:55Margin pembiayaan syariah tercatat sebagai bunga bank konvensional. Dialihkan ke kode khusus 4-604.
84-105Penjualan Kredit / Tempo (Toko POS)Pendapatan Fee Bursa Saham004_operational...sql:2636Fee bursa tercatat sebagai penjualan sembako tempo. Dialihkan ke 4-305 (Telah selesai di-resolve).

3. Dimensi 2: Anomali Nomenklatur & Struktur Akun#

3.1. Penempatan Piutang Karyawan di Bawah Persediaan Pakan (1-105)

Pada berkas seed.sql, ditemukan 16 akun piutang karyawan per unit kerja yang diberi kode awalan 1-105-xxxx:

Akun Induk: 1-105 -> Persediaan Pakan Ternak (ASSET - INVENTORY)
├── 1-105.01 -> Persediaan Obat
├── 1-105.02 -> Persediaan Vaksin
├── 1-105.03 -> Persediaan Vitamin & Suplemen
└── 1-105-4acd s/d 1-105-f446 (16 Akun) -> "Piutang Karyawan" (ANOMALI)

Analisis Standar SAK EP: Persediaan (Inventory) dan Piutang (Receivables) adalah kelompok aset lancar yang berbeda secara fundamental. Menempatkan piutang pinjaman karyawan di bawah kode persediaan pakan ternak menyebabkan nilai stok barang dagang BUMDes mengalami distorsi. Solusi: Seluruh akun piutang karyawan dipindahkan ke pos Piutang resmi 1-114-xxxx dengan akun induk 1-114 (Piutang Karyawan / Kasbon).


4. Dimensi 3: Inkonsistensi Saldo Normal (Case-Sensitivity)#

Sebanyak 14 akun pada seed.sql memiliki atribut normal_balance = 'debit' (huruf kecil), sementara seluruh skema tabel dan kode aplikasi mengharapkan huruf kapital 'DEBIT' atau 'CREDIT':

  1. 1-105.01 (Persediaan Obat)
  2. 1-105.02 (Persediaan Vaksin)
  3. 1-105.03 (Persediaan Vitamin & Suplemen)
  4. 1-602 (Piutang Antar Kantor RKAK)
  5. 1-602.01 (RK Unit Peternakan Ketapang)
  6. 1-603.01 (RK Unit Jasa Sewa Viar)
  7. 1-606 (RK Unit Pamsimas)
  8. 1-607 (RK Unit Internet Desa)
  9. 1-608 (RK Unit Pertanian Horti)
  10. 1-608.01 (RK Unit Pertanian Palawija)
  11. 1-612 (RK Sub-Unit Penggemukan Sapi)
  12. 1-613 (RK Sub-Unit Hortikultura KTPG)
  13. 1-614 (RK Sub-Unit Trading KTPG)
  14. 5-215 (Beban Pemeliharaan & Perbaikan Aset)

Rekomendasi: Standardisasi kapitalisasi serentak melalui eksekusi SQL UPPER(TRIM(normal_balance)).


5. Dimensi 4: Kesenjangan 30 Kode Aktif di Codebase Belum Ada di DB#

Terdapat 30 kode akun yang telah digunakan dalam logika bisnis TypeScript (Server Actions, kalkulasi eliminasi konsolidasi, atau penutupan buku tahunan), tetapi baris datanya belum tercatat di tabel public.coa:

Kode AkunNama / Fungsi FinansialModul Pengguna di Aplikasi
1-805RK Unit Simpan Pinjam Syariah (Piutang Antar Kantor)consolidated-matrix.ts, closing.ts, account-codes.ts
2-805RK Kantor Pusat (Kewajiban Antar Kantor di USPPS)consolidated-matrix.ts, finance/report.ts
1-105.04Persediaan Bahan Baku Pakan Ternak (Jagung, Dedak, Premix)inter_unit_transfer.ts, feedmill-mapping.ts
1-303Persediaan Pakan Jadi / Konsentrat Ternakinter_unit_transfer.ts, account-codes.ts
5-211Beban Kesehatan & OVK Ternaklivestock-finance.ts, account-codes.ts
1-104.01Persediaan Saprotan Yarnen (Kredit Saprodi Petani)usp/yarnen.ts
1-102.01 - .04Rekening Bank BPD per Unit Usaha (USP, Bio, KTPG, Toko)account-codes.ts, global-account-mappings.ts
1-109.01Uang Muka Pembelian Pakanaccount-codes.ts, global-account-mappings.ts
1-114Piutang Karyawan / Kasbon (Akun Induk)account-codes.ts
1-131 & 1-132Piutang Pembiayaan Murabahah & Mudharabahaccount-codes.ts
2-108Utang Iuran BPJS Ketenagakerjaan & Kesehatanaccount-codes.ts
3-999Saldo Penyeimbang Migrasi (Historical Balancing)account-codes.ts, consolidated-matrix.ts
4-103.01 / .02Penjualan Telur Grosir (B2B) & Retail (B2C)account-codes.ts, global-account-mappings.ts
4-403Pendapatan Jasa Giling Pakan Maklonaccount-codes.ts, feedmill-mapping.ts
5-601 / 5-602Beban Bagi Hasil Mudharabah & Bonus Wadiahaccount-codes.ts
5-217 / 5-218Beban Laboratorium Uji Nutrisi & Kalibrasi Mesinaccount-codes.ts, global-account-mappings.ts
5-910Beban Cadangan Kerugian Pembiayaan Murabahahaccount-codes.ts, global-account-mappings.ts

6. Dimensi 5: 51 Akun "Migration-Only" Belum Masuk ke seed.sql#

Sebanyak 51 akun operasional riil yang dihasilkan dari sprint modul terdahulu belum terintegrasi ke dalam seed.sql:

  1. 16 Kas Tunai Unit: 1-101.05 s/d 1-101.22 (Pariwisata, Kuliner, Alsintan, Logistik, Pakan, Syariah, dll.).
  2. 9 Rekening Koran Unit: 1-616 s/d 1-624 (RK Cabai, Jagung, Padi, Manufaktur, Pabrik Pakan, Konveksi, dll.).
  3. 4 Utang Pajak PPh/PPN: 2-105.01 (PPh 21), 2-105.02 (PPh 23), 2-105.03 (PPh Final), 2-105.04 (PPN Keluaran).
  4. 3 Utang SHU: 2-304 (SHU Bonus Karyawan), 2-305 (SHU Dana Pendidikan), 2-306 (SHU Anggota USP).
  5. Akun Finansial Khusus: 2-204 (Dompet P2P), 1-113 (Piutang Murabahah), 1-120 (Agunan Sitaan AYDA).
  6. Akun Pabrik Pakan: 4-106 (Penjualan Pakan Surplus), 5-305 (BBM/Listrik Pakan), 5-310 (Servis Mesin), 5-399 (Depresiasi Pabrik).
  7. Akun Potensi E-Commerce: 1-115 (QRIS Gateway), 1-107.20 (Persediaan UMKM), 2-205 (Titipan Ongkir), 2-206 (Sewa Dimuka), 2-207 (Hutang Konsinyasi UMKM), 4-302 (Omzet E-Commerce), 4-303 (Sewa Lahan), 4-304 (Komisi Konsinyasi).
  8. Akun Ekuitas Khusus: 3-120 (Modal Hibah/Donasi), 3-201 (Dana Cadangan Umum).

7. Rencana Aksi Remediasi Komprehensif (Remediation Roadmap)#

Pelaksanaan perbaikan direkomendasikan secara bertahap dan teruji untuk menjamin stabilitas sistem dan integritas jurnal akuntansi yang telah berjalan:

[Tahap 1: Resolusi Tabrakan Kode] ──────► [SELESAI / DONE]
 │
 ▼
[Tahap 2: Standardisasi Piutang Karyawan] ──► [SELESAI / DONE]
 │
 ▼
[Tahap 3: Kapitalisasi Saldo Normal] ───► [SELESAI / DONE]
 │
 ▼
[Tahap 4: Injeksi Akun Missing & Sinkronisasi] ─► [SELESAI / DONE]

Rincian Pelaksanaan per Tahap:

Tahap 1: Resolusi Tabrakan Kode Akun (SELESAI)

  • Berkas migrasi: 175_comprehensive_coa_remediation_p1.sql (Commit ec4ca4e7).
  • Alihkan:
  • Bunga Bank -> 4-201
  • Jasa Wisata & Tiket -> 4-401
  • Panen Cabai -> 4-204.01
  • HPP Produk UMKM -> 5-101.02
  • HPP Saprotan Cabai -> 5-102.04
  • Beban Pajak BUMDes -> 5-203
  • Margin Murabahah -> 4-604
  • Tetapkan 4-301 dan 5-301 murni 100% untuk akun eliminasi konsolidasi intercompany.

Tahap 2: Standardisasi Piutang Karyawan (SELESAI)

  • Berkas migrasi: 176_comprehensive_coa_remediation_p2.sql (Commit 0c666ac1).
  • Daftarkan akun induk 1-114 (Piutang Karyawan / Kasbon).
  • Relokasi 16 akun unit 1-105-xxxx menjadi 1-114-xxxx dan tautkan ke parent_id akun 1-114.
  • Perbarui seed.sql, seed_piutang_karyawan.sql, dan lookup akun kasbon di lib/actions/hrm.ts.
  • Menjamin saldo historis tetap aman karena relasi transaksi mengikat pada id (UUID), bukan string kode.

Tahap 3: Kapitalisasi Saldo Normal (SELESAI)

  • Berkas migrasi: 177_comprehensive_coa_remediation_p3.sql (Commit 2715c416).
  • Eksekusi pembersihan nilai string saldo normal:
sql
UPDATE public.coa 
SET normal_balance = UPPER(TRIM(normal_balance)),
updated_at = now()
WHERE normal_balance IS NOT NULL 
AND normal_balance != UPPER(TRIM(normal_balance));
  • Tambahkan CHECK constraint chk_coa_normal_balance (CHECK (normal_balance IN ('DEBIT', 'CREDIT'))).
  • Tambahkan Trigger otomatis trg_normalize_coa_normal_balance pada public.coa (BEFORE INSERT OR UPDATE).
  • Perbarui fungsi get_trial_balance dan get_account_balance_at_date agar kebal variasi huruf (UPPER(TRIM(...)) = 'DEBIT').
  • Bersihkan seluruh 14 kemunculan huruf kecil 'debit' pada seed.sql menjadi 'DEBIT'.
  • Perbarui pengecekan badge di COAClient.tsx agar case-safe.

Tahap 4: Injeksi Akun Missing & Sinkronisasi Total seed.sql (SELESAI)

  • Berkas migrasi: 178_comprehensive_coa_remediation_p4.sql (Commit 6ca5b4cf).
  • Injeksi 81 akun operasional riil dan missing accounts ke database public.coa (ON CONFLICT (code) DO UPDATE).
  • Sinkronisasi total ke supabase/seed.sql: kini memuat 220 akun master unik tanpa duplikasi (0 collision).
  • Selaraskan seluruh konstanta di lib/constants/account-codes.ts (termasuk penambahan RK_USP_PAYABLE: '2-805') dan lib/constants/global-account-mappings.ts.
  • 100% kode akun yang dirujuk di kode aplikasi terverifikasi eksis di master COA.

Tahap 5: Sinkronisasi Menyeluruh Dokumentasi Akuntansi & Master COA SAK EP (SELESAI)

  • Selaraskan dokumen acuan utama STANDAR_AKUNTANSI_COA.md: kini memuat seluruh 220 akun resmi terstandardisasi SAK EP (termasuk 1-114 Kasbon beserta 16 sub-akun unit, 1-805/2-805 Kliring Syariah, 4-604 Margin Murabahah, 4-201 Bunga Bank Operasional, dan pemurnian 4-301/5-301 Eliminasi Konsolidasi).
  • Perbarui AKUNTANSI_COA.md di root repository: bersihkan klasifikasi usang 6-xxx/7-xxx, beralih penuh ke 5 kategori murni SAK EP.
  • Perbarui seluruh dokumen modul operasional simpan pinjam syariah (02_AKUNTANSI_USPPS_SYARIAH.md, PANDUAN_OPERASIONAL_AKAD_MURABAHAH_DAN_WADIAH_PSAK_102.md, PANDUAN_DUAL_UNIT_USP_DAN_USPPS.md, SOP_PEMBIAYAAN_TANI_YARNEN.md, 07_SKENARIO_TESTING_QA.md, 09_INTEGRASI_PIHAK_KETIGA.md) ke kode akun baku 4-604 dan 1-101.13.
  • Perbarui spesifikasi teknis (SPESIFIKASI_TEKNIS_DUAL_TRACK_DAN_DUAL_BANKING.md, CONSOLIDATION_AND_HIERARCHY.md, ARCHITECTURE_ERP_UNITS.md, ERP_INTEGRATED_ROADMAP.md).
  • Perbarui dokumen unit produksi Ketapang & Feedmill (07_STANDAR_AKUNTANSI_DAN_COA_KETAPANG.md, STANDAR_AKUNTANSI_DAN_COA_PABRIK_PAKAN.md, PANDUAN_OPERASIONAL_DAN_USER_MANUAL_MODUL_PAKAN.md).
  • Audit kepatuhan standar dokumentasi: npm run verify:docs (43/43 checks PASSED), Jest unit tests (26/26 PASSED), dan tsc --noEmit (0 errors).

Laporan Audit SAK EP v2026.2 — Divisi Keuangan & Tim Pengembang BUMDes Bolulango.

Apakah panduan ini membantu Anda?