A/P Aging Report Doesn't Match Balance Sheet in QuickBooks
No account needed for your first conversions. We never store your bank login.
Short answer: most of the time nothing is broken. The A/P Aging Summary runs on accrual basis no matter what your balance sheet is set to, and it defaults to an aging method called Current, which ages bills against today rather than against the report date. So a bill that was open on 12/31 but got paid in January simply will not appear on a 12/31 aging report you run in March, while the balance sheet as of 12/31 still shows the liability. Match the basis, switch the aging method to Report Date, and most differences close on the spot. What is left over is usually a bill and its payment sitting in different A/P accounts, or a payment recorded without a bill. Last updated August 2026.
This shows up at the worst time, which is when someone external is looking. You are handing a year-end package to a CPA, or a lender asked for a balance sheet and a payables schedule, and the two documents you just produced from the same company file report different numbers for the same account. It is worth knowing before you start digging that the reports are usually both right, and are answering slightly different questions.
Why do the two reports disagree in the first place?
The balance sheet reports the Accounts Payable account balance as of a date. The A/P Aging Summary reports open bills, and the definition of open depends on when you ask. Those are not the same question. A bill fully paid last week is closed today, so it leaves the aging report entirely, but on a balance sheet dated before the payment it is still an outstanding liability. Both statements are accurate. The reports just draw the line in different places.
What is the aging method setting, and where is it?
In the A/P Aging Summary go to Customize Report, then the Aging section, and you will find a choice between Current and Report Date. Current is the default and it ages every bill against today's date, which means bills paid at any point between the report date and now are treated as closed and excluded. Report Date ages against the date the report is run for, so a bill that was genuinely open on that date appears on the report even if it was paid afterwards. For any backward-looking comparison, Report Date is the setting you want.
Which basis is the A/P Aging Summary on?
Accrual, always. Aging reports are built on open bills, and bills are an accrual concept, so the report does not change when you switch a report preference to cash. That has a corollary worth checking on its own: a cash basis balance sheet should not show an Accounts Payable balance at all. If yours does, something is posting to A/P in a way that cash basis cannot resolve, which is almost always a journal entry or a check written directly against the A/P account. Fix that before you spend any more time comparing totals.
The four causes, and how each one looks
| What you see | Usual cause | Fix |
|---|---|---|
| Aging total is lower than the balance sheet | Aging method set to Current, bills paid after the report date | Customize Report, Aging, Report Date |
| Balance sheet shows no A/P but aging does | Balance sheet is on cash basis | Switch the balance sheet to accrual |
| Cash basis balance sheet shows an A/P balance | Journal entry or check posted straight to A/P | Rebuild it as a bill and a bill payment |
| A vendor shows a negative on the aging | Bill deleted or voided while its payment stayed | Apply the payment, or recreate the bill |
| Totals differ by one exact bill | Bill and payment in two different A/P accounts | Move both to the same A/P account |
| Old bills that were definitely paid | Paid with Write Checks instead of Pay Bills | Recode the check to A/P, then Pay Bills, Set Credits |
The first two rows are settings, not errors, and between them they account for the majority of the cases people bring to a forum. The bottom four are real data problems that will keep reappearing until someone fixes the underlying transactions.
How do I find the difference, step by step?
1. Run both reports as of the same date. Not the same period, the same as-of date. It sounds obvious and it is the single most common reason two numbers disagree.
2. Put the balance sheet on accrual. Customize Report, Display, and set the basis to Accrual so it is comparing like with like against an aging report that has no other option.
3. Set the aging method to Report Date. Customize Report, Aging, Report Date. Re-run and compare the totals again. A large share of differences close here, and if yours does, you are finished and nothing was ever wrong.
4. Run the Unpaid Bills Detail report and sort for negatives. Any negative line is a payment or a credit with no bill behind it, which is what a deleted or voided bill leaves behind. Note the vendors.
5. Double-click the Accounts Payable balance on the balance sheet. That opens a transaction detail for the account. Set Total By to Vendor and compare vendor by vendor against the aging report. The vendor whose subtotals differ is where the problem lives.
6. Check whether the file has more than one A/P account. Look at the chart of accounts filtered to Accounts Payable type. If there are two, a bill entered against one and paid against the other will never link, and both reports will report it differently.
7. Scan for journal entries and checks posted to A/P. Filter the transaction detail by type. Journal entries hitting Accounts Payable without a vendor name are invisible to the aging report but perfectly visible on the balance sheet, which produces exactly the gap you are chasing.
8. Fix the transactions, then re-run both reports. Do not adjust the balance with a journal entry to force agreement. That hides the cause and creates the next problem.
Why does a vendor show a negative balance on the A/P aging?
Because a payment exists without an open bill to apply against. The usual sequence is that somebody deleted or voided a bill that had already been paid, which leaves the bill payment check stranded and unapplied, and A/P goes negative for that vendor by the amount of the payment. Vendor credits entered but never applied to anything do the same. The fix depends on which happened: apply the unapplied payment or credit to an open bill through Pay Bills and Set Credits, or, if the bill was deleted in error, recreate it and then apply the payment to it.
Can a journal entry to Accounts Payable cause this?
Yes, and it is one of the harder ones to spot because the journal entry looks perfectly reasonable in the register. The A/P Aging Summary is assembled from bills and their payments. A journal entry that debits or credits Accounts Payable moves the account balance the balance sheet reports without creating anything the aging report knows how to age. If the entry has no vendor name on the A/P line, it will not attach to a vendor at all. Rebuilding those as real bills and bill payments is the durable fix, and it is usually a small number of transactions.
Why do bills I already paid still show as open?
Almost always because the payment was recorded with Write Checks rather than Pay Bills. The check reduces the bank account and posts to an expense, the original bill stays open in A/P, and now the expense is on the books twice. To fix it, change the check's account from the expense to Accounts Payable, name the vendor, save it, then go to Pay Bills, select the open bill, and use Set Credits to apply the check against it. Work through them in date order, because vendors with several of these get confusing fast. The broader cleanup routine for a payables ledger nobody has touched in a year is in cleaning up accounts payable in QuickBooks.
Should I just write a journal entry to make them agree?
No. It is tempting at 6pm on a deadline and it makes the next close worse. A journal entry to A/P is one of the causes of this problem, so using one as the cure adds a transaction the aging report cannot see, and the two reports will disagree again next month by a slightly different amount. The only case for an adjusting entry is a genuinely uncollectible stale payable you have decided to write off, and even then the entry belongs to a specific vendor and a specific decision that you can explain a year later, not to a rounding-up of a difference you never identified.
How do I stop this from coming back?
Three habits cover it. Pay bills through Pay Bills, always, so the link between a bill and its payment is never guessed. Keep one A/P account unless you have a documented reason for a second one. And check the aging against the balance sheet monthly rather than annually, because a difference caught in the month it appeared is one transaction, and the same difference caught in March is a year of transactions to sort through. Firms running purchase orders get a fourth: make sure every bill is matched against the purchase order that authorized it before it is entered, which catches quantity and price differences while the vendor still remembers the shipment.
Does the same thing happen with A/R?
Yes, and for identical reasons. The A/R Aging Summary is also accrual-only and also defaults to the Current aging method, so an invoice open on 12/31 and paid in January disappears from a backdated aging run in exactly the same way. The mirror-image checks are in A/R aging cleanup in QuickBooks. If both A/R and A/P are out and the balance sheet itself will not balance, that is a different and more serious problem, covered in a QuickBooks balance sheet that is out of balance.
Where does this fit in a month-end close?
Right after the bank and card reconciliations and before you produce any statements. The order matters because unreconciled bank activity generates exactly the kind of manual entries that break payables, so cleaning A/P first means doing it twice. If the card and bank activity is not in the file yet because the account has no working feed, that is the first thing to solve, and importing it from a downloaded file is usually faster than fighting a broken connection. Our CSV to QBO converter turns a bank or card CSV export into a QuickBooks Web Connect file for exactly that purpose, and the full sequence is in the QuickBooks month-end close checklist.