FORMULAS & FUNCTIONS

How to Build an Accounts Receivable Aging Report in Excel

An accounts receivable aging report groups unpaid customer invoices by how late they are, so you know who to call first and how much may never be collected. This tutorial walks through every accounts receivable aging report Excel formula you need: days past due, aging buckets, a summary with SUMIFS and COUNTIFS, and an allowance estimate, all checked against the invoice total.

Accounts receivable aging report in Excel as of Sep 30, 2026 with days past due, aging buckets, a SUMIFS summary and a $6,501.30 allowance estimate on $39,500.00 of receivables.
The finished result: every open invoice aged, bucketed and summarized from one as-of date.

What you will build

We will age the open receivables of Brightline Trading Co. at the end of September 2026. Ten unpaid invoices from six customers go in a simple list. Formulas work out how many days each one is past due, put it in a bucket, and summarize the buckets underneath.

AreaCellsWhat it holds
As-of dateB2The date you are aging to: Sep 30, 2026
Open invoicesA3:E13Customer, Invoice #, Invoice Date, Due Date and Open Balance (inputs)
Aging columnsF3:G13Days Past Due and Aging Bucket (formulas)
Invoice totalE14Total open receivables
Aging summaryA16:G22Balance, % of Total, Invoices, Loss Rate and Allowance for each bucket, plus a check
Inputs on top, summary underneath, everything driven by the date in B2.

All formulas here work in every current version of Excel, including Excel 2010 and later, Microsoft 365 and Excel for the web. If you track invoices as they are issued and paid, the invoice payment tracker is a good source list for this report.

Free download: Get the AR aging report template (.xlsx) and follow along. Yellow cells are inputs, and every formula in this tutorial is already in place.

How an aging report works

Each open invoice is measured against an as-of date, usually the last day of the month. The number of days past the due date decides its bucket:

BucketDays past dueWhat it usually means
Current0 (not yet due, or due today)Normal. No action needed.
1-30 days1 to 30A reminder email or call.
31-60 days31 to 60Follow up firmly; consider pausing new orders.
61-90 days61 to 90Escalate; agree a payment plan.
Over 90 days91 or moreHigh risk of non-payment; review for allowance or write-off.

Most collection-focused reports age from the due date, which is what we do here. Some businesses age from the invoice date instead. Both are valid; just say which one you used in the report title so nobody misreads it.

Step 1: List open invoices and an as-of date

  1. In A2 type As of date and in B2 enter 9/30/2026. Format it as a date.
  2. In A3:G3 enter the headers Customer, Invoice #, Invoice Date, Due Date, Open Balance, Days Past Due and Aging Bucket.
  3. Enter the ten open invoices in rows 4 to 13. All are on Net 30 terms, so each due date is the invoice date plus 30 days. If every customer has the same terms you can use =C4+30 in D4 instead of typing.
  4. In A14 type Total open receivables and in E14 enter =SUM(E4:E13). It should show $39,500.00.
Excel AR aging sheet with an as-of date of Sep 30, 2026 in B2 and ten open invoices listing customer, invoice number, invoice date, due date and open balance.
One row per open invoice. The as-of date in B2 drives every calculation.
Checkpoint: Open Balance is what the customer still owes, after partial payments and credit notes, not the original invoice amount. Dates must be real dates and balances real numbers; if they came from another system as text, fix numbers stored as text first.
Watch out: The invoice total in E14 should agree with the Accounts Receivable balance in your general ledger on the same date. If it does not, find the difference before you analyze the buckets: an aging report that does not tie to the ledger is not finished.

Step 2: Calculate days past due

Excel stores dates as numbers, so subtracting one date from another gives the number of days between them. Click F4 and enter:

=MAX(0,$B$2-D4)

$B$2-D4 is the as-of date minus the due date. For an invoice that is not due yet, that would be negative, so MAX(0,...) turns it into 0. The dollar signs lock B2 so every row reads the same as-of date when you copy the formula down to F13. Press F4 while the cursor is on B2 to add them.

Excel formula bar showing =MAX(0,$B$2-D12) returning 125 days past due for invoice INV-1002, due May 28, 2026.
As-of date in orange, due date in blue, result in green.
Checkpoint: F12 (INV-1002, due May 28, 2026) should show 125. F5 (INV-1041, due Oct 15, 2026) should show 0 because it is not due yet. If you see a date such as 5/4/1900 instead of a number, change the cell format of column F to General or Number.

Want a live report that ages itself every day? Replace the date in B2 with =TODAY(). For month-end reporting, keep a typed date so the report still shows the same numbers when you reopen it next month.

Step 3: Assign each invoice to an aging bucket

Now turn the number of days into a bucket label. In G4 enter this nested IF (the IF formula guide explains how nesting works) and copy it down to G13:

=IF(F4=0,"Current",IF(F4<=30,"1-30 days",IF(F4<=60,"31-60 days",IF(F4<=90,"61-90 days","Over 90 days"))))

Excel tests the conditions in order and stops at the first one that is true. 0 days is Current. Otherwise, up to 30 is 1-30 days, up to 60 is 31-60 days, up to 90 is 61-90 days, and anything larger is Over 90 days. Because each test only runs when the previous one failed, you never need to write “greater than 30 and less than or equal to 60”.

Excel nested IF formula in G4 assigning invoice INV-1019, 60 days past due, to the 31-60 days aging bucket.
INV-1019 is exactly 60 days past due, so it lands in 31-60 days.
Checkpoint: Test the boundaries, because that is where bucket formulas go wrong. INV-1019 in row 4 is exactly 60 days past due and must show 31-60 days, not 61-90. INV-1030 (11 days) and INV-1027 (26 days) should both be 1-30 days.

Prefer a lookup table to nested IFs? With XLOOKUP in approximate-match mode, the bucket formula becomes =XLOOKUP(F4,{0;1;31;61;91},{"Current";"1-30 days";"31-60 days";"61-90 days";"Over 90 days"},,-1). It finds the largest threshold that is less than or equal to the days, the same idea as the discount tiers in how to use XLOOKUP in Excel.

Step 4: Summarize the buckets with SUMIFS and COUNTIFS

  1. In A16:F16 enter the headers Aging Bucket, Balance, % of Total, Invoices, Loss Rate and Allowance.
  2. In A17:A21 type the five bucket labels exactly as the formula returns them: Current, 1-30 days, 31-60 days, 61-90 days, Over 90 days.
  3. In B17 enter the balance formula and copy it down to B21:
    =SUMIFS($E$4:$E$13,$G$4:$G$13,$A17)
  4. In C17 enter =IF($B$22=0,0,B17/$B$22) for the share of the total, and in D17 enter =COUNTIFS($G$4:$G$13,$A17) for the number of invoices. Copy both down to row 21.
  5. In row 22 add totals: =SUM(B17:B21) in B22, and the same pattern in C22 and D22.
Excel aging summary using SUMIFS and COUNTIFS with $9,015.00 on 2 invoices, 22.8% of the total, in the Over 90 days bucket.
SUMIFS adds the balances in each bucket; COUNTIFS counts the invoices.
BucketBalance% of TotalInvoices
Current$10,580.0026.8%3
1-30 days$9,950.0025.2%2
31-60 days$5,995.0015.2%2
61-90 days$3,960.0010.0%1
Over 90 days$9,015.0022.8%2
Total$39,500.00100.0%10
Almost a quarter of the receivables are more than 90 days past due. That is where collection effort should go first.
Watch out: Type the labels as 1-30 days, not just 1-30. Excel reads 1-30 as a date (January 30) and silently converts it, and then SUMIFS finds no match. Adding the word “days” keeps the labels as text.

Want the aging by customer as well? Add a customer criterion: =SUMIFS($E$4:$E$13,$A$4:$A$13,"Summit Logistics",$G$4:$G$13,"Over 90 days") returns 6,175.00, Summit’s one invoice over 90 days. The same multi-criteria pattern appears in summing monthly values with SUMIFS and counting overdue items with COUNTIFS.

Step 5: Estimate the allowance for doubtful accounts

The older an invoice, the less likely it is to be paid. Accountants use the aging buckets to estimate how much of the receivables balance will never be collected, and record that as an allowance for doubtful accounts. This is optional for a collections list, but it is what turns the aging report into a month-end accounting schedule.

  1. In E17:E21 enter a loss rate for each bucket. The sample uses 1%, 3%, 10%, 25% and 50%.
  2. In F17 enter =ROUND(B17*E17,2) and copy it down to F21.
  3. In F22 enter =SUM(F17:F21). The required allowance is $6,501.30.
Excel allowance for doubtful accounts calculation multiplying each aging bucket by a loss rate, for a total allowance of $6,501.30.
Balance x loss rate for each bucket. The older the bucket, the higher the rate.

Read the result like this: of $39,500.00 owed by customers, about $6,501.30 is not expected to be collected, so the net amount you expect to collect is $32,998.70. On the balance sheet, receivables are shown at that net amount.

The $6,501.30 is the balance the allowance account should have, not automatically this month’s expense. If the Allowance for Doubtful Accounts already has a credit balance of, say, $4,200.00, the adjusting journal entry is only the difference:

AccountDebitCredit
Bad Debt Expense2,301.30
Allowance for Doubtful Accounts2,301.30
Adjusting entry to bring the allowance from $4,200.00 to the required $6,501.30.
Watch out: The loss rates in the template are examples only. Base yours on your own history of how much in each bucket was eventually written off, adjusted for current conditions. Under US GAAP (CECL) and IFRS 9, an aging-based provision matrix like this is an accepted way to estimate expected credit losses when the rates are supported that way.

Step 6: Verify the report

Two checks prove the report is complete and the formulas are behaving:

  1. The buckets add back to the total. In G22 enter =IF(ROUND(B22-E14,2)=0,"Ties to total","Check buckets"). It should say Ties to total: $39,500.00 in the buckets and $39,500.00 in the invoice list.
  2. One row checked by hand. INV-1027 for Lumen Architects was due on Sep 4, 2026. From Sep 4 to Sep 30 is 26 days, so it belongs in 1-30 days, which matches F9 and G9.
  3. The total ties to the ledger. E14 should equal your Accounts Receivable balance on Sep 30, 2026.
Completed Excel AR aging report where the bucket total of $39,500.00 matches the invoice total and G22 shows Ties to total.
Final checkpoint: bucket total = invoice total, and one invoice traced by hand.
Ready-to-share test: Change B2 to 10/31/2026, assuming no payments come in. The Current bucket empties, Over 90 days grows to $14,350.00 on 4 invoices, and the total stays at $39,500.00 with G22 still showing Ties to total. Change B2 back to 9/30/2026 when you are done.

Common mistakes and quick fixes

What you seeLikely causeFix
A bucket shows 0.00 but invoices are in itThe summary label does not match the formula text, or Excel turned 1-30 into a dateRetype the label as 1-30 days, exactly as in the IF formula.
Days Past Due shows a dateColumn F inherited a date formatFormat column F as General or Number.
Negative days past dueThe MAX(0,…) wrapper is missingUse =MAX(0,$B$2-D4).
Every invoice shows the same days$B$2 was not locked, or D4 was locked by mistakeLock only the as-of date: $B$2-D4.
#VALUE! in column FThe due date is text, not a real dateConvert the due dates to real dates.
Total does not match the ledgerMissing invoices, unapplied payments or credit notesReconcile the invoice list to the AR account before reporting.
Bucket total does not tieA label in A17:A21 is misspelledCopy the labels from column G so the text matches exactly.

Frequently asked questions

Should I age invoices from the invoice date or the due date?

For collections, the due date is more useful because it shows how late the customer actually is. Some businesses and lenders ask for aging by invoice date. To switch, use =MAX(0,$B$2-C4) in column F and rename the buckets to 0-30 days old, 31-60 days old and so on.

How do I handle partial payments and credit notes?

Enter the remaining open balance in column E, not the original invoice amount. If a customer has an unapplied credit or payment, either apply it to a specific invoice or list it as a negative line so the total still agrees with the ledger.

Can I use TODAY() for the as-of date?

Yes. =TODAY() in B2 makes the report update every day, which is handy for collections. For a month-end schedule, type the date instead so the numbers stay fixed.

How do I highlight invoices that are over 90 days?

Use conditional formatting with a formula such as =$F4>90 applied to A4:G13. The approach is the same as in making late dates turn red.

Is the allowance the same as a write-off?

No. The allowance is an estimate of future losses and leaves the invoice open so you can keep collecting. A write-off removes a specific invoice you have given up on: debit the allowance and credit Accounts Receivable. Write-offs do not touch the P&L at that point, because the expense was already recognized through the allowance.

Final checklist

  • The as-of date is in B2 and every days formula points to $B$2.
  • Open balances reflect partial payments and credit notes.
  • Days past due use MAX(0,…) so not-yet-due invoices show 0.
  • Boundary days (30, 60, 90) land in the right bucket.
  • Summary labels match the formula text exactly and include the word days.
  • The bucket total ties to the invoice total, and the invoice total ties to the ledger.
  • Loss rates are based on your own collection history.

Aged receivables are one of the first things to review at month-end. Once they are clean, reconcile the bank account in Excel with XLOOKUP (customer payments that reached the bank but not the books show up there), then close the month with a monthly profit and loss statement, where bad debt expense appears as an operating expense.

Practice file: Download the AR aging report template. The “How It Works” sheet lists every formula and what it does.

Know who owes you, and for how long

Browse the OneXcel Tutorial Hub for more accounting workflows, explore ready-to-use Excel templates, or build a receivables dashboard with the OneXcel Dashboard Builder.

Discover more from OneXcel Studio

Subscribe now to keep reading and get access to the full archive.

Continue reading