A denied claim is at least visible. The money doesn’t arrive, the claim sits in a work queue, and someone has to act on it. An underpayment is the opposite: money does arrive, the claim closes, and the fact that you received $185 instead of the $210 your contract specifies never triggers anything. Underpayments don’t accumulate in a work queue. They accumulate in your write-offs, labelled as routine adjustments.
What an underpayment actually is
Not every short payment qualifies. A CO-45 adjustment where the allowed amount matches your contracted rate is a normal contractual write-off: your billed charge was higher than the contract price, the payer applied the contract, and the math is correct. An underpayment is different. The allowed amount is below what your contract says you should receive for that CPT code. The payer shortchanged you, and the CO-45 adjustment makes it look unremarkable.
There’s no remittance code that flags this. The payer doesn’t mark the line as “paid below contract.” From the remittance alone, a correct CO-45 and a wrong one look identical. The only way to tell them apart is comparison.
Why underpayments go undetected
- Billing systems alert on denials, not underpayments. A claim that posts as paid moves to closed. Most workflows never check whether “paid” means “paid correctly.”
- CO-45 is the most routine code in any remittance. Every practice sees it constantly. A wrong allowed amount dressed as CO-45 generates no flags because nothing about it looks unusual.
- Most practices don’t have contracted rates loaded at the line level. Without a reference rate for each CPT and payer combination, there is nothing to compare against. The check can’t happen.
- Individual amounts are small. A $12 shortfall on one claim is invisible. That same $12 error across 300 claims for the same code is $3,600. Manual review doesn’t surface patterns; only systematic reconciliation does.
How to detect underpayments
The evidence lives in your 835 remittance files. The detection logic has four steps:
- Load your contracted rates by CPT code and payer. Use the fee schedule from your actual contract, not what your PM system defaulted to or what the payer claims their schedule is.
- Pull your 835/ERA data at the service-line level. Claim totals hide the detail; you need the allowed amount per CPT on each line.
- For every line carrying a CO-45, compare the allowed amount to your contracted rate for that CPT and payer combination. Any gap where allowed is below contracted is a candidate underpayment.
- Group your findings by CPT code and payer. Systematic underpayments show up as a pattern: the same payer, the same code, the same gap, repeated across many claims.
How to dispute an underpayment
Disputing an underpayment is a contract dispute, not a clinical appeal. The distinction matters because the two use different channels and different arguments.
- Pull the relevant section of your payer contract specifying the rate for the CPT code in question. The contract is your primary evidence.
- Document each affected claim: claim number, date of service, CPT code, contracted rate, allowed amount, and the gap. If the pattern spans many claims, summarize by date range and total dollar amount.
- Submit through the payer’s contract dispute channel, not the standard claim reconsideration portal. Some payers route this through provider relations; your contract or credentialing paperwork should name the right contact.
- Document your submission date and follow up in writing if you have no response within 30 days. Paper trails matter if the dispute escalates.
For Texas practices dealing with state-regulated commercial plans: if the payer takes too long to correct a confirmed underpayment, the delay may implicate the Texas Prompt Pay Act. Statutory interest can accrue on amounts that should have been paid within the clean-claim windows.
Keeping it from coming back
A successful dispute doesn’t prevent a recurrence. The payer’s fee schedule system may still have the wrong rate loaded, and it will keep applying it until corrected at the source.
- After a dispute resolves, watch the same CPT code and payer for 60 to 90 days to confirm the correction held on subsequent claims.
- Run a quarterly audit on your top 20 to 30 codes by volume, comparing allowed amounts to contracted rates. That catches recurrence and new errors before they compound.
- Track which payers have a history of systematic underpayments. Documented patterns give you leverage at contract renegotiation: you can demand better rates or stronger payment-accuracy language.
Where underpayments fit in the larger picture
Underpayments are one piece of a broader revenue leakage problem. Alongside unworked small-dollar denials and premature write-offs, they represent money you earned but never collected, not because the claim was wrong but because the payer paid less than agreed and nobody caught it. They’re the quietest form of revenue loss precisely because they look like payments. The full picture only becomes clear when you reconcile at the line level and compare what arrived against what your contract says should have arrived. Most practices find the total surprising the first time they run the audit. The write-off benchmarks guide covers how underpayments show up in the broader category data and what to expect when you start measuring.
