The accounts payable aging report answers one question: who are we going to have to pay, and when does each of them expect it. Every accounting system produces some version of it, usually within two clicks of the reports menu, and it is the closest thing a small business has to a forward view of committed cash.
It is also a report that quietly lies when bills go into the file in a way it does not expect. The lying is not exotic. It comes from a handful of ordinary entry habits, and each one leaves a signature you can spot.
What the report is actually built from
Open bills. That is the whole input.
A bill is a transaction that records what you owe before you pay it, and only bills create a balance in Accounts Payable. An expense paid straight from the bank or a card, with no bill entered first, never touches AP at all. It hits the expense account and the money account and it is done.
So a business that pays everything on a card the day the invoice arrives has an aging report showing close to nothing. The report is not broken there. It is telling the truth about a file where nothing is ever owed for more than a few hours. What it cannot do in that file is help you plan, because the obligation and the payment happen in the same instant and there is never a moment where the report has anything to show you.
That trade is worth naming, because it is the reason to enter bills at all. Bills exist so that you can see a payment coming before it lands.
The buckets, and the setting that decides them
The standard layout is a column for current, then 1 to 30 days, 31 to 60, 61 to 90, and over 90. Both QuickBooks and Xero let you change the width and number of those columns, so a business paying on net 15 terms can set 15 day periods and get columns that mean something instead of columns inherited from a default.
The setting that matters more is what the report is counting days from. Aging from the due date puts a bill in the current column until the day it actually falls due. Aging from the bill date starts the clock when the invoice was issued, which makes a vendor on net 60 terms look 31 days late on the day they become 31 days old.
If your vendors are all on the same terms, the two views tell you the same story shifted sideways. If terms vary, and they usually do, aging by bill date produces an overdue column full of bills that are not overdue, and you stop trusting the report within a month. Check which one you are looking at before you read anything into the columns.
Running a payment week off it
Sort by due date and work down. That sounds obvious and it is not what most people do, because the eye goes to the largest number on the page and the largest number is rarely the most urgent one.
Then apply the things the report does not know. Payroll taxes, rent and insurance carry consequences that are out of proportion to their size. Some vendors stop work on day one past due and some will carry you for a month if you tell them. Anything under dispute should be paid last and should be marked somewhere other than your memory.
What the report gives you is the obligation and its timing. Your cash position gives you the capacity, and the gap between them is the decision. Doing this weekly, against a report you trust, is most of what a small business needs from a payables process.
One reading worth doing every time: look at anything sitting past 90 days that nobody has chased you for. A bill that old and that quiet is usually not an unpaid bill. It is a bill that was paid another way, or one that was entered twice, or one that was never owed.
What makes the total wrong
A bill entered, then paid without being matched to it. Somebody enters the bill, and later somebody pays the vendor from the bank or the card and codes that payment straight to an expense account. The expense is now in the books twice and the bill is still open. This is the defect that inflates AP most reliably, and the tell is a vendor whose aging balance never moves while their invoices are clearly being paid.
Vendor credits recorded but never applied. A credit note goes onto the vendor's record and then sits there. The vendor's balance is right in total and wrong in shape, since an open bill and an open credit are showing separately instead of netting. Applying credits is a two minute job that also stops you paying a bill the credit already covered.
The same bill entered twice. An invoice arrives by email and again as a PDF from a colleague, or a vendor sends a monthly statement and somebody enters the statement alongside the individual invoices it summarizes. Two entries, one obligation.
A bill dated when it was received rather than when it was issued. The date on the bill drives every column on this report. Entering last month's invoice with today's date moves it out of the bucket it belongs in and, on the accrual basis, moves the expense into the wrong month as well.
Journal entries posted to the Accounts Payable account. An entry that hits AP without naming a vendor changes the balance sheet without appearing anywhere on the aging, so the two stop agreeing and nothing on the report explains why. Where an adjustment genuinely has to touch payables, put the vendor on it.
A second payables account. Charts of accounts grow, and a file that has picked up an extra AP type account somewhere along the way will add both into the balance sheet total while the default aging report reads one of them.
The shape tells you things the total does not
A balance concentrated in one vendor is a dependency. If that vendor is also the one you are slowest to pay, the risk is not financial, it is that the relationship breaks at the wrong moment.
A 90 plus column that carries the same total month after month is not a payables problem, it is a data problem. Real old debt gets chased and either paid or negotiated. A frozen column is stale entries, and the fix is the cleanup described above rather than a payment.
An aging report where everything is in the current column can mean the business is beautifully run. It can also mean bills only get entered on the day they get paid, which produces the same picture with none of the value. The way to tell them apart is to look at when bills enter the file relative to when they clear.
Checking it against something outside your file
Everything above compares your file to itself. The report and the balance sheet can agree perfectly while both are missing an invoice that never got entered.
Vendor statements are the outside evidence, and payables is the easier side to get them for, since most vendors send statements without being asked and the rest will send one on request. Take your largest few vendors by balance, ask for a statement as of month end, and compare it line by line to their detail on your aging.
Where the two disagree, the difference is a list of specific invoices, not a number to be absorbed. An invoice on their statement and not in your file is an obligation you did not know about. An invoice in your file and not on theirs is usually a duplicate or something already paid. Both are worth knowing before a vendor calls, and both are far cheaper to find at month end than during a lender's diligence.
Keeping it usable
Enter the bill when the invoice arrives, not when you pay it. Pay from the bill rather than from the bank feed, so the payment closes the obligation instead of creating a second copy of it. Keep terms on the vendor record so the due dates on this report are real. Apply credits the day they arrive.
Then look at it twice on different cadences. Weekly, to decide what gets paid. Monthly, against the Accounts Payable line on your balance sheet, to catch anything that got in without a vendor attached.
None of that takes long in a file where bills are entered consistently. In a file where they are not, this report is the fastest way to find out.