Two reports in your accounting file are supposed to show the same number. The Accounts Receivable line on the balance sheet, and the total at the bottom of the AR aging report. If those two disagree, one of them is wrong, and until you know which, neither number is worth quoting to a lender, an investor, or your own forecast.
Reconciling accounts receivable is the routine that keeps them agreeing. It takes a few minutes when the file is healthy and it is the fastest way to find out that it is not.
What the reconciliation actually compares
The balance sheet carries one Accounts Receivable figure. That is the control account, the total of everything customers owe you as your general ledger sees it.
The aging report carries the same money broken out by customer and by invoice, sorted into buckets by how late it is. Accountants call that the subledger. In QuickBooks, Xero and most small business systems you never build the subledger yourself, because the software generates the aging from the customer transactions already in the file.
Both numbers are produced from the same underlying data, which is exactly why a difference is informative. It means something got into the control account without going through a customer invoice, or a customer transaction is not reaching the ledger the way you would expect.
The reconciliation is the act of putting them side by side at a fixed date and driving the difference to zero.
How to reconcile accounts receivable
Pick a date and hold it for every report you run. Month end is the usual one.
Run the balance sheet as of that date, on the accrual basis, and write down the Accounts Receivable balance. Then run the AR aging summary as of the same date, on the same basis, and write down the total.
Getting these two settings identical is most of the work, and it is where the majority of imaginary differences come from. The aging report defaults to today in several systems regardless of what the balance sheet is showing, and a report basis set to cash will strip open invoices out of the balance sheet while leaving them on the aging.
If the two numbers match, the reconciliation is done and you have evidence for it. Save both reports as PDFs with the date visible, because a month you reconciled and cannot prove is a month you will end up reconciling again.
If they do not match, subtract one from the other and hold on to that difference. It is now a number you are going to explain, not a number you are going to absorb.
The worksheet
A reconciliation is a document, not a feeling that things looked close enough. The shape that works for accounts receivable is the same one that works for a bank account:
| Line | Amount |
|---|---|
| AR per balance sheet at 30 June | 84,210.00 |
| AR per aging summary at 30 June | 86,010.00 |
| Difference | (1,800.00) |
| Journal entry 214, credit to AR, no customer | 1,800.00 |
| Unexplained | 0.00 |
The bottom line has to read zero. Every item above it names a specific transaction you can open. An item described as "timing" or "rounding" without a transaction behind it is not a reconciling item, it is a guess wearing the same clothes.
If the unexplained line will not close, that is a finding worth writing down rather than a failure. A difference you have narrowed to a month and a hundred dollars is a much smaller problem than one you have averaged away.
What causes the difference
A journal entry posted directly to Accounts Receivable. This is the most common cause by a distance. Someone books an adjustment, picks the AR account, and leaves the customer field empty. The general ledger takes it, so the balance sheet moves. The aging report is built by customer, so an entry belonging to nobody never appears on it. Running a transaction report against the AR account and filtering to journal entries usually finds it in under a minute.
A report basis mismatch. Covered above, and worth ruling out first because it is free to check and it explains the largest differences.
Unapplied credits and payments. A credit memo or a customer payment that was recorded but never applied to an invoice reduces the customer's balance. Depending on the system and the report, it can land in the ledger before it shows up where you expect it on the aging. These are worth clearing on their own merits, since an unapplied credit means a customer is being chased for money the file already knows they paid.
More than one receivable account. A chart of accounts that has grown organically often has a second AR-type account someone created for a specific purpose. The balance sheet adds them together and the default aging report reads one.
Transactions dated in the future. An invoice dated next month sits in the file and is picked up or excluded depending on how each report treats the date, which is the same trap that makes a future publish date look like a missing page.
Foreign currency. If you invoice in more than one currency, the ledger revalues balances at a rate and the aging can show a different one. The difference here is real and small, and it should still be identified rather than shrugged at.
What not to do
Do not journal the difference away. An adjusting entry that forces the control account to match the aging is the single most damaging thing you can do here, because it removes the symptom and leaves the cause, and the next person to look has no way to tell that anything was ever wrong. Every reconciliation after it inherits a balance that ties for the wrong reason.
Do not write off invoices to make the numbers meet. That changes revenue and it changes what you are telling yourself about collections.
Do not accept a difference because it is small relative to the total. Size tells you how urgent it is, not whether it is real. A hundred dollar difference caused by a stray journal entry is the same defect as a hundred thousand dollar one, and it will keep growing as long as whoever posted the first entry keeps working the same way.
Once it ties, check it against something outside the file
Both reports came from your own system, so agreement between them proves internal consistency rather than truth. An invoice for work that was never delivered will tie perfectly.
The check that reaches outside is the customer. Sending a statement to anyone with a meaningful open balance, or asking directly what they show as owed, is the only step in this process that brings in evidence you did not create. For a lender or an auditor it is the step they will run themselves, so running it first means their version holds no surprises.
Reading the aging alongside the reconciliation is worth the extra minute too. The total ties, and the shape of it tells you something separate: a balance concentrated in one customer, or a growing column past ninety days, is a collections problem that a perfectly reconciled report will happily carry for a year.
Keeping it tied
The habit that prevents most of this is refusing to post journal entries to Accounts Receivable at all. Nearly everything people use them for, meaning write-offs, adjustments and corrections, can be done with a credit memo or an invoice against the actual customer, which keeps the ledger and the subledger moving together by construction.
Where an entry genuinely has to hit AR, put a customer on it. It costs one field and it keeps the entry visible on the report where somebody will eventually go looking for it.
Then run the comparison every month while it is cheap. Two reports, one date, one difference, driven to zero.