In DME, money leaks in two places before you ever lose an appeal: claims that age out, and claims that never get submitted cleanly in the first place. Held and unbilled revenue — orders stuck waiting on a CMN, an authorization, or a proof of delivery — is cash the business has earned but can't bill, and it's almost invisible on most platforms because it sits before the claim, not in the AR report. This dashboard makes both halves visible: what's aging, and what's stuck upstream of submission.

What this report answers

Where is our open AR, how old is it, and how much of it will we actually collect? The AR aging page shows total open AR, days in AR (DSO), the share over 90 days, and net collection rate, then breaks open balance down by aging bucket and by payer so the at-risk dollars are obvious. The held & unbilled page answers the upstream question: how much revenue is stuck before submission, why (missing CMN, awaiting authorization, eligibility issue, proof of delivery missing), in which product categories, and whether the held pile is growing week over week.

The metrics that matter

Days in AR (DSO) is the speed of your revenue cycle — open AR over average daily billed revenue. AR over 90 days is the early-warning line: the older a claim, the less likely it pays, and DME claims age fast against timely-filing limits. Net collection rate (collected ÷ allowed) is the truest health measure — what you actually banked against what your contracts allowed. Held / unbilled revenue is the one most reports miss entirely: real, earned dollars that can't move until a document or authorization clears.

Why the data is trapped

Open AR lives in the billing module of Brightree, NikoHealth, Bonafide, TeamDME, or WellSky DME, while held and unbilled orders sit in a confirmation or document-tracking queue — a different screen, sometimes a different system. Owners get an aging report that shows submitted claims but not the orders stuck before submission, so the held pile compounds unseen. Pulling both into one model, bucketed by reason and payer, is the step that turns two stale exports into a single picture of where cash is trapped.

How to read it

Read DSO and AR-over-90 together: a rising over-90 share with flat DSO means a specific payer or product is dragging. Then attack the held & unbilled page — those dollars are the fastest to recover because they only need a document or auth, not an appeal. A held pile concentrated in "Missing CMN/Documentation" points at intake; "Awaiting Authorization" points at the auth team. The weekly held trend tells you whether you're clearing faster than orders arrive. This sample uses synthetic ledger data only — no real claims or PHI.

Metrics it tracks

MetricWhat it means
Total Open AROpen balance across all unpaid claims and invoices — SUM(OpenBalance).
Days in AR (DSO)Open AR divided by average daily billed revenue — SUM(OpenBalance) ÷ SUM(DailyBilledRevenue).
AR Over 90 Days RateShare of open AR aged past 90 days — open balance in the 91-120 and 120+ buckets ÷ total open balance.
Held / Unbilled RevenueDollars stuck before clean submission — SUM(OpenBalance) where BillStatus is Held or Unbilled.
Collected This PeriodPayments posted in the period — SUM(CollectedAmount).
Net Collection RateCollected over contractually allowed — SUM(CollectedAmount) ÷ SUM(AllowedAmount).

Used by: DME/HME owner; billing & ops director

Frequently asked questions

What is a good days-in-AR (DSO) for a DME supplier?

DSO is open AR divided by average daily billed revenue — lower is better. DME tends to run higher than other healthcare billing because of documentation and authorization delays, so the value is watching your own trend and which payers and product categories drag it up, rather than hitting a universal number.

What does 'held / unbilled revenue' mean in DME?

It's earned revenue stuck before clean submission — orders waiting on a CMN, an authorization, an eligibility check, or a proof of delivery. It doesn't show in a standard AR aging report because the claim hasn't gone out yet, which is exactly why it quietly compounds. Bucketing it by hold reason tells you which upstream process to fix.

Why does AR over 90 days matter so much?

DME claims face timely-filing limits and payer-specific windows, so a claim that ages past 90 days is at real risk of never being collected. Watching the over-90 share lets a billing team work the most at-risk dollars before the window closes instead of discovering write-offs after the fact.

Build this report on your own data

Clone this DME/HME template — describe it and we’ll generate sample data so you can try it free, or upload your own export. You get a fully modeled, branded Power BI project that opens in Power BI Desktop.

Use this as a template →