esaFiskaly
Snapshot regulasi — bukan saran pajak resmi. Pelajari

POS Auto-Posting ke Jurnal

Bagaimana setiap transaksi kasir otomatis membentuk jurnal penjualan, HPP, dan dampak pajak — semua dalam satu transaksi database.

Janji utama esaFiskaly untuk UMKM: kasir tidak perlu mengerti akuntansi. Setiap transaksi POS otomatis berubah menjadi jurnal yang balanced, dengan dampak HPP, persediaan, dan pajak — semua dalam satu transaksi database.

Halaman ini menjelaskan apa yang terjadi di sisi akuntansi setiap kali kasir menekan tombol Bayar.

Apa yang terjadi saat kasir klik "Bayar"

POS Sale
Klik Bayar
Inventori
Stok turun, HPP dihitung
Jurnal Penjualan
Auto-posting
Jurnal HPP
Auto-posting
Settlement
Kas / QRIS

Semua langkah dieksekusi dalam satu transaksi PostgreSQL. Jika satu langkah gagal — misalnya stok tidak mencukupi atau akun HPP belum di-seed — seluruh transaksi rollback. Tidak ada keadaan "setengah jadi" di buku besar.

Jurnal yang dibentuk

Untuk transaksi penjualan kopi Rp 25.000 (non-luxury, PKP), esaFiskaly otomatis membentuk dua jurnal sekaligus:

Jurnal Penjualan

Dr. Kas / Piutang QRIS         25.000
   Cr. Pendapatan                  22.523
   Cr. PPN Keluaran                 2.477

PPN Keluaran 2.477 = DPP Nilai Lain (11/12 × 25.000) × 12% = 22.917 × 11% efektif. Mekanisme DPP Nilai Lain mengikuti PMK 131/2024.

Jurnal HPP (dihitung dari weighted-average cost / FIFO):

Dr. Harga Pokok Penjualan       8.500
   Cr. Persediaan Barang Dagang    8.500

Kedua jurnal selalu balanced — debit dan kredit dihitung dari konfigurasi produk, bukan diketik manual.

Mapping akun yang dipakai

Sistem menggunakan Smart account-mapping presets yang sudah di-seed ke Chart of Accounts standar Indonesia. Tabel singkat:

Peristiwa POSAkun DebitAkun Kredit
Penjualan tunaiKas (1101)Pendapatan Penjualan (4101)
Penjualan QRISPiutang QRIS (1103)Pendapatan Penjualan (4101)
PPN dari penjualanPPN Keluaran (2201)
HPP per itemHarga Pokok Penjualan (5101)Persediaan Barang Dagang (1201)
DiskonDiskon Penjualan (4901)

Anda dapat menimpa mapping ini per produk atau per kategori jika usaha Anda memerlukan akun yang lebih spesifik.

Langkah per langkah

  1. 1
  2. 2

    Scan barcode atau pilih item dari katalog. Sistem menampilkan total, PPN (jika PKP), dan kembalian.

  3. 3
  4. 4

    Kas, QRIS, kartu, atau split. Setiap metode terhubung ke akun kas/piutang yang berbeda di Chart of Accounts.

  5. 5
  6. 6

    Dalam satu BEGIN ... COMMIT:

  7. 7
    • Stok diturunkan per item (FIFO atau weighted-average).
    • HPP per baris dihitung dari cost yang relevan.
    • Jurnal Penjualan dan Jurnal HPP dibuat dan langsung di-post.
    • Catatan pajak dibuat: jika PKP → Faktur Pajak draft (jika digital invoice diaktifkan); jika UMKM PP 55/2022 → catatan PPh Final 0,5%.
  8. 8
  9. 9

    Untuk pembayaran non-tunai, jurnal Piutang Pembayaran dibuat. Saat dana cair (T+1 atau T+2), modul Rekonsiliasi menyamakan piutang dengan kas di bank.

  10. 10
  11. 11

    Request POST tercatat di tabel audit_logs (immutable) dengan tenant_id, user_id, body request (maks 64 KiB), dan waktu — bagian dari per-request transaction yang sama, jadi jika jurnal rollback, audit log juga rollback.

Validasi otomatis sebelum jurnal di-post

esaFiskaly menolak jurnal yang tidak masuk akal sebelum ditulis ke buku besar:

  • Sum debit = sum kredit — selisih sekecil 1 rupiah pun ditolak.
  • Akun harus milik tenant Anda — defense in depth, meski RLS sudah FORCEd.
  • Tarif PPN dari decimal-string literal — tidak ada float drift; 11% adalah 0.11, bukan 0.10999999....
  • Hard cap 1 triliun rupiah per baris invoice — sanity check untuk salah-ketik nol.

FAQ

Q.
Q.
Q.
Q.

Selanjutnya