Skip to content

Accounting in Fexl Lite

Fexl Lite is a POS that happens to keep a ledger. Every flow that touches money — selling a product, refunding a customer, paying a supplier, logging an expense, moving cash between drawers — writes a balanced journal entry through one chokepoint, and every report (P&L, Balance Sheet, Cash Flow, Trial Balance, GL) reads from those entries. This section is the manual for that ledger.

Updated 4 May 2026·For v1.6.100·3 min read
accounting · landing page · cards linking to chart of accounts, JE, FIFO, prepaid, migration

Double-entry, made unobtrusive

The cashier doesn’t see journal entries. They see invoices, receipts, refund dialogs, expense forms. Behind every one of those user actions is a balanced JE — DRs equal CRs, sources linked, dates aligned to the business day. The bookkeeping isn’t an opt-in module; it’s the thing that lets the rest of the system answer questions consistently.

A cash sale of one product:

DR 1010-006 cash sub-account 65.00
CR 4010 Sales Revenue 65.00
DR 5010 COGS — Products 28.00
CR 1200 Inventory 28.00

Two debits, two credits, balanced. Four lines that ten different reports will aggregate differently — one for the cash drawer, one for revenue, one for cost of goods sold, one for the inventory valuation. They all reconcile because they’re all reading the same JE.

The accounts, the costing, the prepaid runner, the migration

This section breaks down into five areas:

Where the ledger surfaces

Every report listed below reads journal_entries directly:

The Inventory Valuation, AR / AP Aging, and Cash Drawer reports read more specialised tables but reconcile to ledger totals — for the line-by-line, every road leads to the GL.

The “comp” exception

A standard chart, a stable code system

Fexl Lite seeds a fixed chart of accounts when a tenant boots — 1010 cash, 1100 AR, 1200 inventory, 2010 AP, 2020 VAT, 4010 revenue, 5010 COGS, the 6xxx expense block, the 1010-* sub-account block per cashier. Every handler posts by code, never by name or ID — so renaming “Sales Revenue” to “Retail Income” in your locale doesn’t break anything; the GL still aggregates the same lines under the same code.

The full reference, by code, is on the Chart of accounts page.