Guides Fixing lost revenue
How to find underpaid claims on your ERAs (835s)
The short answer
A claim is underpaid when the payer’s allowed amount for a line is below your contracted rate, not simply when the payment is lower than you hoped. It usually hides inside a normal-looking CO-45 adjustment that is too large, and it is fixed through the payer’s reconsideration or dispute process.
A claim line is underpaid when the payer’s allowed amount is lower than the rate in your contract for that code. The payment itself is supposed to be lower than the allowed amount whenever the patient owes a deductible, copay or coinsurance, so a low payment alone proves nothing. Most underpayments don’t arrive with a special code. They arrive with an ordinary CO-45 contractual adjustment that is simply too big. To find them, you need three things: your contracted rates, the allowed amount from each remittance line, and a way to compare the two.
Allowed, paid and the adjustments in between
Every paid line on a remittance follows the same arithmetic:
- Charge: what you billed.
- Minus the contractual adjustment (CO-45): the difference between your charge and the payer’s fee schedule or contracted rate. CO-45 is not a denial. It is the normal write-off.
- Equals the allowed amount: what the payer considers payable for the service before the patient’s share.
- Minus patient responsibility: deductible (PR-1), coinsurance (PR-2) and copay (PR-3), which you collect from the patient.
- Minus other reductions, such as Medicare’s 2% sequestration (CO-253).
- Equals the payment.
X12, which owns the 835 standard, describes the allowed amount as what the payer deems payable before patient responsibility is considered. It also states the balancing rule: the claim charge minus all the adjustments must equal the amount paid (X12 interpretation 2601). CMS requires the same balancing on every Medicare remittance (Medicare Claims Processing Manual, ch. 22, §30).
So the test is simple. If the contract says a code pays $100 and the allowed amount on the line is $88, the line is underpaid by $12, no matter how the payment and patient share split it. On the remittance, that shows up as a CO-45 that is $12 larger than it should be. CO-45 means the charge was above the fee schedule or contracted amount (X12 CARC list). It doesn’t say whether the payer used the right fee schedule.
The 835 in plain words
The electronic remittance (the X12 835) carries everything you need. You don’t have to read raw files: most practice systems and clearinghouses display these fields. Knowing their names helps when you ask for an export.
| 835 segment | What it holds | Why it matters here |
|---|---|---|
| CLP | One claim: its total charge (CLP03) and total paid (CLP04) | Ties the remittance to your claim |
| SVC | One service line: the code and modifiers, the charge, the payment and the units | The level where you compare rates |
| CAS | Each adjustment: group code, reason code and amount | Shows the CO-45, the PR amounts and any other reductions |
| AMT with qualifier B6 | The allowed amount for the line | The number you compare against your contract |
| LQ | Remark codes for the line | Explains unusual adjustments |
| PLB | Provider-level adjustments not tied to one claim, such as recoupments | Money taken back from a later payment shows up here, not on the claim |
Segment names are from CMS’s 835 companion guide (CMS 835 companion guide). If a payer leaves out the allowed amount, work it out as the charge minus the CO and PI adjustments on the line.
Reductions that are not underpayments
Before you flag a line, rule these out:
| Reduction | How it shows | Why it is legitimate |
|---|---|---|
| Patient cost sharing | PR-1, PR-2, PR-3 | Lowers the payment, not the allowed amount. Collect it from the patient. |
| Sequestration | CO-253 | Medicare cuts the final payment by 2%, after the allowed amount and patient share are set (First Coast, a Medicare contractor, as of July 2026). Medicare Advantage contracts may pass it through. |
| Multiple procedures | CO-59 | Under the standard multiple surgery rule, Medicare pays the highest-valued procedure in full and the second through fifth at 50% (Claims Processing Manual, ch. 12, §40.6). Commercial contracts may use similar rules. Check yours. |
| Secondary payment | OA-23 | The secondary payer accounts for what the primary already paid. |
| Units | SVC units | A rate per unit times fewer units than billed is a units question, not a rate question. |
What’s left after these is a candidate underpayment: an allowed amount that doesn’t match the contract for that code, modifier and unit count.
Step 1: Get your fee schedules
You can’t check payments against a contract you don’t have. If you can’t find the rate exhibit for a payer contract, ask for it.
- Write to each payer’s provider relations contact and ask for the current fee schedule attached to your agreement, for your top codes at minimum. Ask in writing and keep the reply.
- Check how the contract sets rates. Some contracts set rates as a percentage of Medicare’s physician fee schedule for your locality. If yours does, the Medicare rates are public in the CMS physician fee schedule look-up, and you can calculate the expected amount yourself.
- Know what New York requires. For HMOs and other plans under New York Public Health Law Article 44, contracts with providers must state how payments are calculated and describe how the provider can access a summary of those calculations (PHL §4406-c(5-a), as of November 2026). That is a requirement on the contract, not a right to a fee schedule on demand. If a payer won’t share rates, ask your attorney or the regulator what applies to your plan type.
Step 2: Build a rate table
Make one table with one row per payer, code and modifier: the contracted rate per unit and the date it took effect. Start with your 20 highest-volume codes. They will cover most of your money.
Step 3: Compare every paid line
For each line on your 835s:
- Take the allowed amount.
- Divide by units to get the allowed amount per unit.
- Compare it with the contracted rate for that payer, code, modifier and date of service.
- Flag the line if the difference is above a threshold you choose, for example a dollar or 1%, so rounding doesn’t bury you.
Then group the flagged lines by payer and code. One-off differences can be data entry. The same code short by the same amount at the same payer on every claim usually points to a wrong rate loaded in the payer’s system, and that is worth far more than any single line.
Example
Example only: invented rates and remittance lines for one office visit code, 99214, at three payers.
| Payer | Contracted rate | Allowed on the 835 | Difference per visit | Visits in 12 months | Total short |
|---|---|---|---|---|---|
| Payer A | $118.00 | $118.00 | $0.00 | 610 | $0.00 |
| Payer B | $112.00 | $104.50 | $7.50 | 420 | $3,150.00 |
| Payer C | $125.00 | $125.00 | $0.00 | 380 | $0.00 |
In this example, Payer B is paying from an old rate. Each visit is short by $7.50, which nobody would notice on a single remittance, and $3,150 over a year.
Step 4: Dispute it the right way
An underpayment is a pricing problem, not a disagreement about medical necessity. Most payers handle it through a reconsideration or provider dispute process, not a clinical appeal. Use each payer’s own process and deadlines.
- UnitedHealthcare, for example, requires a claim reconsideration first, then an appeal if you disagree, with 12 months to complete both unless the participation agreement says otherwise. It accepts reconsiderations in bulk for 20 or more claims with the same administrative issue (UnitedHealthcare appeals page, as of July 2026).
- Traditional Medicare treats a correction to an underpayment or overpayment as a reopening, and clerical and computational errors must be handled as reopenings rather than appeals (42 CFR 405.980).
- Other payers describe their process in the provider manual. Look for “reconsideration”, “payment dispute” or “claim review”.
What to send: the claim numbers, dates of service, codes and units, the allowed amount on each line, the contracted rate, the contract section or fee schedule page that sets it, and the total. When the cause is a wrong rate loaded in the payer’s system, ask the payer to correct the fee schedule and reprocess all affected claims, not only the ones you list.
What to keep doing
- Load each new fee schedule into your rate table when it arrives, with its effective date.
- Re-run the comparison every month on new remittances.
- Check January claims closely. Medicare’s fee schedule changes on January 1, so any contract tied to it changes too, and a payer that loads the new rates late will underpay from the first visit.
- Watch the PLB segment for recoupments. Money taken back on a later remittance is easy to miss.
Marlow’s free billing audit can run this check for you: upload a fee schedule with your 835s and it flags codes where one payer pays less than the others or less than your contract.
Sources
- X12: Request for interpretation 2601, claim line balancing and allowed amount
- X12: Claim Adjustment Reason Codes
- CMS: Medicare Claims Processing Manual, Chapter 22, Remittance Advice
- CMS: 835 Companion Guide (5010A1)
- CMS: Medicare Claims Processing Manual, Chapter 12, Physicians and Nonphysician Practitioners
- CMS: Physician fee schedule look-up
- First Coast Service Options: Federal sequestration payment reductions
- New York Public Health Law §4406-c
- UnitedHealthcare: Claim reconsiderations and appeals
- eCFR: 42 CFR 405.980, reopenings
General information, not advice on a specific claim, contract or legal question. Rules and rates change; check the linked sources for the current version. CPT® is a registered trademark of the American Medical Association. Code descriptions here are paraphrased.