Average days to pay report for QuickBooks Online
QuickBooks Online doesn’t have an average days to pay report: Intuit’s own help article (opens in new tab), last updated 5 August 2026, says so, and suggests exporting a report to Excel and building it there.
This page does that for you: the export that comes closest, what it can and can't tell you, and the spreadsheet steps that turn it into an average for each customer. I checked every step in Intuit's sample company on 21 October 2026.
I'm Rob Neal. I built the free Signal Check on this site, which reads QuickBooks exports, so these are the steps I'd give you if you called and asked.
The report to run
Invoices and Received Payments
It's the closest thing QuickBooks Online has: every invoice that has been paid, in full or in part, listed beside the payments applied to it, each with its date. It needs two columns added before you export it.
- Go to Reports and open "Invoices and Received Payments". It's under "Who owes you", or search for it.
- Set the report period to "All Dates", or at least the last 12 months.
- Select "Customize". Under Columns, tick "Open Balance" and then "Due date", and select "Apply changes".
- Select the Export icon, then "Export to Excel".
Worth knowing
- Leave "Invoice date" off. Older answers on Intuit's forums say to add it, but in the current layout it comes out blank on every row. The Date column on an invoice's row already is the invoice date.
- Choose plain "Export to Excel". "Export to Excel (with grouping)" writes the same cells plus Excel's collapse buttons, and its groups leave out each customer's last row.
- Instructions written before May 2026 describe the Classic layout, which printed each payment with the invoices it paid listed beneath it. QuickBooks Online retired the Classic reports that month, and the current layout doesn't work that way.
Read it honestly
What this export can tell you, and what it can’t.
What it can tell you
- When each finished invoice was paid
- Every invoice with a payment against it is listed beside the payments applied to it, each with its date. The gap from the invoice's date to the last of those payments is its days to pay.
- Which invoices are finished
- With Open Balance added, an invoice paid in full shows zero and a part-paid one shows what's still owed, so you measure the finished ones and leave the rest out instead of guessing.
- How late against your terms
- Due date is on every invoice's row, so the same sheet shows how many days past due each invoice was paid, which is the number your terms are about.
What it can't
- Which payment paid which invoice
- Payment rows carry no invoice number. An invoice's payments sit next to it, but above it as often as below: in Intuit's sample company, 7 of 14 invoices sat above their payment rather than under it, and the order changed when I ran the report again with a date range covering the same invoices. You match them yourself, or open the payment in QuickBooks, which lists the invoices it paid.
- Customers who haven't paid at all
- Only invoices with at least one payment or credit applied are listed. In Intuit's sample company that was 14 of 31: the 17 with nothing paid weren't in the report, the oldest unpaid one among them. An average from this file describes the customers who pay and leaves out the ones who don't. Open Invoices, under Who owes you, lists those.
Do it in a spreadsheet
Turn the export into an average for each customer.
This works in Excel or Google Sheets, on the file exactly as QuickBooks writes it: three title rows, the column headings in row 5, and each customer’s name in column A. Step 3 is the slow part, and there’s no way round it, because the file doesn’t say which payment paid which invoice.
Put the customer on every row
QuickBooks puts each customer's name on a row of its own in column A, above their transactions. In the first empty column (I, if you added the two columns above), type Customer in row 5, then put this in I6 and fill it down to the last transaction:
I6 =IF(A6<>"",A6,I5)A job gets its own name, the way QuickBooks lists it. Type the parent's name over it if you want them counted together.
Turn the dates into dates
The export writes dates as text, which a spreadsheet can't subtract. Type Date in J5, put this in J6, fill it down, and format column J as a date:
J6 =IF(B6="","",IF(ISNUMBER(B6),B6,DATE(RIGHT(B6,4),LEFT(B6,2),MID(B6,4,2))))Write down when each finished invoice was paid
Type Paid in K5. Then, for each invoice row whose Open Balance is zero, find the payment rows beside it, above or below, whose amounts add up to the invoice. On the invoice's row, in column K, type = and click the column J date of the last of those payments. If you can't tell which payment it was, open it in QuickBooks: it lists the invoices it paid.
K8, for an invoice on row 8 paid on row 7 =J7A credit shows up as a Credit Memo row plus a Payment row of zero on the same day. If the credit finished the invoice, that's the day to use.
Count the days
Type Days in L5. On each invoice row you filled in, take the invoice date from the paid date:
L8 =K8-J8Average it by customer
Select columns I to L from row 5 down and insert a pivot table (Insert, then PivotTable in Excel; Insert, then Pivot table in Google Sheets). Put Customer in Rows, and add Days to Values three times: as Average, as Count, and as Max. Average is each customer's days to pay, Count is how many invoices it rests on, and Max is their slowest.
Compare it with your terms, if you want to
Due date is in column H. Days late is the paid date less the due date, and a negative number means early:
M8 =K8-IF(ISNUMBER(H8),H8,DATE(RIGHT(H8,4),LEFT(H8,2),MID(H8,4,2)))
Read Count before you act on Average: three invoices are a hint, not a habit. And remember what the file leaves out. A customer who hasn't paid anything for months won't look slow here, because they aren't here.
If you want the whole ledger instead
The free Signal Check does the company-wide version in two minutes.
It reads a different QuickBooks Online export, the invoice list, and shows how much cash is stuck past 60 days, about how long you wait to get paid across the business, and how much of your revenue rides on your five biggest customers. It doesn’t read the payments report above, so it can’t give you each customer’s average, and because the invoice list carries no payment dates, its days figure is an estimate and says so. The file never leaves your computer: the check runs in your browser.
Run the free Signal CheckHow to export the invoice list from QuickBooks Online →
Summit Labs is not affiliated with Intuit. QuickBooks and QuickBooks Online are trademarks of Intuit Inc. The steps and screens above were checked in Intuit’s QuickBooks Online sample company on 21 October 2026.
