Why most practices never check
Billing is the one part of a practice that is both the hardest to see and the easiest to lose money in. Money arrives, so it looks like the system works. What you cannot see from the bank balance is the money that should have arrived and did not — the claim denied in March that nobody appealed, the underpayment on a contracted rate, the clean claim that timed out at day 366.
Almost no billing company publishes a way to check their own work, for reasons that are not hard to guess. So here is the framework we use, in full. You can run it on us.
What you need before you start
- An A/R aging report by payer, broken into 0–30, 31–60, 61–90, 91–120 and 120+ day buckets.
- A denial report for the last three months, with denial codes if your system produces them.
- A list of open claims showing the date of last activity on each.
- Your payer contracts or fee schedules, for the underpayment check.
- Whatever monthly reporting you currently receive, if any.
If you cannot get these within a couple of business days of asking, that is itself the first finding. Any billing operation should be able to produce them on request, and a reluctance to hand them over is the single loudest signal in this entire framework.
The nine checks
Run them in order. The first three catch most problems.
1. Accounts receivable over 90 days
- What to pull
- From the A/R aging report: what percentage of your total outstanding A/R sits in the 91+ day buckets?
- What good looks like
- Commonly cited as acceptable under 15–20%, and healthy under 5–10%. These ranges are widely published; where your practice should sit depends on payer mix and specialty.
- Why it matters
- This is the single most revealing number in billing. Claims do not age because they are complicated. They age because nobody is working them. If a fifth of your money is over 90 days old, somebody has stopped following up — and every day past that makes recovery harder, until timely filing closes the door permanently.
2. Denial rate and, more importantly, categorisation
- What to pull
- What percentage of claims are denied on first submission — and can whoever bills for you tell you why, grouped by cause?
- What good looks like
- The rate itself varies widely by specialty and payer mix, so treat any universal benchmark with suspicion. The categorisation is the real test.
- Why it matters
- A biller who can tell you the rate but not the reasons is submitting and resubmitting, not managing denials. The whole value of denial work is finding the upstream cause — a missing modifier, an eligibility gap, a documentation pattern — and fixing it so the next hundred claims do not repeat it. Without categorisation, that is impossible by definition.
3. Unworked claims
- What to pull
- From the open claims list: how many have had no activity in the last 30 days? Sort by date of last action and look at the bottom of the list.
- What good looks like
- There is no acceptable number here other than one you can account for.
- Why it matters
- This is the check that most often produces an uncomfortable silence. Claims sitting untouched for 60 or 90 days are not being worked, whatever the monthly report says. Pick five at random and ask what happened with each one. The quality of the answer tells you more than any aggregate statistic.
4. Payment posting accuracy
- What to pull
- Take ten remittance advices at random and trace each one into your system. Do the posted amounts, adjustments and patient responsibility match the ERA exactly?
- What good looks like
- Ten out of ten. Posting is mechanical; errors here are not judgement calls.
- Why it matters
- Bad posting corrupts everything downstream. If adjustments are posted as write-offs, underpayments vanish without trace. If patient responsibility is misallocated, you chase the wrong party. And every report you receive is built on this data, so posting errors make all the other numbers unreliable.
5. Submission lag
- What to pull
- From charge entry to claim submission: how many days, on average? Not from date of service — that includes however long the provider took to close the note.
- What good looks like
- One to two business days from complete documentation is a reasonable expectation.
- Why it matters
- Every day of lag is a day added to your A/R before any payer has even seen the claim. Measuring from date of service hides whether the delay is yours or theirs. Separate the two, because the fix is completely different depending on the answer.
6. Eligibility verification
- What to pull
- What proportion of visits have benefits verified before the patient is seen, rather than after a denial?
- What good looks like
- Varies by practice type, but the direction matters more than the number: front-end verification should be the default, not the exception.
- Why it matters
- Eligibility denials are the most preventable category in billing and among the most common. They are also the cheapest to fix, because the fix happens before the visit rather than through an appeal afterwards. A high eligibility denial rate is a front-desk process problem that billing is absorbing.
7. Credentialing currency
- What to pull
- Is every provider currently enrolled and in-network with every payer you bill? When does each re-credentialing fall due?
- What good looks like
- Commercial credentialing commonly runs 90–120 days from a complete application; Medicare through PECOS around 60–90 days; Medicaid varies widely by state, roughly 30–120 days.
- Why it matters
- A lapsed enrolment does not announce itself. It shows up as a wave of denials weeks later, by which point you may have seen hundreds of patients whose claims cannot be paid — and many payers will not backdate. Whoever handles your billing should be tracking re-credentialing dates in advance, not reacting to the denials.
8. Reporting cadence and content
- What to pull
- How often do you receive reporting, and does it contain the numbers above — or only what was collected?
- What good looks like
- Monthly at minimum. Collections alone is not reporting.
- Why it matters
- A report showing what came in tells you nothing about what should have. The useful report shows A/R by bucket, denials by category, and what moved since last month. If you have to log into a portal and build it yourself, that is not reporting either.
9. Underpayment detection
- What to pull
- Are payments checked against your contracted rates, line by line at CPT level — or only checked for having arrived?
- What good looks like
- Any answer other than "yes, systematically" is a finding.
- Why it matters
- This is the check almost nobody runs, and the one that quietly costs the most. A payer paying 80% of the contracted rate looks exactly like a payer paying correctly, unless somebody is comparing. Across a year, a systematic underpayment on a common code is a large amount of money that never appears as a denial or an aged claim.
How to read the results
Three or more findings in the first three checks means the problem is structural, not a bad month. Claims are not being worked, and no amount of reporting will change that.
Findings concentrated in checks 4 to 6 usually mean process rather than effort — something is broken upstream and billing is absorbing it. These are often the easiest to fix and the fix is frequently not in billing at all.
A clean run on 1 to 8 and a failure on 9 is the most common result for practices whose billing is basically competent. Underpayment detection is specialised work and most operations simply do not do it.
If you are auditing an outsourced company
Send them this list and ask for the answers in writing. You are entitled to every one of these numbers — it is your data. How quickly and how completely they answer is itself the finding. A company doing the work will welcome the question. A company that is not will take a long time to reply, answer in generalities, or explain why these are the wrong metrics.
If you are auditing your own team
Run exactly the same checks. In-house billing fails in the same ways outsourced billing does, and usually for a more sympathetic reason: one person is doing the work of two and triaging by what is loudest. The findings tell you whether you need a different process, another person, or help.
What this framework will not tell you
It measures whether billing is being done properly. It does not measure whether your fee schedule is competitive, whether your payer mix is right, or whether your coding is capturing everything the documentation supports. Those are separate pieces of work.
It also will not tell you that outsourcing is the answer. Plenty of practices run this and find their billing is fine, or that the fix is one process change at the front desk. That is a good outcome and a cheaper one.