The auditor asks for the debtors aging. You print it, and the total doesn't match trade receivables on the trial balance. Now you have to explain the difference.
Most of the time it isn't a real difference: the two reports were run differently. When it is real, it's almost always the same thing: someone posted straight to the control account. Here's how to check, find it and stop it happening again. AR and AP work exactly the same way.
Quick answer
- Run the Trial Balance and Aged Accounts Receivable for the same date, with Aging by = Posting Date. The Balance of all your receivables control accounts should equal the aged report's Total (LCY).
- Still different? Run Reconcile Customer and Vendor Accounts. The Difference column shows which account is off.
- Open General Ledger Entries for that account and filter Source Type = blank. Those entries were posted straight to the account, without a customer.
- Turn off Direct Posting on every receivables and payables account so it can't happen again.
Why they stop matching
|
Posted through a customer
▼
Sales invoice, payment,
customer journal line ▼
Customer ledger and control account
both move ▼
✓ Aging = G/L
|
Posted straight to the G/L
▼
General journal line,
Account No. = control account ▼
Control account only
customer ledger doesn't move ▼
✗ Difference
|
Method 1: Trial Balance against the aged report
Step 1: Find your control accounts
Open Customer Posting Groups and look at the Receivables Account column. You may have more than one: in this demo, domestic customers post to 2310 and foreign customers (the EU and FOREIGN groups) to 2320. The aged report covers all customers, so you compare it with all of these accounts together.
Step 2: Run both reports for the same date
Trial Balance:
- Search Trial Balance.
- No. = your control accounts, for example 2310|2320.
- Date Filter = the month you're checking, for example 01/06/25..30/06/25.
Aged Accounts Receivable:
- Aged As Of = the last day of that filter: 30/06/2025.
- Aging by = Posting Date.
- Print Amounts in LCY = on.
- Leave the Customer filter blank. BC remembers the filters from last time, so check nothing is left over.
Why Aging by Posting Date?
The G/L counts an invoice from its posting date. With Due Date or Document Date, the aged report also looks at the document date:
- An invoice dated 28 June but posted on 2 July shows up in a 30 June aging. The G/L at 30 June doesn't have it yet.
- With Document Date, an invoice posted on 30 June but dated 1 July is left out of the aging. The G/L at 30 June has it.
When posting and document dates are the same, all three give the same total. But only Posting Date follows exactly the same rule as the G/L, so it's the one to use for reconciling. Age by Due Date for your collection list, not for the auditor's tie-up.
Good to know
- Read the Balance column, not Net Change. Balance is the account balance at the last date of the filter. Net Change is only that month's movement.
- Total (LCY) is always in local currency. With Print Amounts in LCY on, every customer line is too, so you can compare customer by customer.
- Skip Customers with Zero Balance doesn't change the total. It checks each balance at the Aged As Of date.
- Different report names? Newer versions call it Trial Balance (Obsolete), and also have Excel versions (Trial Balance (Excel), Aged Accounts Receivable (Excel)) with the same date options. The rules here apply to all of them.
Step 3: Compare the two totals
| At 30/06/2025 | Amount |
|---|---|
| 2310 Customers Domestic (Trial Balance, Balance) | 10,108.01 |
| 2320 Customers, Foreign (Trial Balance, Balance) | 35,261.80 |
| Control accounts total | 45,369.81 |
| Aged Accounts Receivable, Total (LCY) | 45,369.81 |
| Difference | 0.00 |
Compared with 2310 alone, you'd see a "difference" of 35,261.80 that isn't one. The 554.50 in Net Change is just June's movement, so ignore it here.
Payables? Same steps
| Receivables (AR) | Payables (AP) | |
|---|---|---|
| Control accounts | Customer Posting Groups → Receivables Account | Vendor Posting Groups → Payables Account |
| In this demo | 2310, 2320 | GL Payables Control Account |
| Aged report | Aged Accounts Receivable | Aged Accounts Payable |
| Trial Balance shows it as | Debit | Credit |
| Source Type on good entries | Customer | Vendor |
Method 2: Reconcile Customer and Vendor Accounts
This report checks every receivables and payables account in one go, and shows you which one is off.
- Search Reconcile Customer and Vendor Accounts.
- Leave the G/L Account filter blank. The report finds every account used in your customer and vendor posting groups by itself.
- Enter the Date Filter, for example 01/01/25..31/07/25, and choose Preview.
Read the report
| Column | What it means |
|---|---|
| Indirectly Posted Amount | What customers or vendors posted to this account in the period: invoices, payments, customer and vendor journal lines. One line per posting group. |
| G/L Account Net Change | Everything that actually hit the account in the period, from any source. |
| Difference | Indirectly Posted Amount minus G/L Account Net Change. Anything other than 0.00 is your problem. |
On 2310, customers posted 0.00 net in the period, but the account moved by 150.00: 0.00 − 150.00 = −150.00. The G/L has 150.00 that no customer explains. (It was posted on 1 July, which is why the 30 June check in Method 1 still matched.)
Good to know
- It compares movement in the period, not the balance. A difference from before the start date won't show. To compare balances, leave the start open: ..31/07/25. To find when a difference started, shorten the period month by month.
- Focus on the Receivables Account and Payables Account rows. The report also checks payment discount, rounding and currency gain/loss accounts the same way.
- Equal and opposite differences on two control accounts? A customer's or vendor's posting group was probably changed on the card after it already had entries. The report counts older entries under the card's current group.
Step 4: Find the entry
- Search General Ledger Entries and filter G/L Account No. = the account with the difference (2310).
- Filter Source Type: open the drop-down and pick the blank option at the top.
Entries from invoices and payments carry Source Type = Customer and a Source No. An entry with a blank Source Type was posted straight to the account, usually from a general journal. Here it's document A01 for 150.00, exactly the difference. Select it and choose Find entries to see the other side of the journal.
Fix it
- A customer really owes it? Post a general journal line with Account Type = Customer, the customer and the amount, and Bal. Account No. = the control account (2310). The customer ledger picks up the amount and the control account doesn't change overall, so the two now agree.
- It shouldn't be in receivables at all? Reverse it (Reverse Transaction on the entry, if the month is still open; see Reversing a posted document) and post it to the right account.
- Both fixes touch the control account directly. If BC blocks them because Direct Posting is already off, turn it on for that one posting and off again straight after.
Step 5: Stop it happening again
- Open each receivables and payables account from your posting groups (2310, 2320, 5410, 5420 here).
- Turn off Direct Posting.
Sales and purchase documents, payments, and customer or vendor journal lines still post as normal. Only a general journal line with the control account itself in Account No. or Bal. Account No. is stopped, with an error like:
Direct Posting must be equal to 'Yes' in G/L Account: No.=2310. Current value is 'No'.
Bank and inventory accounts have the same problem with their own ledgers, so turn Direct Posting off on those too.
Source Type is clean but it still doesn't tie?
- Opening balances after go-live. The trial balance opening went to the control account and the customer opening invoices were posted too, so it's doubled. Or the customer openings were balanced against the control account itself, so it nets to zero. Filter the control account on your opening document number.
- It matched last month, but not now. Someone back-dated a posting into a month you'd already reconciled. Filter G/L Entries on that month and add the created date column with Personalize. Then close the month with allowed posting dates.
- A posting group was changed on a customer or vendor card. See the equal-and-opposite tip in Method 2.
✓ Make it a month-end habit. Before you close the month, run Reconcile Customer and Vendor Accounts for it. 0.00 on every Receivables and Payables row means your agings will tie.
FAQ
Why doesn't my aged receivables match the trial balance?
Usually because the two were run differently: different dates, aging by Due Date or Document Date, or only one of several control accounts. If it's still off after Method 1, someone has most likely posted straight to the control account.
Should I age by Due Date or Posting Date to reconcile?
Posting Date. It uses the same date as the G/L. Due Date and Document Date can include or drop invoices whose document date and posting date fall on different sides of the Aged As Of date.
The aging matches at month-end, but Reconcile Customer and Vendor Accounts shows a difference.
The report compares movement in the period. If the opening balance was already off, the period shows the correction. Run it with an open start date (for example ..31/07/25) to compare balances.
What does a blank Source Type on a G/L entry mean?
The entry was posted with no customer, vendor or other source, usually from a general journal line straight to the account. On a control account, that's what breaks the tie-up.
Will turning off Direct Posting stop sales invoices or payments?
No. Documents, payments and customer or vendor journal lines post as normal. Only general journal lines that use the control account itself are stopped.
"Direct Posting must be equal to 'Yes' in G/L Account: No.=2310."
You picked a control account on a general journal line. Use Account Type = Customer (or Vendor) and choose the customer instead. BC posts to the control account for you.
The aging matched last month, but not now.
Someone posted into last month after you reconciled. Filter G/L Entries on last month, add the created date column with Personalize, and look for recent entries. Close the month with allowed posting dates to stop it.
Does Accounts Payable work the same way?
Yes. Use the Payables Accounts from Vendor Posting Groups, Aged Accounts Payable with the same options, and look for entries without Source Type = Vendor.
Stuck somewhere? Drop a comment below — happy to help.






Comments
Post a Comment