How the general ledger works

Books keeps one immutable, hash-chained journal. Everything else — every report, balance, and dashboard tile — is computed from it. Here is what that means in practice.

ConceptFor Business owners, Bookkeepers, Firm staff

One journal, many views

There is a single journal per legal entity. A bill, an invoice, a payroll run, a bank categorization, and a hand-typed adjusting entry all end up in the same place, as balanced entries with a date, accounts, amounts, and a source.

Nothing maintains a separate stored balance. The Trial Balance, the Balance Sheet, the account register, and the cash tile on your dashboard are all computed on demand from the journal. That is why they cannot disagree with each other, and why there is no "rebuild balances" operation to run when something looks wrong.

Entries are never edited in place

Once an entry is posted it is permanent. Correcting it means posting a reversal and then posting the correct entry. Both remain visible forever.

This feels heavier than editing a row until the first time someone asks why a number changed between two versions of a report you sent them. With an immutable journal that question has an answer, with a date and a name attached.

What immutability buys:

  • A report you exported last month can be reproduced exactly today.
  • Every change has an actor and a timestamp in the audit trail.
  • Reconciliations stay reconciled — a cleared line cannot be altered underneath a locked statement.
  • Auditors can verify the ledger has not been rewritten, rather than taking your word for it.

The hash chain

Each posted entry is chained to the one before it with a cryptographic hash. Altering or removing a historical entry would break every link after it, and the Audit Trail's chain verifier walks the whole chain to prove it has not happened.

The chain head is also stamped to an external timestamping service on a weekly schedule, which produces independent evidence of what your ledger contained at a point in time — evidence that does not depend on trusting Backline.

Where entries come from

Every entry carries its provenance, surfaced as the Source column on list screens and in a provenance popover on individual records.

SourceMeaning
ManualA person typed it in the workspace.
DocumentDerived from an uploaded or emailed document by intake.
Bank feedOriginated from imported or connected bank activity.
SubledgerGenerated by a bill, invoice, payment, payroll run, or depreciation run.
APIPosted by an integration using an organization API key.
AIProposed by automation and posted after passing its safety checks.

Common questions

Can I delete a journal entry?

No. You reverse it. The reversal posts an equal and opposite entry dated as you choose, and both entries stay in the journal with a link between them.

See alsoCorrecting a posted entry

Why does my report differ from what I exported last week?

Because activity was posted for dates inside the report period after you exported it — back-dated bills, a late bank import, an adjusting entry. The Audit Trail's event log shows exactly what was posted and when.

If the period is closed, back-dated posting is refused, which is precisely why closing periods matters.

See alsoPeriod locks and closing the booksThe audit trail and chain verification

Does the AI post directly to the journal?

Only for work it can complete deterministically and safely, and those entries are marked with an AI source. Anything ambiguous becomes an exception for a person to resolve.

See alsoHow the AI in Books works

Was this useful?

Read next

All the ledger