Most practices are great at catching denied claims. A denial is loud. It shows up with a code, a reason, and a dollar amount of zero. An underpayment is quiet. The claim shows as paid, the payment posts, and nobody looks twice. That quiet is exactly why insurance underpayment recovery gets ignored for years in most billing departments.
Let's walk through what an underpayment really looks like, why it hides in plain sight, and how to start finding the money that was already yours.
What an Underpayment Actually Looks Like
Every time a payer processes a claim, they send back either an EOB (explanation of benefits, the summary a payer sends showing what they paid and why) or an 835 (the electronic version of that same payment information, used by practice management software to auto post payments). Both documents list a few key numbers for each line of the claim.
The one that matters most here is the allowed amount. This is the total amount the payer says is allowed for that procedure code, meaning the most they will recognize as payment, whether it comes from the payer, the patient, or both combined.
Here is the catch. The allowed amount on the remittance is supposed to match your contract rate, meaning the negotiated reimbursement rate written into your payer contract for that code. When the allowed amount is lower than the contract rate, you have an underpayment. The claim was not denied. It was not rejected. It was simply paid short, and the system never flags it because, as far as the claim status goes, it was paid.
A Simple Example of the Gap
Say your contract with a payer sets the rate for CPT 99213 (a common office visit code) at 95 dollars. The 835 comes back showing an allowed amount of 78 dollars for that same line. That is a 17 dollar gap, on one line, for one visit. This is just an illustrative example, not a real industry figure, but it shows the mechanics. Now multiply that gap across every visit, every code, and every payer your practice bills. The pattern becomes the real issue, not any single claim.
This is different from a denial. A denial code like the one we cover in CO-197 Denial Code: What It Means and How to Appeal It tells you nothing was paid and why. An underpayment tells you something was paid, just not enough, and payers rarely explain the difference on their own.
Why Busy Offices Never Catch This
It is not a staffing problem. It is a visibility problem. A few reasons underpayments slip through even well run offices:
- Paid claims drop off the worklist. Staff are trained, reasonably, to chase denials and unpaid claims first. A paid claim looks finished.
- Fee schedules get outdated. Contract rates change during renewals, but the spreadsheet or system used to check payments often does not get updated to match.
- Line by line checking takes time nobody has. Comparing every allowed amount against every contract rate, across every payer, is not realistic to do by hand on top of daily billing work. This is one of the honest tradeoffs we cover in In-House Biller vs Billing Company: An Honest Comparison.
- Complex, high dollar claims hide the biggest gaps. Infusion and injectable drug claims, like the ones discussed in Why Insurance Keeps Denying Infusion Drugs Like Remicade, involve multiple codes, units, and NDC numbers, which makes a quiet underpayment even easier to miss on a busy day.
None of this means your staff is doing a bad job. It means the task of catching underpayments was never built into the workflow in the first place, for most practices.
How Contract Rate Checking Recovers the Money
The fix is not more effort from your staff. It is a different kind of check, run automatically on every single remittance.
Contract rate checking means loading your actual negotiated rates for every payer and code into a system, then comparing every line of every 835 against that rate the moment it comes in. When the allowed amount is lower than the contract rate, it gets flagged immediately, before the claim ever gets archived as paid and forgotten.
This is the direction a lot of the industry is heading right now. Several vendors have recently rolled out AI powered tools built specifically to catch underpayments at scale rather than relying on manual variance reports reviewed after the fact. The idea is simple even when the technology behind it is not: check every claim against the contract, every time, instead of hoping someone notices.
At AutomatedRCM, this is exactly what our AI agents are built to do. They are designed to sit quietly in the background, compare every incoming remittance against your actual contract rates, and surface the gaps so your team can act on real numbers instead of guessing which payer might be shorting you.
What To Do When You Find an Underpayment
Once a gap is flagged, the next steps are straightforward:
- Pull the actual contract. Confirm the rate in writing, not from memory or an old fee schedule.
- Compare it to the EOB or 835 line by line. Confirm the gap is real and not a coding or modifier issue on your end.
- File the appeal or corrected claim within the payer's window. Timely filing limits for appeals vary by payer and sometimes by state, so check the specific deadline rather than assuming it matches your original claim filing limit.
- Track the pattern. If one payer underpays the same code repeatedly, that is worth a conversation with your provider rep, not just a one off appeal.
A single underpayment might look small. A pattern repeated across hundreds of claims is where insurance underpayment recovery actually pays off.
Start With a Quick Check
You do not need to overhaul your whole billing process to find out if this is happening in your practice. A good first step is a simple review of recent remittances against your contracted rates, which is exactly what our free Billing Health Check at audit.getautomatedrcm.com is built to walk you through. It costs nothing to look, and most practices have no idea how much is sitting in that gap until someone actually checks.
Frequently Asked Questions
What is the difference between a denied claim and an underpaid claim?
A denied claim is rejected outright and shows a zero payment with a denial code explaining why. An underpaid claim is actually paid and posted to your system, but the amount the payer allowed is lower than what your contract specifies, so it often looks finished when it is not.
How do I check if insurance paid me the correct amount?
Pull your signed payer contract to confirm the negotiated rate for the specific procedure code, then compare it to the allowed amount shown on the EOB or 835 for that same code. If the allowed amount is lower than the contracted rate, you likely have an underpayment worth appealing.
What is an 835 remittance advice?
An 835 is the electronic file a payer sends after processing a claim, showing what was billed, what was allowed, what was paid, and any adjustments. Most practice management systems use it to auto post payments, which is one reason underpayments inside it can go unnoticed without a direct line by line check.
How far back can I appeal an insurance underpayment?
It depends on the payer and sometimes your state, so there is no single universal deadline. Most payers do publish an appeal filing window in their provider manual or contract, so the safest step is to check that specific document rather than assuming it matches your original claim filing deadline.