Konsep Penjurnalan Jurnalkas
Arsitektur Jurnal: Single Source of Truth
Jurnalkas menggunakan arsitektur double-entry bookkeeping dengan satu sumber data keuangan yang utama. Setiap transaksi keuangan — baik yang dicatat manual maupun yang dibuat otomatis oleh sistem — tersimpan dalam dua tabel utama:
- journal_entries — Header jurnal (tanggal, deskripsi, referensi, status, tipe asal).
- journal_lines — Baris-detail jurnal (akun COA, debet, kredit, catatan per baris).
journal_entry memiliki banyak journal_line. Setiap entry selalu seimbang — total debet selalu sama dengan total kredit.Alur Jurnal Otomatis
Saat Anda mengonfirmasi transaksi, sistem membuat jurnal otomatis yang mengalir ke buku besar:
Jurnal Otomatis vs Jurnal Manual
Jurnalkas membedakan dua sumber jurnal:
| Aspek | Jurnal Otomatis | Jurnal Manual |
|---|---|---|
field entry_type | auto | manual |
field source_type | Modul asal (misal: sales_invoice, purchase_invoice, payment, stock_opname) | manual |
| Dibuat oleh | Sistem, saat transaksi dikonfirmasi | Pengguna, melalui menu Jurnal Umum |
| Dapat diedit? | Tidak | Tidak (setelah dikonfirmasi) |
| Pembatalan | Batalkan transaksi asli → sistem buat jurnal pembalik otomatis | Buat jurnal pembalik manual |
Sumber Jurnal Otomatis
Berikut modul yang secara otomatis membuat jurnal saat dikonfirmasi:
- Pemasukan / Pengeluaran — Jurnal Kas/Bank dan akun lawan.
- Transfer — 2 jurnal: debet akun tujuan, kredit akun asal.
- Faktur Penjualan (INV) — Jurnal: Debet Piutang / Kredit Pendapatan + PPN.
- Faktur Pembelian (FP) — Jurnal: Debet Beban/Persediaan / Kredit Hutang + PPN.
- Penerimaan Pembayaran (PAY) — Jurnal: Debet Kas/Bank / Kredit Piutang.
- Bukti Pembayaran (BP) — Jurnal: Debet Hutang / Kredit Kas/Bank.
- Stock Opname — Jurnal penyesuaian: Debet/Kredit Persediaan vs Beban Penyesuaian.
- Retur Jual / Retur Beli — Jurnal pembalik dari transaksi asli.
Akrual vs Basis Kas
Jurnalkas menyajikan data keuangan dalam dua sudut pandang:
- Basis Akrual (Accrual) — Pencatatan saat transaksi terjadi, tanpa memandang apakah uang sudah diterima/dibayar. Ini yang digunakan di Dashboard (Pemasukan/Pengeluaran) dan Laporan Laba Rugi / Neraca.
- Basis Kas (Cash Basis) — Hanya menghitung arus uang aktual yang masuk/keluar melalui akun Kas dan Bank. Ini yang digunakan di Transaksi Kas.
Jurnal Umum: Semua Entry
Halaman Jurnal Umum menampilkan seluruh jurnal — baik otomatis maupun manual. Setiap entry memiliki badge yang menunjukkan asalnya:
- Auto — Jurnal dibuat sistem saat konfirmasi transaksi.
- Manual — Jurnal dibuat pengguna melalui menu Jurnal Umum.
status = posted) tidak dapat diedit atau dihapus. Untuk memperbaiki kesalahan, buat jurnal pembalik.Status Jurnal
- Draft — Jurnal belum terpakai, masih bisa diedit atau dihapus. Hanya berlaku untuk jurnal manual.
- Posted — Jurnal sudah dikonfirmasi dan mempengaruhi saldo akun. Tidak bisa diedit.
COA Khusus: Akun Kontrol
Jurnalkas menggunakan akun dengan prefiks 6- sebagai Akun Kontrol yang tidak muncul di laporan keuangan reguler. Akun ini digunakan oleh sistem untuk keperluan teknis seperti rekonsiliasi internal.
Alur Penjurnalan Sederhana
Berikut contoh alur penjurnalan ketika Anda membuat dan mengkonfirmasi sebuah Faktur Penjualan:
- Buat Faktur → Status: Draft (belum ada jurnal).
- Konfirmasi Faktur → Sistem otomatis membuat
journal_entry(entry_type=auto,source_type=sales_invoice) denganjournal_lines:- Debet: Piutang Usaha (1-1200)
- Kredit: Pendapatan Penjualan (4-1000)
- Kredit: PPN Keluaran (2-1300) — jika ada
- Terima Pembayaran → Sistem membuat jurnal baru:
- Debet: Kas Besar (1-1101) atau Bank (1-1103)
- Kredit: Piutang Usaha (1-1200)