Postings with balance, period, and audit trail.
Manual and system journals that land on the ledger only when they balance — draft → post, reverse without overwrite, and refused attempts kept as the other half of the audit trail.
5150 · Site electricity
Debit
Dr 12,400
1000 · Cash & bank
Credit
Cr 12,400
Dr 12,400 / Cr 12,400 · ready to post
The ledger is not an editable cell.
Journals fail when balance is optional, history can be overwritten, and refused attempts vanish. Append-only with visible refusals is the minimum for a close you can defend.
Unbalanced entries that still land
A spreadsheet journal can save with Dr ≠ Cr. Controllers discover it at trial balance — after the month is already compromised.
Overwrite instead of reverse
Editing a posted cell rewrites history. Auditors ask what changed; the tool has no answer because the original never survived.
Silent refusals
Closed period, wrong account, scope denied — the posting fails and leaves no forensic trail. Operators retry until something sticks.
Debits must equal credits.
At least two lines, amounts that match — the post button stays off until the entry balances. No “save now, fix later” hole in the ledger.
Not balanced
Dr 12,400 / Cr 11,900
Cannot post — must match
Balanced
Dr 12,400 / Cr 12,400
Ready to post to the ledger
Type every entry honestly.
Manual day books people may write — and engine-stamped types reserved for documents. An entry claiming to be a vendor bill with no bill behind it would make the two ledgers disagree.
Manual
General
Day-to-day adjustments people file by hand.
Manual
Opening balance
Bring-forward balances when the books start.
Manual
Year-end close
Close entries controllers run at period end.
Day book
Accrual
Built-in day book orgs keep for accruals.
Day book
Reclassification
Move amounts between accounts without inventing a new trail.
System
Engine-stamped
Bills, payments, and receipts stamp their own type — people cannot claim a vendor bill with no bill behind it.
Most of the journal writes itself.
Subledger documents post into the register with a link back to the source. Manual entries are for the rare case spend enters without a document — and they still carry dimensions.
- Vendor billApprove a bill — the books write themselves.
- PaymentClearing payables posts the cash movement.
- Customer invoiceAR postings carry invoice provenance.
- Treasury / instrumentInstruments and loans stamp their own entries.
- Goods receiptMaterials GR can land inventory-side postings.
- Manual entryWhen spend enters without a document — dimensions required.
Draft → post → reverse.
The ledger is append-only. You do not edit a posted cell — you reverse it. Controllers and auditors see the same trail.
01
Draft
Recurring templates and staged entries wait as drafts until someone posts them into an open period.
02
Post
Balanced entries land append-only. The journal is the log — it is not rewritten when someone changes their mind.
03
Reverse
Posted entries reverse with a compensating entry. History stays; the correction is visible on the trail.
The other half of the audit trail.
The journal is what happened. Refused postings are what was stopped — unbalanced, closed period, scope denied — recorded before rollback so forensics survive.
Attempts stopped before the ledger
UNBALANCED
Debits ≠ credits
PERIOD CLOSED
Period closed
ACCOUNT INVALID
Account missing or invalid
FX RATE MISSING
No exchange rate
SOD VIOLATION
Segregation of duties
SCOPE DENIED
Outside their scope
Kept on the same screen as the journal — both answer the same question from two sides.
Manual spend still needs a home.
A manual journal is the one place spend enters the ledger without a document behind it. Leaving it undimensioned is how cost-centre figures drift.
Cost centre
Which cost centre this leg belongs to — so a unit’s figures do not quietly stop reconciling.
Business unit
BU scope on the line when the org reports by operating unit.
Region
Regional cuts without inventing a parallel journal file.
Post journals that survive audit
Balanced lines, honest day books, draft → post → reverse, and refused attempts kept on the trail.