esaFiskaly
Regulation snapshot — not formal tax advice. Learn more

POS → Inventory → Journal flow

How a cashier transaction automatically creates a journal and COGS entry.

One of esaFiskaly's central promises: cashier operations automatically become bookkeeping and tax, with no manual accounting in between.

This page walks the path from clicking "Pay" at the POS to a balanced journal showing up in the general ledger.

Five-step pipeline

POS Sale
Click Pay
Inventory
Stock decreases
Journal
Auto-posting
Tax
PPN / Final UMKM
Settlement
QRIS / Cash

Every step happens inside a single database transaction — if any step fails, all steps roll back. There is no half-applied state.

Step by step

  1. 1
  2. 2

    Cashier scans/taps items → picks a payment method (Cash, QRIS, card) → clicks Pay.

  3. 3
  4. 4

    For each item sold, stock is reduced under the configured costing method (FIFO or weighted-average). The module also computes per-line COGS based on the running average cost.

  5. 5
  6. 6

    The system creates two journals simultaneously:

  7. 7

    Sales journal

  8. 8
    Dr. Cash / QRIS Receivable      25,000
       Cr. Revenue                       22,523
       Cr. Output VAT                     2,477
    
  9. 9

    COGS journal

  10. 10
    Dr. Cost of Goods Sold           8,500
       Cr. Merchandise Inventory          8,500
    
  11. 11
  12. 12
    • PKP with PPN: Output VAT is recorded as a liability.
    • Final UMKM 0.5%: cumulative POS turnover becomes the DPP for end-of-month Final tax.
  13. 13
  14. 14
    • Cash: lands directly in the Cash account.
    • QRIS: lands in QRIS Receivable; reconciled when funds settle to the bank (1–3 business days).
    • Card: lands in Payment Gateway Receivable; reconciled when funds settle.

POS UI placeholder

POS — transaction screen with cart & payment methods

What happens automatically after

  • Low stock → Dashboard notification
  • Cashier shift → shift close produces a daily summary
  • QRIS settlement → auto-match when the bank statement is imported
  • Month-end → POS turnover feeds the DPP for Final PPh / PPN

Error handling

ScenarioSystem behaviour
Negative stockTransaction rejected (unless Allow Negative Stock is enabled)
Unmapped COA accountJournal posting rejected with explicit error
PPN computed but tenant non-PKPRejected with configuration error
Mid-pipeline failureAll steps roll back

Frequently asked

Q.What if the POS is offline?
Offline mode queues locally. When connectivity returns, transactions sync while preserving atomic posting at the backend.
Q.Can I override prices at the POS?
Yes, with a dedicated permission. Overrides are recorded in the audit log with user, timestamp, and original price.
Q.Do refunds/voids return stock?
Yes. A refund creates reversing journals for Sales and COGS — stock returns to its prior value.

Next