Lanjut ke konten
Samkarsa Logbook

Jualan v1.5.0-062: Dynamic Operational Expense & Smart Sub-account Classification

Penyempurnaan penjurnalan biaya operasional dinamis: isolasi beban operasional umum dari akun gaji/akrual PPh 21, resolusi cerdas sub-akun beban (BBM, utilitas, sewa, pemasaran), dan garansi pemotongan kas/bank langsung.

Engineering Log2mnt baca

Pada sistem akuntansi sebelumnya, template pemetaan jurnal (JournalMapping) untuk tipe transaksi EXPENSE secara hardcoded diarahkan ke akun penggajian akrual:

  • (D) [6-1101] Beban Gaji & Upah
  • (K) [2-1202] Hutang PPh 21
  • (K) [2-1201] Utang Gaji

Ketika pengguna menginput transaksi pengeluaran operasional umum seperti:

“Biaya Operasional bulan Agustus 2026 sebesar 524.145”

Sistem yang memilih tipe EXPENSE secara keliru menghasilkan jurnal 3-baris akrual gaji tanpa memotong saldo kas/bank ([1-1101] / [1-1102]), sehingga saldo kas fisik dan buku kas di aplikasi menjadi tidak selaras.


Template jurnal untuk EXPENSE dan OPERATIONAL di database distandarkan menjadi jurnal pengeluaran kas 2-baris:

  • Debit: [6-9000] Beban Operasional Lainnya (sebesar total_amount)
  • Kredit: [1-1101] Kas di Tangan (sebesar total_amount)

Mesin penjurnalan get_auto_journal_entries() diperkaya dengan resolusi semantik dinamis:

  1. Pencegahan Akrual Non-Gaji: Jika deskripsi transaksi tidak mengandung kata kunci gaji eksplisit, baris 2-1201 (Utang Gaji) dan 2-1202 (Hutang PPh 21) otomatis diabaikan (skipped).
  2. Sub-Account Routing:
    • BBM & Transportasi: [6-1302] (kata kunci: bbm, bensin, pertalite, pertamax, solar, spbu, parkir, tol).
    • Utilitas & Komunikasi: [6-1301] (kata kunci: listrik, pln, token, air, pdam, internet, wifi, telkom, pulsa).
    • Sewa: [6-1201] (kata kunci: sewa, kontrak ruko, sewa toko).
    • Pemasaran: [6-1401] (kata kunci: iklan, pemasaran, marketing, brosur, banner).
    • Gaji & Upah: [6-1101] (hanya jika kata kunci gaji/upah/thr/honor disebutkan secara eksplisit).
    • Operasional Umum: [6-9000] (default fallback).
  3. Penyelarasan Kas vs Bank: Otomatis mendebit/mengkredit [1-1102] Bank jika metode pembayaran berupa QRIS/Transfer.

Menambahkan aturan anti-halusinasi:

“DILARANG KERAS mengasumsikan transaksi operasional/pengeluaran umum sebagai gaji/payroll. Transaksi HANYA boleh diklasifikasikan sebagai penggajian jika teks secara EKSPLISIT menyebut kata ‘gaji’, ‘upah’, ‘honor’, ‘thr’, atau ‘bonus karyawan’.”


Input Kalimat Pengguna Akun Terdebit (D) Akun Terkredit (K) Pengaruh Saldo Kas
"Biaya Operasional bulan Agustus 2026 sebesar 524.145" [6-9000] Beban Operasional Lainnya [1-1101] Kas 🔻 Berkurang Rp 524.145
"Beli bensin motor operasional 50.000" [6-1302] Beban BBM & Transportasi [1-1101] Kas 🔻 Berkurang Rp 50.000
"Bayar tagihan listrik toko 250.000" [6-1301] Beban Listrik, Air & Internet [1-1101] Kas 🔻 Berkurang Rp 250.000
"Pembayaran gaji karyawan Agustus 2.500.000" [6-1101] Beban Gaji & Upah [1-1101] Kas 🔻 Berkurang Rp 2.500.000