On 5 February you send your January accounts to the bank: RM18,000 of sales, RM8,300 of profit. On 11 February a supplier bill dated 28 January turns up in the post and someone enters it. Nothing stopped them. January's profit is now RM7,500, and the statement the bank is holding describes a version of January that no longer exists.
Nobody did anything wrong. The books are more accurate than they were. And yet you have a serious problem, because a report you issued cannot be reproduced from your own records.
"Closing the books" is the answer to that, and it bundles two ideas that are worth pulling apart, because they solve different problems and happen on different schedules.
Idea one: the cutoff
The first is administrative. At some point after a period ends, you declare it closed, and from then on no entry may be dated inside it.
That is the whole mechanism. Its purpose is not tidiness — it is reproducibility. Once January is closed, any January report run today produces the same figures as the one produced in February, forever, because the set of entries that feed it can no longer change. Without a cutoff, every statement you issue has an implicit expiry date you cannot see.
The cost lands on judgement. That late supplier bill still has to go somewhere, and the question is materiality: would this figure change what a reader of the accounts decides?
Turnover alone does not answer it. A RM800 electricity bill against RM18,000 of monthly revenue looks like noise. The same RM800 against RM8,300 of profit is nearly a tenth of it, which few thresholds would call noise. Materiality gets weighed against profit and the size of the balance sheet as well as revenue, against whatever threshold the business has set as policy, and against who relies on the statements — a bank testing a loan covenant cares about a smaller number than an owner skimming a management pack. So deciding that this particular bill can go to February is a policy judgement someone makes and records. It is not a rule that small amounts may be deferred.
RM40,000 of unrecorded revenue clears any threshold anyone would set. There the right answer is to reopen January, correct it, and reissue the statements to everyone who received the old ones.
Which is why reopening must be an explicit, recorded act — never something that happens quietly because a piece of code needed it to. If a period can silently reopen, the cutoff guarantees nothing. Every reopening should leave a trace: who, when, why, and what was reissued.
Most businesses apply the cutoff monthly, once the bank is reconciled and the numbers reviewed.
Idea two: the year-end closing entries
The second idea is arithmetic, happens once a year, and is a genuinely different thing.
Recall from module 2 why income and expense accounts exist: they explain how equity moved during a period. That is their entire job. Sales of RM18,000 is a fact about a stretch of time, and the moment that stretch ends the counter has finished its work.
So consider what happens if you never reset them. On 1 January 2027 your Sales account still reads RM216,000 — the whole of 2026. Every 2027 P&L now measures 2026 plus however much of 2027 has elapsed, and there is no way to separate them. The accounts have stopped answering the question they were created to answer.
The reset is done with ordinary journal entries. Take each income and expense account's balance and post the opposite side of it, sending the difference to retained earnings in equity:
| Debit | Credit | |
|---|---|---|
| Sales revenue | 18,000 | |
| Rent expense | 3,500 | |
| Wages expense | 6,200 | |
| Retained earnings | 8,300 |
Sales was credit-natured, so debiting it RM18,000 brings it to zero. The expenses were debit-natured, so crediting them zeroes those. The RM8,300 that makes the entry balance goes to retained earnings — and that RM8,300 is exactly the net income the P&L reported.
This is why last year's profit becomes this year's equity, and it is not a rule someone imposed. Profit was always the owners' claim; the income and expense accounts were only ever a temporary breakdown of how that claim changed. Closing them collapses the detail back into the single equity figure it was always describing.
Afterwards, income and expenses start at zero and can measure the new year cleanly. Assets, liabilities and equity carry straight over untouched, because a bank balance on 1 January is the same balance it was on 31 December.
The close is not a special operation
The most important structural point: those closing entries are journal entries. Debits, credits, a date, a narration. Nothing about them is privileged.
That has consequences you want. They appear in the journal like everything else, so you can read them. They are dated, so you can see when the close ran. They reverse by posting an opposing entry, under the same immutability rules as anything else — no escape hatch, no database surgery.
A close that cannot be inspected in the journal is a close nobody can audit.
If the year-end close were a hidden operation that rewrote balances in place, you would have no way to verify it happened correctly and no way to undo it if it did not. Making it ordinary entries is what keeps the ledger's guarantees intact through the one moment in the year when it is most tempting to break them.

