How do I reconcile the AR subledger to the GL control account?
Pull the AR subledger balance (sum of open customer invoices, from an AR aging or register report) and compare it to the GL's AR control account balance for the same period-end. They should match exactly. When they don't, the almost-always cause is a journal entry posted directly to the AR GL account instead of through an actual invoice or payment transaction.
Part of the accounts receivable and collections guide.
| What's being compared | AR subledger total (sum of open customer invoices) vs. the GL's AR control account balance |
|---|---|
| Expected result | They tie exactly — a difference means something posted to one side but not the other |
| Most common root cause | A journal entry posted directly to the AR GL account, bypassing the invoice/payment transaction types that also update the subledger |
| Other causes | A void or deleted transaction not reversed consistently on both sides; a multi-currency revaluation posted to GL only |
| This page vs. the general subledger-close page | This covers AR specifically — see the separate page on tying AR/AP/inventory subledgers to the GL for the general close-task version |
Why the subledger and GL are supposed to match exactly
The AR subledger — the customer-level detail of every open invoice — and the GL's AR control account are meant to be two views of the same number: the subledger is the detail, the control account is the summary total that detail rolls up into. NetSuite's own A/R Register report exists specifically to support this comparison, combining posting sales and payment transactions across AR accounts so the subledger total can be checked directly against the control account balance for the same period. When every transaction that touches AR goes through a proper transaction type — an invoice, a payment, a credit memo — both sides move together automatically, and they tie.
The most common reason they stop matching
The break almost always traces back to a journal entry posted directly against the AR GL account instead of through an actual AR transaction. A journal entry that credits AR and debits some other account updates the GL balance immediately — but it doesn't touch the subledger, because the subledger only updates from transaction types actually designed to affect customer balances (invoices, payments, credit memos). The moment someone uses a journal entry to make an AR adjustment for convenience — correcting a balance, writing something off manually — the GL and subledger diverge by exactly that amount, and they stay diverged until it's found and corrected.
Other causes worth checking before assuming it's a journal entry
A voided or deleted transaction that wasn't reversed consistently on both sides can produce the same symptom — if a void updates the GL balance but the subledger detail record wasn't fully removed or reversed, the totals stop matching even though no journal entry was involved. Multi-currency accounts add another path: a currency revaluation adjustment posted to the GL to reflect a period-end exchange rate doesn't always have a corresponding update on the subledger side, since subledger detail is typically held at the transaction's original rate.
How to actually find the break
Rather than searching the whole period's activity, isolate the difference amount first, then look for a single transaction (or small set of transactions) matching that amount posted directly to the AR GL account outside a normal invoice or payment. A GL account activity report filtered to the AR account, scanned for entries whose source transaction type is a journal entry rather than an invoice or payment, finds this quickly in most cases — because a properly posted invoice or payment never shows up as a bare journal entry against that account.
Next step
Map the finance workflow with the most exposure and prove the automation path.
Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.
Worked example
A $6,000 write-off journal entry that broke the tie for two closes
At month-end, the AR subledger total (sum of all open customer invoices) is $412,300. The GL's AR control account shows $406,300 — a $6,000 difference. The subledger side is correct as far as it goes: every open invoice on it is real and unpaid. The GL side is off because a controller, closing out an account they'd determined was genuinely uncollectible, posted a journal entry three weeks earlier: debit bad debt expense $6,000, credit AR $6,000 — directly against the GL account, not through a credit memo against the specific invoice.
The GL now correctly shows $6,000 less AR exposure, but the subledger still lists the original invoice as fully open, because nothing about a bare journal entry touches subledger detail. The fix isn't reversing the write-off — the write-off itself was the right economic call — it's redoing it as a credit memo applied against the specific invoice, which reduces both the subledger and the GL together, then reversing the original journal entry so the $6,000 isn't removed twice. After the correction, both sides read $406,300, and the subledger no longer carries a phantom open invoice for an amount already written off in the GL.
Frequently Asked Questions
Sources
Related
Topic
AR & Collections
Accounts receivable is the money customers owe a business for goods or services already delivered on credit — a current asset on the balance sheet until it's collected. AR and collections, as a practi…
Read moreDefinition
What is an AR aging report and how do I read it?
An AR aging report lists every open invoice grouped by how long it's been outstanding — current, 1-30, 31-60, 61-90, and 90+ days past due. Read it by tracking the bucket distribution over time, not just the total; a shrinking current bucket and growing 90+ bucket signal a collections problem before it shows up in a blended DSO figure.
Read moreDiagnostic
Why does my AP aging report not match my GL AP balance?
The AP aging report is your subledger detail; the GL AP balance is the control account it should sum to. A mismatch almost always means a journal entry hit the control account without a matching subledger entry — a manual JE to AP, a bill dated into the wrong period, or an accrual that never reversed. Find the entry that only exists on one side.
Read moreDiagnostic
What is unapplied cash in AR and how do I clear it?
Unapplied cash is a customer payment that's been received and recorded, but not yet matched to a specific open invoice — it sits in a clearing or unapplied-payments balance instead of reducing a receivable. It's cleared by identifying which invoice(s) the payment is actually for and applying it; until that happens, it inflates cash while AR aging still shows the invoice as fully open.
Read more