A reconciliation proves a balance. That is the whole job.
Strip away the routine and a balance sheet reconciliation does one thing. It proves that the number sitting in a general ledger account is real, by showing it equals what an independent record outside the ledger says should be there, and by explaining every difference between the two. Cash should equal the bank. Receivables should equal the subledger that feeds them. A prepaid should equal the schedule that releases it. When the two agree, or the gap is fully explained, the account is substantiated. When they do not, you have found a problem before it reaches the statements rather than after.
This matters most at the close, and the close is where it most often slips. In its review of recent annual filings, KPMG found that financial close and reporting is still one of the process areas with the highest concentration of reported material weaknesses, and that weaknesses tied to thin accounting resources rose year over year. The reason is rarely exotic. A balance was carried on faith, a reconciling item aged without an owner, a subledger drifted from its control account, and the difference surfaced later as a correction. The regulators who define internal control put this squarely in view. The SEC guidance and the PCAOB standard both describe a period-end financial reporting process, the work of moving totals into the ledger, recording adjustments, and preparing the statements, and both name reconciliations and reviews among the controls that hold it together.
Here is the constructive part, and it is the whole point of this piece. The fix is not heroics in the last days of the month. It is a data design. When each reconciliation is a governed record rather than a spreadsheet someone rebuilds, the account carries its own proof: the balance, the independent support, every difference with an owner and an age, a preparer and a separate reviewer, and a roll forward into next period. The same record that satisfies an auditor is the record that lets you close faster, because the evidence is already assembled and the exceptions are already visible.
The rest of this piece walks through that build. It separates the two controls that get blurred together, substantiation and transaction matching, sets out what independent support looks like for each kind of account, and describes the close record worth holding so that every balance sheet account can explain what it is made of without anyone reconstructing it by hand.
Substantiation and matching are two different controls.
Two controls often get called reconciliation, and keeping them apart clarifies the whole close. Transaction matching reconciles the flow. It pairs individual items on two sides, bank lines against ledger entries or receipts against invoices, and a modern tool can match high volumes automatically, creating confirmed matches that need no further work and suggested matches a person confirms or discards. Balance substantiation reconciles the stock. It takes the ending balance in an account and proves it equals independent support, with every remaining difference explained and aged. Matching asks whether the activity ties out. Substantiation asks whether the balance is real. A close needs both, and confusing the two leaves a gap where an account is matched in detail but never proved in total, or proved in total while its detail quietly diverges.
A substantiation has a recognisable anatomy. There is the general ledger balance. There is the independent support, which has to come from outside the ledger, because comparing the ledger to a report drawn from the same ledger proves nothing. There are the reconciling items, each with a type, an amount, an owner, and the date it opened, so the arithmetic ties and the age of every difference is visible. There is a preparer and a separate reviewer, because an account that approves its own work has no review at all. There is a risk tier and a cadence, so a high exposure account like cash is checked closely every period while a small, stable account can be checked less often or auto certified when its variance is zero. And there is a roll forward, so open items carry into the next period with their age rather than starting from a blank sheet.
The word independent does a lot of work, and it means something specific for each account. The table below sets out common balance sheet accounts, what independent support looks like for each, the reconciling item that tends to cause trouble, and what the close record needs to hold to get the account right.
| The account | What independent support looks like | The reconciling item that bites | What the close record needs to hold |
|---|---|---|---|
| Cash and bank accounts | The bank statement or the direct bank feed, an outside record no one inside can edit | An outstanding item that never clears, which can hide a duplicate payment or a fraud | The bank balance, the book balance, and each in-transit item with the date it opened. |
| Accounts receivable | The receivables subledger aging, tied in total to the general ledger control account | Unapplied cash and a subledger that no longer equals the control account | The subledger total, the control account balance, and the variance with its cause. |
| Accounts payable and goods received not invoiced | The payables subledger and the goods received not invoiced balance drawn from receipts | A receipt that was never vouchered, which understates what you owe | The subledger total, the received not invoiced balance, and each aged uncleared receipt. |
| Inventory | The perpetual inventory subledger and the counts or cycle counts behind it | Goods in transit, and a cutoff that lands the receipt and the invoice in different periods | The subledger value, the count basis, and in-transit and cutoff items held explicitly. |
| Prepaids and accruals | A supporting schedule that amortises or releases the balance over time | A prepaid that expired but still sits on the books, or an accrual no one releases | The schedule, the expected balance this period, and any item past its release date. |
| Fixed assets | The fixed asset register, rolled forward for additions, disposals, and depreciation | A disposed asset never removed, which overstates the asset and its depreciation | The opening balance, the roll forward, and the closing balance tied to the register. |
| Intercompany | The counterparty balance on the other side of the same transaction | A one sided entry that leaves the two sides unmatched at consolidation | Both sides of each balance and the unmatched difference owned by a named entity. |
| Suspense and clearing accounts | A target of zero, since a clearing account should empty as items pass through it | An aged residual that quietly parks an error where no one looks | The balance, its target of zero, and the age of anything left sitting in it. |
Risk tiers are what keep the close honest without drowning it. Cash, revenue and its clearing accounts, the large estimates, and anything that moves fast deserve a close look every period. A tiny, stable account does not, and forcing the same depth everywhere wastes attention that the risky accounts need. Aging limits do the same job for reconciling items: decide the oldest an item may be for each tier, and treat a breach as an exception to clear rather than a number to carry forever. None of this asks the team to work harder at the close. It asks the system to hold a tier, a limit, and a difference, and to make the exceptions searchable.
The reconciliation, read as a governed record.
A worked example makes it concrete. An operating cash account shows 4,183,920.55 in the ledger at the end of August. The bank feed, pulled a couple of days into September, shows 4,192,455.10. The gap is not an error, it is two reconciling items: a deposit of 21,200.00 in transit at month end, and an outstanding check for 12,665.55 not yet cleared. The ledger balance plus those two items equals the bank balance, so the account is substantiated, and each item carries an owner and a date so its age is visible. Nobody had to trust the number, because the number was proved.
Here is that logic expressed as a record. The general ledger balance and the independent support are held as data, side by side. Each reconciling item is a small record with a type, an amount, an owner, and an open date. The aging control carries a limit per risk tier. The workflow holds the status and enforces that the preparer is not the reviewer. A roll forward carries open items to next period, and an exception query at the end names the gaps that would make any of it untrustworthy.
A balance sheet reconciliation shaped as a governed record
# A balance sheet reconciliation shaped as a governed record
# Account, figures, and dates are placeholders for shape, not real values.
account:
gl_account: "1100 Cash - Operating"
entity: "Acme Corp"
owner_preparer: "close.team/cash"
reviewer: "controller" # a different person than the preparer
risk_tier: "high" # sets how often and how closely it is checked
frequency: "monthly"
period:
close_period: "2026-08"
gl_balance: 4183920.55 # what the ledger says
independent_support: # from outside the ledger, not another GL view
source: "bank_feed: Bank of Example ****1188"
balance: 4192455.10 # what the outside record says
pulled_on: 2026-09-02
reconciling_items: # every difference, explained, owned, aged
- type: "deposit_in_transit"
amount: 21200.00
opened: 2026-08-31
age_days: 2
owner: "close.team/cash"
- type: "outstanding_check"
amount: -12665.55
opened: 2026-08-27
age_days: 6
owner: "ap.team"
# gl_balance + sum(reconciling_items) must equal independent_support.balance
aging_control:
max_age_days_by_tier: { high: 30, medium: 60, low: 90 }
breach: false # true if any item is older than its tier limit
roll_forward:
carry_open_items_to_next_period: true
prior_period_status: "approved"
workflow:
status: "reviewed" # prepared -> reviewed -> approved
auto_certified: false # allowed only for low risk, zero variance
prepared_by_equals_reviewed_by: false # segregation of duties, must stay false
exception_query: # the close control, run before sign off
- account whose variance does not equal the sum of its reconciling items
- reconciling item older than the limit for its risk tier
- clearing or suspense account whose balance is not zero
- reconciliation approved by the same person who prepared it
- high risk account with no reviewer sign off before the close dateThe exception query is what turns a pile of reconciliations into a control you can trust. It lists every account whose variance does not equal the sum of its explained items, every reconciling item older than the limit for its tier, every clearing or suspense account that is not at zero, and every reconciliation approved by the same person who prepared it. Run it before sign off and an empty list is the close control passing. Run it and find entries, and you have found them at your own desk, in time to fix them, rather than in an audit finding or a restatement next quarter.
An implementation checklist.
- 1.Give every balance sheet account an owner, a risk tier, and a cadence. Decide once who prepares each account, how risky it is, and how often it must be reconciled. A high risk account like cash or a revenue clearing account earns a close look every period, while a small, stable, low risk account can be reconciled less often or auto certified when its variance is zero. Hold the tier as a field, not as folklore.
- 2.Reconcile to independent support, not to the ledger itself. The support has to come from outside the general ledger: a bank feed, a subledger aging, a fixed asset register, a counterparty balance, an amortisation schedule. If the thing you compare to is just another view of the same ledger, the reconciliation proves nothing.
- 3.Explain, own, and age every reconciling item. A difference is allowed, an unexplained difference is not. Give each reconciling item a type, an amount, an owner, and the date it opened, so its age is visible and a stale item cannot quietly become part of the furniture.
- 4.Separate the preparer from the reviewer. The person who prepares a reconciliation cannot be the person who approves it. Wire that segregation into the workflow, so an account cannot reach approved with one name on both lines.
- 5.Set aging limits and act on the breach. Decide the oldest a reconciling item may be for each risk tier, and treat an item past its limit as an exception to clear rather than a number to carry forever. An aged item in a clearing account is where errors go to hide.
- 6.Roll forward, do not rebuild. Carry open items and their ages into the next period automatically, so the reconciliation continues rather than starting from a blank sheet each month. A roll forward is also the fastest way to see an item that has sat unresolved for six periods.
- 7.Run one completeness query before you call the close done. Before sign off, list every account still unreconciled, every reconciling item older than its limit, every clearing or suspense account that is not zero, and every reconciliation approved by its own preparer. An empty list is the close control passing.
Failure modes, framed so you can avoid them.
- Treating a reconciliation as evidence that someone looked. A signature that an account was reviewed is not the same as a proof that the balance equals independent support. If the reconciliation does not show the support and the difference, it is a habit, not a control.
- Reconciling the ledger to itself. Comparing a general ledger balance to a report drawn from the same general ledger feels like a reconciliation and proves nothing. The support has to be independent of the ledger it is meant to test.
- Carrying a reconciling item forever. An open item with no age and no owner becomes furniture. The costliest errors and frauds tend to live in an old, unexplained difference that everyone has quietly stopped reading.
- Letting the preparer approve their own work. When one person prepares and approves, the review control is gone, and the account can carry an error or a manipulation with nothing set up to catch it.
- Reconciling everything at the same depth. Giving a tiny, stable account the same scrutiny as cash wastes the close and starves the accounts that matter. Risk tiers exist so that attention lands where the exposure is.
- Leaving clearing and suspense accounts to drift. A clearing account should empty. A suspense balance that grows across periods is a signal that something upstream is broken, and an aged residual there is an error parked in plain sight.
- Closing before the subledgers tie to the general ledger. If the receivable, payable, and inventory subledgers do not agree with their control accounts, the balance sheet rests on numbers that do not reconcile, and the gap surfaces later as a restatement rather than sooner as a reconciling item.
- Keeping the reconciliation in a spreadsheet nobody can query. When each account lives in its own file, no one can ask across the whole close which accounts are unreconciled, which items are aged, or which reviews are missing. A control that cannot be seen cannot be trusted.
What this asks of the data model.
- The account is the unit, with a tier and a cadence attached. Each balance sheet account carries a risk tier and a reconciliation frequency, so the close knows how often and how closely to check it.
- Independent support is a first class field, not an afterthought. Store where the support came from and what it said, the bank feed balance, the subledger total, the register, so the comparison is data rather than a file someone remembers to open.
- A reconciling item is a small record, not a line in a note. A type, an amount, an owner, and an open date on every item make its age computable and its owner accountable.
- Aging limits are configuration, keyed to the risk tier. The oldest an item may be is a number the system holds per tier, so a breach is detected rather than argued about.
- The preparer and the reviewer are separate identities the workflow enforces. Segregation of duties is a rule the tool applies, not a courtesy the team is trusted to observe.
- The roll forward is state carried between periods. Open items and their ages move to the next period, so the reconciliation is continuous and a long lived item is obvious.
- Auto certification is allowed, and bounded. A low risk account with zero variance can certify itself, which frees attention for the accounts that need it, but the rule that allows it is explicit and auditable.
- Completeness reduces to one query. Unreconciled accounts, aged items, non zero clearing accounts, and self approved reconciliations are the exception list, and it can run before sign off rather than after an auditor finds it.
The evidence to keep.
- The general ledger balance for each account and the period it was closed in.
- The independent support behind each balance, showing the outside record and the value it carried.
- Each reconciling item with its type, amount, owner, and age, and the arithmetic that ties the ledger balance and the items back to the support.
- The preparer and the separate reviewer on each reconciliation, evidencing that no account was approved by its own preparer.
- The risk tier and cadence for each account, showing that attention was risk based rather than uniform.
- The aging control, listing any reconciling item that breached the limit for its tier and how it was cleared.
- The roll forward, showing open items carried between periods and the age of anything long lived.
- The completeness query output, ideally empty, listing accounts unreconciled, items aged past their limit, clearing accounts not at zero, and reconciliations approved by their preparer.
Questions worth asking in your own review.
- For any balance sheet account, can we show the independent support the balance was proved against this period?
- Is the support genuinely outside the general ledger, or is it another view of the same ledger?
- Does every reconciling item carry a type, an owner, and an age, or do some simply sit as an unexplained difference?
- Can a reconciliation reach approved with the same name on the preparer and the reviewer lines?
- Do our risk tiers put the close attention on cash, revenue, and the large estimates, rather than spreading it evenly?
- Are our clearing and suspense accounts actually emptying, or is an aged residual parked in one of them?
- Do the receivable, payable, and inventory subledgers tie to their control accounts before we close?
- Could we list, right now, every account still unreconciled, every aged item, and every review still missing for this close?
What this adds up to.
A trustworthy balance sheet is one where every account can prove what it holds. A reconciliation is how each account does that, by showing the ledger balance equals independent support and explaining every difference. Read as a chore it is a spreadsheet rebuilt each month. Read as a control it is a governed record: the balance, the support, every reconciling item with an owner and an age, a preparer and a separate reviewer, and a roll forward that keeps the reconciliation continuous.
The build that makes it real is modest and it pays off in more than one place. Give every account an owner, a risk tier, and a cadence. Prove each balance against support that lives outside the ledger. Explain, own, and age every difference, and enforce that the preparer is not the reviewer. Roll open items forward rather than starting fresh, and hold aging limits the system can act on. Do that and the same record that answers an auditor is the record that closes the books faster, because the proof and the exceptions are already there.
If there is one place to start, run the completeness query against your current close before the next one leans on the control: every account still unreconciled, every reconciling item past its limit, every clearing account that is not zero, and every reconciliation approved by its own preparer. For a tidy close that list is short and the fixes are configuration. For a messy one it is the work, and it is far better found now, at the desk, than found in a corrected filing next quarter.
Sources.
- United States Securities and Exchange Commission, Commission Guidance Regarding Management Report on Internal Control Over Financial Reporting Under Section 13(a) or 15(d) of the Securities Exchange Act of 1934, Release No. 33-8810 (2007), read directly as a PDF rather than through a summary. Source for the treatment of controls over the period-end financial reporting process as an entity-level control; for the description of that process as covering procedures to enter transaction totals into the general ledger, the initiation, authorization, recording and processing of journal entries, the selection and application of accounting policies, the recording of recurring and non-recurring adjustments to the financial statements, and the preparation of the annual and quarterly financial statements and related disclosures; and for the statement that controls have characteristics that include reconciliations, segregation of duties, and review and approval authorizations
- Public Company Accounting Oversight Board, AS 2201: An Audit of Internal Control Over Financial Reporting That Is Integrated with an Audit of Financial Statements, paragraph 26. Source for the statement that, because of its importance to financial reporting and to the auditor opinions on internal control over financial reporting and on the financial statements, the auditor must evaluate the period-end financial reporting process, and for the list of what that process includes, which matches the description in the SEC guidance: entering transaction totals into the general ledger, selecting and applying accounting policies, initiating, authorizing, recording and processing journal entries, recording recurring and nonrecurring adjustments, and preparing the financial statements and related disclosures
- KPMG, Trends in material weaknesses. Source for the current reading that financial close and reporting remains one of the process areas with the highest concentration of reported material weaknesses in recent annual filings, and that material weaknesses tied to inadequate accounting resources rose year over year, which frames the close and its reconciliations as where control most often needs to be strengthened rather than as a solved routine
- Oracle Fusion Cloud EPM, Reconciling Accounts with Account Reconciliation, Transaction Matching. Source, verified live, for the way an automated match creates confirmed matches that need no further action and suggested matches that a user can confirm or discard, used here to show transaction matching as a control distinct from balance substantiation
- Oracle Fusion Cloud, Reconciliation Types. Source, verified live, for reconciliation types defined at a chart of accounts level or a ledger level together with their reconciliation rules, used here as an example of holding a reconciliation as configuration rather than as a spreadsheet rebuilt each period
- Committee of Sponsoring Organizations of the Treadway Commission, Internal Control Integrated Framework (2013). Reference for the framework whose control activities component treats reconciliations as a core control activity and whose information and communication component calls for relevant, quality information to support the functioning of internal control
The treatment of the period-end financial reporting process as an entity-level control, the description of what that process covers, and the list of control characteristics that includes reconciliations and review and approval authorizations were read directly from SEC Release 33-8810 as a PDF, and the matching description and the statement that the auditor must evaluate that process were read from PCAOB AS 2201 paragraph 26. The reading that financial close and reporting remains among the process areas with the highest concentration of reported material weaknesses is from KPMG review of recent annual filings. The transaction matching and reconciliation type mechanics are from Oracle live documentation, used as examples of how a reconciliation can be held as configuration and how matching differs from substantiation, and are not an endorsement of any product. The control activities and information framing is from the COSO Internal Control Integrated Framework. No embedded posts from X appear here, because no public post on this topic could be verified as current, relevant, and authentic at the time of writing, and an unverified embed is worse than none. Nothing here is accounting, audit, or legal advice for a specific company. The account, figures, and dates in the worked example and the record are placeholders for shape rather than real values, and how a given team reconciles an account depends on its own systems, its chart of accounts, and its auditors.