Underpayment Detection: Recover $30K from Your Payers
Insurance payers underpay claims regularly. Most practices never catch it. Here's how to detect underpayments automatically and recover thousands.
Your practice has contracts with insurance payers specifying what they should pay for each service. But payers don't always follow those contracts. Sometimes they intentionally underpay. Sometimes it's a system error. Either way, your practice is owed money that goes uncollected. For a 20-provider practice, underpayments add up to $25,000-$50,000 annually in lost revenue that's never recovered because it's never detected. For more on this topic, see our guide on ERA/EOB processing.
The problem is scale. A provider sees 30 patients, bills 60 services, receives payment from 8 payers. If one payer underpays three claims by $15-30 each, that's a $50 loss your billing team will never notice in the aggregate. But multiply this by 250 working days and you're looking at thousands in unrecovered revenue. Detecting underpayments requires automated analysis, not human review.
This guide covers the underpayment detection process: understanding what underpayments are, building your fee schedule baseline, configuring automated analysis, and executing the appeals process.
What Counts as an Underpayment?
An underpayment occurs when a payer pays less than the amount your contract specifies for that service, given the patient's coverage plan. This is different from a denial (where the service isn't covered at all) or a downcode (where the payer changes your code to a lower-paying code and pays accordingly). An underpayment is when they agree the code and coverage are correct but send a check for less than contractually obligated.
There are three types of underpayments. First, fee schedule underpayments: Your contract with Payer X specifies $150 for CPT 99214. They send $135. Second, quantity underpayments: You bill three units of 96372 (injection administration). They only pay for two units. Third, coordination of benefits underpayments: Secondary insurance pays less than they should because they miscalculated the primary insurance payment.
| Underpayment Type | Example | Detection Method | Appeal Success Rate |
|---|---|---|---|
| Fee schedule error | Contracted $150, paid $130 for 99214 | Compare to fee schedule in contract | 85-90% |
| Quantity underpayment | Billed 3 units, paid for 2 units | Compare units billed to units paid | 75-80% |
| COB calculation error | Secondary paid $30, should be $50 | Manually verify COB coordination | 60-70% |
| Modifier error | Billed with -RT, paid as if -LT | Compare modifiers on claim to EOB | 80-85% |
| Unit calculation error | Billed 8 minutes of service, paid as 5-minute code | Match code units to service time | 70-75% |
Not all underpayments are worth appealing. A $2 underpayment on one claim costs you $15-25 to investigate and appeal. But a $30 underpayment repeated 100 times across the year is $3,000 in uncollected revenue, that's worth finding. Focus your detection efforts on identifying systematic underpayments (same error repeating across multiple claims) rather than one-time errors.
Foundation: Fee Schedule Baseline
You can't detect underpayments without knowing what you contracted to be paid. That's your fee schedule baseline. For each payer you contract with, you need a detailed list of every CPT code you submit and the contracted fee for that code. This is usually in your payer contract documents, but often it's buried in dense legal documents or outdated by payer amendments you didn't track.
Build a master fee schedule file for each payer. It should include: CPT code, code description, contracted fee, bundled status (whether this code is ever packaged with other codes), patient responsibility rules, and frequency limits. Update this quarterly as payers send contract amendments.
- Export each payer's fee schedule from their provider portal or contract documents
- Map each CPT code to your contracted fee (not your usual and customary fee, but your specific agreement)
- Note any CPT codes you bill that the payer doesn't list in their fee schedule
- Identify bundled codes where payer will only pay one code when you bill multiple
- Document visit-type specific fees (modifier-based pricing, facility-based pricing, etc.)
- Update quarterly when payers send contract amendments or rate increases
This foundation work is tedious but essential. A practice that doesn't have clean fee schedules for each payer will never detect underpayments systematically. Every appeal will be guesswork. Invest 20-30 hours upfront getting your fee schedules clean and organized.
Automated Payment Analysis
Once you have fee schedules, set up automated analysis. Your billing system should compare each received payment (from the ERA/EOB) to your contracted fee schedule and flag underpayments automatically. This is a rule-based analysis: if payment received is less than contract fee for that code, flag it.
Most major EHRs and billing platforms have this functionality built-in or available as an add-on. Epic, Cerner, Athenahealth, eClinicalWorks, and DrChrono all support automated underpayment detection if you configure their fee schedule modules correctly. Verify your system has this capability and that your fee schedules are loaded accurately. For more on this topic, see our guide on revenue cycle management guide.
The analysis should produce an underpayment report that shows: date of service, claim number, CPT code, units billed, units paid, contracted fee, payment received, underpayment amount, and payer. This report should be generated weekly and reviewed by your billing team. At minimum, flagged underpayments above $25 should be investigated.
| Underpayment Amount | Weekly Volume | Annual Impact | Investigation Priority |
|---|---|---|---|
| $10-25 | 2-3 claims | $1,000-$3,900 | Low, batch into monthly appeals |
| $25-50 | 1-2 claims | $1,300-$5,200 | Medium, track for patterns |
| $50-100 | 1 per 2 weeks | $1,300-$2,600 | High, investigate immediately |
| $100+ | Variable | $5,200+ | Very high, escalate to payer |
| Systematic pattern | Multiple per week | $10,000+ | Critical, priority appeal |
When the report shows a systematic pattern (same code, same payer, same amount consistently underpaid), you have a contract interpretation issue that warrants immediate payer contact. Don't appeal 100 individual claims one at a time. Contact the payer and ask why they're consistently paying $20 less than your contract for CPT 99214. Get a written explanation, then either resolve it or file a bulk appeal.
Common Underpayment Patterns
Certain underpayment patterns repeat across practices. Understanding these helps you know what to look for. First, bundled code underpayments. You bill a problem visit (99213) plus an injection (96372). The payer bundles them and only pays the higher code. You should have caught this at claim submission, but if you didn't, that's an underpayment worth $40-60. Look for this pattern monthly.
Second, modifier-based underpayments. You bill a service with a -25 (significant separately identifiable service) or -59 (distinct procedural service) modifier to indicate it's billable separately. The payer strips the modifier and bundles it anyway. This happens frequently with preventive visits that turn into problem visits, or with procedures done same-day with office visits. Detect this by comparing the modifiers on your submitted claim to what the payer actually paid for.
Third, place-of-service underpayments. Your fee schedule has different contracted rates for office vs. facility settings. You bill correctly, but the payer misinterprets your place of service and pays the wrong rate. A behavioral health practice might bill an office-based video visit at $120 but the payer pays it as a facility-based rate of $95. This pattern repeats across multiple claims and is fixable with a payer conversation.
- Bundled code underpayments, look for when two related codes are billed together
- Modifier-based underpayments, verify all submitted modifiers are reflected in payment
- Place-of-service mismatches, confirm payment rate matches your submitted facility type
- Time-based code underpayments, for timed codes (psychotherapy, physical therapy), verify duration coding
- Quantity underpayments, for multi-unit services, confirm units paid match units billed
- COB calculation errors, for secondary insurance claims, verify COB math independently
Each of these patterns has a detection strategy. The key is systematizing it so you don't miss them. Build a monthly checklist: Check for bundling issues. Check for modifier issues. Check for place-of-service issues. Check for quantity issues. Check for COB errors. Run the underpayment report. This 2-3 hour monthly process typically recovers $2,000-$5,000 in underpayments.
Appeal Process and Documentation
Once you identify an underpayment, you need to appeal it. The appeal process varies by payer. Some want a written explanation with supporting documentation. Some want you to call a specific number. Some have an online portal. Know each payer's process before you start appealing.
Your appeal should include: the claim number, date of service, CPT code billed, units billed, your contracted fee per your contract (with page reference), what was paid, what you're owed, and a clear explanation of why you believe the payment was underpaid. Attach proof of your contract agreement with the payer. Don't be accusatory. Frame it as a "payment review request" not a "you owe us money" demand.
An appeal of an underpayment should take 15-20 minutes to write. If you're spending an hour on each appeal, you're including too much detail. Payers have clear processes; follow them strictly. The appeal should be concise, fact-based, and document-supported.
Track all appeals in a spreadsheet with columns: date, payer, claim number, amount, appeal submitted date, follow-up date, outcome, amount collected. Most payers take 30-45 days to respond to appeals. If they don't respond in 60 days, call them. Appeals have appeal windows (you usually have 12 months from the date of service to appeal), so don't let them stall.
- Identify which payers require written appeal vs. phone appeals
- Prepare appeal letter template with standard sections (claim info, contract reference, calculation, proof)
- Submit appeals within 30 days of discovering the underpayment
- Include only necessary documentation (contract page, EOB, claim submission confirmation)
- Log all appeals with deadline tracking
- Follow up on appeals with no response after 45 days
- Document payer response and payment (or denial reason)
Some payers will acknowledge the underpayment immediately and process a check. Others will deny your appeal. When a payer denies an appeal saying "payment was correct," ask them to explain in writing why their payment matched your contract. Often they can't, and will pay under pressure. Don't give up after a single denial. For more on this topic, see our guide on claim denial analysis.
Systematic Underpayment: The Bulk Appeal
When your underpayment detection reveals a systematic issue (same code, same payer, repeating pattern), don't appeal individual claims. Escalate to the payer's contract management team and request a bulk review. This approach works because it forces a policy conversation instead of handling individual claims.
Example: Your underpayment report shows that Payer X has paid 89 claims for CPT 99214 at $130 when your contract specifies $150. Instead of appealing each claim individually, send Payer X: (1) a list of all 89 claim numbers, (2) a copy of your contract showing the $150 fee, (3) a summary calculation showing $1,780 owed (89 claims × $20 underpayment), and (4) a request for payment within 30 days. This takes 30 minutes to prepare and often results in payment within 15 days.
Bulk appeals work because payers know a systematic issue is indefensible. They either fix their system (if it's an error) or acknowledge their contract interpretation is wrong. Individual appeals are easier for payers to deny because denying one claim is defensible even if denying 89 is not.
| Appeal Type | Volume | Time to Prepare | Success Rate | Average Recovery |
|---|---|---|---|---|
| Single claim appeal | 1-2 per week | 15-20 minutes | 60-70% | $25-50 per appeal |
| Batch monthly appeal | 15-20 claims | 45-60 minutes | 70-75% | $400-600 per batch |
| Systematic/Bulk appeal | 50+ claims with same issue | 30-45 minutes | 85-90% | $2,000-10,000 per appeal |
Setting Up the Operational Process
Underpayment detection and appeals need a defined operational process. Assign responsibility: Who generates the underpayment report? Who reviews it? Who decides which underpayments to appeal? Who submits appeals? Who follows up? Without assigned ownership, this work doesn't happen consistently.
Create a simple workflow: (1) Weekly, your billing system generates underpayment report. (2) Your billing manager reviews it same day and flags underpayments over $25. (3) Weekly, appeals team prepares bulk appeal file for systematic underpayments and individual appeal letters for isolated underpayments. (4) Appeals are submitted to payers by end of week. (5) Monthly, follow-up calls on appeals with no response. (6) Monthly, report to leadership on appeals submitted, resolved, and recovered revenue.
This process typically takes 4-6 hours per week for a 20-provider practice. It typically generates $2,000-$4,000 in monthly recovered revenue. That's a 15-20x return on time investment. No other billing process has better ROI.
Technology and Tools
You need three things: (1) a fee schedule database that lives in or connects to your billing system, (2) automated underpayment detection that compares payments to contracted fees, and (3) reporting tools that surface underpayments for human review. Most modern billing systems have these capabilities. The question is whether they're configured and being used.
If your system doesn't have automated underpayment detection, consider purchasing a specialized tool. Companies like nHealth, Olive, and various revenue cycle management platforms offer underpayment detection as a module. These tools typically cost $500-$2,000 monthly but often pay for themselves with recovered revenue in the first month.
Alternatively, you can build a semi-automated process using spreadsheets. Export your fee schedules to Excel. Weekly, export your EOB/ERA data. Compare payment amounts to contracted fees using a VLOOKUP formula. Flag any that don't match. It's not elegant, but it works. Practices with strong billing ops teams use this method effectively.
Underpayment detection is a straightforward operational process with high ROI. The practices that execute it well recover $25,000-$60,000 annually. The practices that ignore it leave that money on the table. Given the amount of money at stake, it's a process worth implementing deliberately and systematically.
Start this week: export your fee schedules from your top 5 payers, set up a simple underpayment report in your billing system, and schedule 2 hours this week to review the past month's payments for obvious underpayments. You'll likely find $1,000-$2,000 in missed money within the first week. That will justify spending the time to make this a permanent process.
See how Cevi compares to Cevi vs Zocdoc, Cevi vs Luma Health, Cevi vs Waystar, Cevi vs Cedar, Athenahealth and eClinicalWorks for revenue cycle management.
Common Questions
How do we get a copy of our contract fee schedules from payers?
Most payers have a provider portal where you can download fee schedules. Login to your payer account online and look for 'Fee Schedule,' 'Reimbursement Rates,' or 'Contracted Rates.' If you can't find it, call your payer's provider relations department and request the fee schedule for your tax ID and practice location. They can email it to you. Get the schedule for the current year and the prior year if possible.
What if a payer refuses to send us their fee schedule?
That's a red flag. Your contract obligates them to specify their fees. You have the right to know what you're contracted to be paid. Document your request in writing (email works). If they continue to refuse, escalate to your state insurance commissioner's office. Most payers capitulate when you mention the insurance commissioner.
How far back can we appeal underpayments?
Usually 12 months from the date of service. Some payers have shorter windows (6-9 months). Check your contracts. Never let an underpayment sit without appeal for more than 90 days, the appeal window closes faster than you think.
What if a payer denies our underpayment appeal?
Request a written explanation of why they believe the payment was correct. Often, they're relying on an assumption that doesn't match your contract. Respond in writing refuting their explanation and requesting reconsideration. If they deny a second time, escalate to your state insurance commissioner or attorney. Many payers back down when you escalate.
Should we track underpayments by provider or by payer?
Track by payer. Underpayments are almost never provider-specific; they're payer-specific. A specific payer systematically underpays all providers for a specific code. Tracking by payer helps you identify these patterns. Tracking by provider masks them.
Related Posts
Works with your stack
Availitybilling_rcm
Candidhealthbilling_rcm
Quickbooksbilling_rcm
Tebra (Kareo)billing_rcm
Decoda Healthbilling_rcm
SoharHealthbilling_rcm
Stripepayments
Squarepayments
Everywarepayments
RingCentralcommunication
Zoomcommunication
Microsoft Teamscommunication
Slackcommunication
Gmailcommunication
Spruce Healthcommunication