Cellwise Try it free

Free Excel template · Excel for medical office

Free medical billing aging report template

For billing coordinators and office managers who follow up on unpaid claims and patient balances. Paste in each claim with its date of service, billed and paid amounts, set the as-of date, and the template works out the balance and days outstanding, sorts every open claim into an aging bucket, and totals the buckets and payers so you know where to start calling.

cellwise-medical-billing-aging-report.xlsxExcel workbook · 5.0 KB · works in Excel, Google Sheets, Numbers and LibreOffice · no signup
Download free template

Preview and try it

This is the template's sheet, calculated by the same engine as the Cellwise app. Change any number to see the formulas react before you download.

ABCDEFGHI
1Claims aging report
2As ofOct 31, 2026
3
4Claim #Patient IDPayerDate of serviceBilledPaidBalanceDays outstandingAging bucket
5CL-50211P-1042Commercial plan AOct 20, 20262400240110-30 days
6CL-50198P-1213MedicareSep 16, 202641004104531-60 days
7CL-50176P-1150Self-paySep 28, 2026950953331-60 days
8CL-50140P-1222Commercial plan BAug 20, 20265203401807261-90 days
9CL-50102P-0954Self-payJul 28, 202612001209591-120 days
10CL-50233P-1189Commercial plan AOct 10, 20263650365210-30 days
11CL-50089P-0871Commercial plan BJun 15, 20266100610138Over 120 days
12CL-50150P-0988MedicareAug 28, 20262852850Paid
13CL-50215P-1301MedicaidOct 2, 20261500150290-30 days
14CL-50120P-1107Commercial plan AJul 14, 202643021521510991-120 days
15
16BucketClaimsBalance% of A/R
170-30 days37550.31656184486
1831-60 days25050.21174004193
1961-90 days11800.075471698113
2091-120 days23350.14046121593

How the formulas work

Days outstanding from a fixed as-of date

H5=IF(G5<=0,"",$B$2-D5)

Dates are day numbers in Excel, so the as-of date minus the date of service is the number of days. Using a typed as-of date in B2 instead of TODAY() means the report shows the same numbers when someone opens it next week, which matters when you send it to a manager. Paid claims are left blank so they do not count as old.

Sort each claim into an aging bucket

I5=IF(H5="","Paid",IF(H5<=30,"0-30 days",IF(H5<=60,"31-60 days",IF(H5<=90,"61-90 days",IF(H5<=120,"91-120 days","Over 120 days")))))

The nested IF checks the smallest bucket first and stops at the first match, so 45 days becomes 31-60 days. The labels include the word days on purpose: Excel can turn a typed label like 1-30 into a date (January 30), which would break the bucket totals.

Total each bucket

C17=SUMIF($I$5:$I$14,A17,$G$5:$G$14)

SUMIF adds the balance for every claim whose bucket label matches the label in A17. The ranges are locked with dollar signs so the formula copies down the bucket list. Column B counts the claims the same way with COUNTIF, and column D shows each bucket as a share of the total.

Dollar-weighted average days outstanding

C31=ROUND(SUMPRODUCT(G5:G14,H5:H14)/SUM(G5:G14),1)

SUMPRODUCT multiplies each balance by its age and adds the results, so a $610 claim at 138 days counts far more than a $95 one at 33 days. SUMPRODUCT treats the blank text in paid rows as zero. Watch this number month to month: if it creeps up, follow-up is falling behind.

Make it yours

FAQ

How do I calculate days outstanding in Excel?

Subtract the date of service (or claim submission date, if that is how your office measures it) from an as-of date: =$B$2-D5. Format the result as a number, not a date.

Why not use TODAY() for the aging date?

TODAY() recalculates every time the file opens, so last month's report would quietly show different numbers. A typed as-of date keeps each report fixed.

Should patient names go in the aging report?

Use the patient or account ID your system already uses, and follow your practice's privacy policy on where files with patient information can be stored and who can open them.

Functions used

Related guides

More free templates

Updated