Double-entry accounting, not a spreadsheet with totals.
This is the module that separates a business suite from a CRM with an invoice button. A real chart of accounts, journals generated automatically from every posted document, postings that cannot be edited, fiscal periods that lock, and financial statements that tie out to the penny. Self-hosted accounting software your accountant will actually accept.
| Code | Account | Debit | Credit |
|---|---|---|---|
| 1100 | Trade receivables | 48,120.00 | - |
| 1200 | Bank current account | 96,441.18 | - |
| 1300 | Inventory | 134,908.00 | - |
| 2100 | Trade payables | - | 37,220.60 |
| 2200 | VAT control | - | 9,884.12 |
| 4000 | Revenue | - | 298,105.72 |
The parts you will use daily.
Chart of accounts
Hierarchical, per company, seeded from a country template at setup. Group accounts cannot be posted to, so the tree stays clean.
Immutable postings
A posted journal line can never be edited or deleted. Corrections are reversals, and both sides stay in the record forever.
Period locks
A lock date blocks back-dated postings. Overriding it requires a permission and writes an audit entry naming who did it.
Multi-currency
Transaction and base amounts on every line, realised FX on settlement, and period-end revaluation of open balances.
Cost centres
Cost centres plus unlimited custom analytic dimensions such as project, region, campaign or vehicle, with split distribution.
Bank reconciliation
Import CSV, OFX, MT940 or CAMT and match against payments and journals by amount, date and reference.
| Capability | Detail |
|---|---|
| Fiscal year | Any start month, per company, with year-end closing to retained earnings |
| Journals | Sales, purchase, bank, cash, general, inventory and payroll, each numbered |
| Deferrals | Scheduled recognition of prepaid income and expense across periods |
| Consolidation | Group reporting across companies with currency translation and elimination |
| Assets | Register, categories, straight-line and declining depreciation, disposal gain or loss |
| Audit | Every posting attributable to a user, a document and a timestamp, append-only |
Balances are computed, never stored.
The single most common failure in small business software is a balance column that somebody can edit. Here there is no such column. An account balance is the sum of its journal lines, a stock balance is the sum of its ledger rows, and both are materialised for speed and rebuildable from source at any time. If a report disagrees with reality, the ledger wins and you can prove why.
- Trial balance, profit and loss, balance sheet and cash flow, with comparative periods
- General ledger and party ledgers, drillable from a total down to the source document
- Aged receivables and payables with configurable buckets
- Budgets per account, cost centre and period that can warn or hard-block an over-spend
The part most competitors in this price bracket simply do not have
Perfex CRM and RISE CRM have invoicing but no ledger: no chart of accounts, no journals, no trial balance, no balance sheet. That is fine until your accountant asks for one. Odoo and ERPNext both have real accounting, and so do we, at $9 per company per month with no per-user charge and no server to administer.
About this module.
Is this real double-entry, or invoices with categories?
Real double-entry. Every posted document generates a journal entry with balanced debit and credit lines in the base currency, and the system refuses to post anything that does not balance. You can also post manual journals directly. The trial balance is the sum of journal lines, so it balances by construction rather than by hope.
Can my accountant get access without seeing everything else?
Yes. Ship with an Accountant role that has full access to the ledger, statements and bank reconciliation, and no access to payroll, HR records or customer contact data. You can narrow it further, and every action they take is in the audit log.
What if I need to change something in a locked period?
You cannot, and that is the point. You post a correcting entry in an open period, or a user with the override permission unlocks the period, which is recorded against their name in the audit log with a timestamp. Both routes leave evidence, which is what an auditor is looking for.
Does it handle VAT, GST and withholding tax?
Yes. Multiple taxes per line, compound taxes, inclusive and exclusive pricing, withholding, reverse charge and export zero-rating. Tax determination can be automatic based on the customer's country and tax status, and tax accounts are posted separately so the return is a report rather than a reconstruction.
What this module talks to.
Nothing here is a separate product with an integration between it and the rest. These four share the same records.
Try it with your own data.
Fourteen days, the complete suite, unlimited users, on your own hosting. No card required.