LedgerCore Documentation
Everything from your first invoice to self-hosting the whole platform.
What LedgerCore is
LedgerCore keeps your company's books: invoices you send, bills you receive, what's in the bank, VAT, payroll, and the reports that tell you how the business is doing. It's built on proper double-entry bookkeeping, every number traces back to a journal entry, but you never have to think about that unless you want to.
Two things make it different: it does the typing (upload paperwork and the document pipeline reads, categorises, and drafts entries; overdue invoices get chased automatically; anomalies get flagged overnight), and your data stays on hardware we own, nothing goes to a US cloud.
Try it without signing up
Click Test Drive and you get your own private company, a full set of books to actually use: create invoices, approve bills, reconcile the bank, run the VAT return. It is yours alone and resets itself, so experiment freely; no signup. Prefer to just look around first? Browse a sample company read-only.
Create your account
Start Free with an email, a password, and your company name. The Free plan includes 1 user, 1 company, and 1,000 transactions a month, invoicing, bills, payroll, expenses, banking, reports and VAT returns all included, no card, no time limit. Bank feeds and multi-currency come with paid plans. Your company arrives with a UK chart of accounts and VAT rates already set up.
Your first 15 minutes
- Add a customer, Contacts → New. Name and email are enough.
- Send your first invoice, Invoices → New: pick the customer, add a line, save. It starts as a draft, nothing is in your books yet. Approve posts it to the ledger; Send emails it.
- Record getting paid, Payments → Receive, pick the invoice. The books update themselves.
- Enter a bill you owe, Bills → New, the purchase-side mirror of an invoice.
The whole rhythm is draft → approve → paid. Drafts are editable; approved entries are locked into the ledger, corrections happen by reversal, so your audit trail never lies.
Everyday tasks
- Expenses, staff costs and receipts, with an approval flow.
- Products, price-list items so invoice lines fill themselves in.
- Banking, import your statement (CSV), then Reconcile: LedgerCore suggests matches between bank lines and your invoices/bills; you confirm.
- Documents, upload an invoice or receipt under Doc Intelligence and it's read and drafted into the books for your review. The AI drafts; you approve.
Month-end in ten minutes
- Reports, Profit & Loss (am I making money?), Balance Sheet (what do I own and owe?), Trial Balance (for your accountant), Aged Debtors (who owes me, how late?).
- VAT & Tax, the return calculates itself from the books, all nine HMRC boxes. Review, draft, submit when MTD-registered.
- Cash Flow, a forecast with plain-English warnings.
Let it work for you
- Debt Chaser, set the rules once ("polite nudge at 7 days, firmer at 30") and overdue invoices are chased automatically, without double-sending.
- Anomaly Detection, overnight scans flag duplicates, unusual amounts and suspicious patterns as notifications.
- AI Accountant, ask questions about your books in plain English.
Teams, roles, and access
| Role | Can |
|---|---|
| owner | everything, incl. billing and team management |
| admin | settings, team, all books |
| accountant | post/approve journals, invoices, bills; run returns; all reports |
| bookkeeper | day-to-day entry below approval level |
| read_only | view only |
Optional 2FA (TOTP), login lockout with exponential backoff, and SSO (Google, Microsoft, SAML 2.0). Sessions are 15-minute JWTs with rotating 7-day refresh tokens; refresh-token reuse blacklists the chain.
The accounting engine, enforced, not promised
- Schema-per-tenant isolation: every company lives in its own PostgreSQL schema, pinned inside the auth token. One tenant's bug can't read another's data.
- Double-entry enforced at the database: a journal can't post unless debits equal credits, trigger-enforced.
- Posted journals are immutable (corrections by reversal), and the audit trail is append-only and hash-chained with an integrity verifier and CSV/PDF export.
- Fiscal control: closed or locked periods reject postings.
- Money is NUMERIC(19,4) end to end; per-line VAT is rounded then summed, so totals always equal the posted legs.
Automation internals
Events flow through a durable queue (at-least-once, retry with backoff). On top of it:
- Workflow rules per tenant: trigger + conditions + actions (notify, email, update status, create task, emit event), no code needed.
- Scheduled jobs per tenant that never double-run: overdue promotion, debt chase, anomaly scan, cash-flow refresh, VAT-deadline and Companies House checks.
- Debt Chaser: days-overdue rule ladder, templated emails, 7-day per-invoice dedupe, idempotent under event redelivery, and it stands down if your own workflow rule already emails on
invoice.overdue. - Anomaly Detection: Benford's-law analysis, z-score outliers, duplicates, round-number patterns.
- Document pipeline: text PDFs parse locally, scans go through OCR, a parser agent drafts the entry for human approval. AI keys live server-side only.
VAT & HMRC MTD
The return is computed from posted journals, not invoice lists: Box 1 output VAT net of credit notes, Box 4 input VAT net of voids, Boxes 6/7 net sales and purchases with non-VATable categories excluded. Draft, review, submit via HMRC's MTD API once credentials are configured.
Plans
| Plan | Users | Tx/month | Companies | Bank feeds | Multi-currency |
|---|---|---|---|---|---|
| Free | 1 | 1,000 | 1 | ✗ | ✗ |
| Starter | 3 | 5,000 | 1 | ✓ | ✗ |
| Growth | 10 | 50,000 | 3 | ✓ | ✓ |
| Enterprise | ∞ | ∞ | ∞ | ✓ | ✓ |
Limits are enforced server-side, not on the honour system.
API access
Everything the UI does goes through /api/v1 and you can too: POST /auth/login for tokens (or httpOnly cookies), GET /auth/me for session introspection, consistent JSON errors with request IDs, per-IP rate limits. The read-only demo doubles as a zero-setup API sandbox.
Self-hosting
LedgerCore is Apache 2.0, run it yourself for nothing. Production is Docker Compose (app, PostgreSQL 16, Redis, S3-compatible attachments, autoheal, backups, optional Prometheus + Grafana monitoring). Shipping is one gated pipeline: typecheck, lint, tests, compose validation, pre-cutover database dump, image build with an instant-rollback tag, smoke checks. Backups run on two independent lanes, and are restore-tested automatically every week, because a backup you've never restored is a hope, not a backup.
Full endpoint catalogue, architecture spec, and ops runbooks ship in the repository: GUIDE.md, docs/ledgercore-architecture.md, docs/user-guide-advanced.md.
Ready when you are.
Start on the free plan, or click around the demo first, no card, no time limit.
Start Free → Test Drive →LedgerCore is accounting software, not accounting advice. Always verify outputs with a qualified professional. AI-generated suggestions should be reviewed before posting.