docs
Underpayment Detection Guide
How billing companies can evaluate expected-versus-actual payment workflows without overstating recovery outcomes.
Short answer
Underpayment detection is a payment reconciliation workflow that compares the paid amount on each 835 ERA line against the expected amount from the payer contract and fee schedule. When the paid amount falls below the contracted allowed amount for reasons that are not explained by a proper contractual adjustment, a co-payment, or a deductible, the variance is a candidate for recovery. Industry estimates consistently place underpayments and contract leakage between 3 and 5 percent of net revenue for typical practices, with higher exposure in specialties that bill complex multi-procedure encounters. The CARC CO-45 ("charge exceeds fee schedule or maximum allowable") is the code most often misread as a required write-off when the underlying problem is actually a payer paying below the contracted rate. Recovery requires an accurate fee schedule loaded in the billing system, a tolerance-based routing workflow, and human judgment at every step — no automated system recovers underpayments by itself.
How big is the underpayment problem?
The numbers are not small, and they tend to be invisible. A payment that lands in the billing system as "paid" closes the claim in most practice management platforms. That is exactly the problem: an underpayment looks like a payment. It is not a zero-balance denial — the payer paid something — so the claim disappears from the follow-up queue even when the amount is wrong.
Industry analyses, including guidance from MGMA and HFMA, routinely place payer underpayments in the range of 3 to 5 percent of total contracted revenue. For a billing company managing a practice with $2 million in annual collections, that range represents $60,000 to $100,000 per year in revenue that was earned, billed, and apparently paid — but was not paid at the right amount. At $10 million in annual collections the same 3 percent loss is $300,000. Over five years it compounds to $1.5 million in a single practice.
MGMA's February 2025 poll of 193 practice leaders found that 48 percent now audit payer payments monthly or quarterly, up from 26 percent who audited monthly in January 2023. The survey also surfaced a damning observation from one practice leader: "It's ridiculous how often [payer] payments are incorrect. Clinics that do not audit at least weekly are losing money." That is a practitioner assessment, not a vendor pitch, and it matches the pattern that contract auditing firms report: systematic payer underpayment often goes undetected for months or years because no individual claim triggers a review.
HFMA research has framed contract leakage as a distinct operational risk, separate from denial management, that deserves its own monitoring workflow. Commercial payers change fee schedules, apply carve-outs, and implement reduction policies — sometimes without notifying providers in advance. The gap between when a payer changes a rule and when a billing team detects that change is what HFMA has called "policy drift," and the financial consequence lands in the remittance data as a variance that looks like a clean payment.
The recoverable fraction of that leakage depends heavily on whether the contract is loaded accurately, whether the appeal window is still open, and whether the billing team can construct a credible dispute based on the contract language. No vendor can guarantee a specific recovery rate. What the data does support is that practices that audit payer payments at least monthly recover materially more than those that do not.
What counts as an underpayment vs a contractual adjustment
This distinction is where most underpayment leakage originates, and it is worth being precise.
A contractual adjustment is the difference between the billed charge and the payer's allowed amount as defined in the contract. If you bill $200 for a service and your contract with that payer allows $140, the $60 difference is a contractual adjustment. You post it as CO-45 (charge exceeds fee schedule or maximum allowable), write it off, and move on. You cannot bill the patient for that $60. You cannot appeal it. It is the price of participation.
An underpayment is what happens when the payer pays less than the contracted allowed amount — not less than your billed charge, but less than what the contract says the allowed amount should be. If your contract specifies $140 for that service and the payer sends $110, the $30 difference is not a contractual adjustment. The payer did not pay to the contracted rate. That is a recoverable underpayment.
The problem is that both situations arrive in the 835 ERA wearing the same CARC code: CO-45. The ERA says "charge exceeds fee schedule or maximum allowable" in both cases. The code is correct — the payer applied a fee schedule — but the code does not tell you whether the fee schedule the payer applied matches the one in your contract. That comparison is not in the 835. It requires loading your contracted allowed amounts alongside the ERA data and performing the comparison.
When a billing team posts CO-45 lines as contractual adjustments without verifying against the contract, every payer underpayment in the batch becomes a permanent write-off. The revenue is gone at the moment of posting. This is the highest-risk failure mode in underpayment detection, and it is structurally invisible unless someone does the math.
The CMS Physician Fee Schedule is the public reference rate for Medicare, published annually. For CY 2026, CMS finalized two separate conversion factors: $33.5675 for practitioners in qualifying alternative payment models and $33.4009 for all others. Commercial payer rates are negotiated separately and may be expressed as a percentage of the Medicare fee schedule (for example, 120 percent of Medicare for a given specialty) or as flat dollar amounts specific to the payer contract. Either way, the expected payment is deterministic once the contract terms are known — which is why loading the right fee schedule is the foundational step.
Where underpayments come from
Several distinct mechanisms drive most of the underpayment volume in a typical billing company's book of business.
Payer error. Payers process large volumes of claims through automated adjudication systems, and those systems apply incorrect fee schedules, map procedures to the wrong rate table, or apply an old rate when a contract renewal updated the terms. These are genuine payer processing errors, and they are actionable. The appeal is straightforward: here is the contracted rate, here is what you paid, here is the difference. Many payers correct these quickly when the evidence is clean.
Fee schedule drift. Contracts renew on cycles — sometimes annually, sometimes every two or three years. The rates in the billing system may not be updated when a contract renews. Alternatively, a payer may update its internal fee schedule without notifying participating providers. In either case the allowed amounts the billing team expects no longer match the amounts the payer applies. Both directions of drift cause problems: if the practice's loaded rates are too high, apparent underpayments are actually correct payments; if the loaded rates are too low, real underpayments are being auto-approved. The MGMA four-step audit framework puts "collect and maintain current fee schedules" first because the detection logic is only as reliable as the reference data it compares against.
Contract carve-outs. Most payer contracts include provisions that reduce payment for specific services, service categories, or billing scenarios. High-cost implants may be carved out with a pass-through arrangement. Certain mental health services may have a separate rate table. Services at ambulatory surgery centers may pay differently than the same services in an office setting. Site-of-service differentials, outlier thresholds, and plan-specific rules all represent carve-outs that have to be explicitly loaded into the expected-payment calculation or the variance flags will be wrong — either flagging legitimate adjustments as underpayments, or missing real underpayments because the carve-out logic was not modeled.
Multiple procedure reductions. When a provider performs more than one procedure in a single encounter, payers apply multiple procedure payment reduction (MPPR) rules. Under Medicare policy, the highest-valued procedure is paid at 100 percent; subsequent procedures at the same encounter are reduced by a defined percentage that varies by service category. For physical and occupational therapy services coded as "always therapy" procedures, the practice expense component is reduced by 50 percent for the second and later procedures. For certain diagnostic imaging procedures, the professional component of the second and subsequent procedures is reduced to a fraction of the Medicare fee schedule amount. Commercial payers often mirror Medicare MPPR policy, though the specifics vary by contract. An underpayment workflow that does not account for MPPR will flag correct multi-procedure payments as underpayments and generate unwinnable appeals.
Capitation and withhold arrangements. In capitated contracts, the payer pays a fixed per-member-per-month amount rather than a fee-for-service rate. Claims submitted under a capitated arrangement should generate a zero-dollar ERA payment (or a token administrative amount) because the monthly cap covers the service. Treating a capitated zero-payment as an underpayment creates false alerts. Separately, some contracts include withhold provisions where the payer retains a percentage of payment pending performance or quality benchmarks and releases it quarterly or annually. These withholds appear as reductions on individual ERAs but are not underpayments — they are deferred payments that should appear later in the PLB segment of a subsequent 835. A well-configured underpayment workflow routes capitated claims and withhold lines to separate handling rather than queueing them for recovery.
The detection workflow
Detection starts at ERA posting. Every 835 that arrives through the clearinghouse carries a paid amount for each service line alongside a set of CARC and RARC codes that explain what the payer did. The detection logic works by comparing two numbers: the paid amount from the 835 and the expected allowed amount derived from the payer contract and fee schedule.
The expected allowed amount is not a single lookup. It depends on the CPT or HCPCS code, any modifiers applied (modifier 25 for a separate E&M on the same day as a procedure, modifier 59 for distinct procedural services, modifier 50 for bilateral procedures), the number of units billed, the place of service, the provider's network status on the specific plan, and any contract carve-outs that apply. For multi-procedure encounters, MPPR rules must reduce the expected amount for the second and subsequent procedures before the comparison is made. Getting the expected amount right requires a rules engine that models the contract with enough fidelity to account for all of these inputs.
Once the comparison is made, the resulting variance gets evaluated against a tolerance threshold. Tolerances exist for practical reasons: a $0.12 rounding difference on a $47 service is not worth human review; a $180 shortfall on a $600 surgical procedure is. A common starting point is flagging when the paid amount is less than the allowed amount by $5 or more, with per-payer rules that increase the threshold for self-funded plans where appeal paths are longer and more expensive. Some organizations use a percentage threshold — flagging when the variance exceeds 5 percent of the expected allowed amount — which scales with dollar value automatically.
Variances above the threshold route to a review queue that a billing specialist works the same way they would work a denial follow-up queue. The routing logic should separate clear payer-error candidates (paid amount is lower than the contract rate for a simple single-procedure claim with no carve-outs) from cases that require deeper investigation (multi-procedure encounter where MPPR may or may not apply, or a claim where a secondary payer has already posted a payment that changes the net variance). The simpler cases should surface with a pre-populated appeal letter. The complex cases should surface with the full ERA context — including the CARC and RARC pair, the paid amount, the calculated expected amount, and a link to the relevant contract section — so the specialist can make a judgment call.
Timing is the other operational constraint. Most payer contracts impose appeal windows of 30 to 90 days from the date of payment. The 277CA acknowledgment date and the 835 receipt date are both relevant reference points. An underpayment queue that does not surface items by days-remaining-to-appeal is incomplete — the most important field in an underpayment workflow is the deadline, not the dollar amount.
See ERA posting in Medi for how expected payment context, actual remittance results, and CARC codes stay connected through the posting workflow.
Recovering underpayments — appeal vs negotiate vs accept
Not every variance above the tolerance threshold is recoverable, and a billing team that appeals everything will spend more on appeal labor than it recovers on a significant fraction of items. The decision framework has three paths.
Appeal. The appeal path is appropriate when the payer error is clear and documentable: the paid amount is below the contracted rate for a straightforward claim, the contract language is unambiguous, the appeal window is open, and the dollar amount justifies the work. The appeal letter cites the specific contract section, attaches the ERA, states the expected allowed amount, states the paid amount, and requests payment of the difference. Payers frequently correct genuine processing errors quickly when the appeal is clean and well-documented. Including the exact contract effective date and rate table reference eliminates the most common payer response, which is to claim the rate the billing team cited is no longer in effect.
Negotiate. The negotiation path is appropriate for patterns rather than individual claims. If a payer systematically underpays a specific CPT code across a large volume of claims, appealing each claim individually is labor-intensive. The better move is compiling the pattern data — total claims affected, total variance by month, rate applied versus contracted rate — and bringing it to the payer as a contract compliance issue. Payers generally prefer to correct systemic errors through a settlement or a prospective rate correction rather than receiving individual appeals for months of claims. The conversation also provides leverage at contract renewal time: documented payer underperformance against the contracted rate is a concrete negotiating data point.
Accept. The accept path is appropriate when the variance is explainable by a contract provision the billing team did not fully account for, when the appeal window has expired, when the dollar amount is below the cost of appeal labor, or when investigation reveals a billing error on the practice's side rather than a payer error. Accepting a variance should be a deliberate decision with a documented reason — not a default outcome of never reviewing variances in the first place.
The denial management workflow guide covers related appeal timelines and evidence-packet construction in depth. The underpayment appeal uses the same packet structure: ERA detail, claim detail, contract reference, and a clear statement of the discrepancy.
One additional path that gets underused is working underpayments as part of contract renegotiation. A billing company that tracks payer-specific underpayment rates over time accumulates evidence of systematic payer non-compliance. That evidence is valuable at renewal: practices with documented proof that a payer has consistently paid below contracted rates have a factual basis for demanding rate increases, retroactive corrections, or enhanced contract terms. Treating underpayment data as negotiating leverage rather than just a recovery task can generate more long-term return than individual appeals ever will.
Where does Medi fit?
Medi approaches underpayment detection as a review and investigation workflow, not a revenue guarantee. The product is built to keep expected payment context, actual remittance results, claim details, CARC and RARC codes, and recovery decisions connected — so the information a specialist needs to evaluate a suspected underpayment is in one place rather than spread across the ERA file, the contract binder, and a spreadsheet.
The ERA posting workflow surfaces paid amount alongside the claim's expected allowed amount when fee schedule data is loaded. Variances above tolerance route to a recovery queue. Each item in that queue carries the 835 context — paid amount, CARC, RARC, allowed amount — alongside the claim detail and the deadline. Decisions are logged so that future ERAs for the same payer and code pattern can reference prior outcomes.
Medi will not claim:
- That every underpayment will be detected without an accurate fee schedule loaded
- That every detected variance is recoverable
- That appeal letters generated by the system are ready to send without human review
- That recovery rates are predictable independent of payer, contract quality, and billing team execution
What Medi does claim is that underpayment work should be visible, filterable by payer and CPT and dollar amount, routed by deadline, and traceable from initial ERA receipt through final outcome. That is the workflow discipline that determines whether a billing company actually captures the revenue it has already earned.
See billing company operations for how underpayment tracking fits into the broader revenue cycle view across a multi-practice book of business.
What should buyers verify in an underpayment workflow?
Evaluating a vendor's underpayment detection capability requires getting specific. General claims about "AI-powered contract compliance" and "automatic underpayment recovery" are not useful — the questions below are.
- How does the system receive and store payer fee schedules? Is the loading process manual, or does the system maintain an active feed? How does it handle multiple fee schedules for the same payer across different plans and effective dates?
- What claim-level inputs does the expected-payment calculation use? Does it account for CPT code, modifiers, units, place of service, and provider network status — or just CPT code alone?
- How does the system model multi-procedure MPPR rules? Can it distinguish a correctly reduced second-procedure payment from a payer error?
- What tolerance thresholds are configurable? Are thresholds set globally or by payer, plan, and financial class?
- How are variances routed? Does the routing logic distinguish clear payer-error candidates from items that need deeper investigation?
- How does the queue surface appeal deadlines? Is the deadline field a first-class sort and filter, or buried in a detail view?
- How are decisions logged? If a specialist accepts a variance as a legitimate carve-out, does that decision inform the handling of future similar claims from the same payer?
- Can variance data be aggregated by payer, CPT code, and time period for contract negotiation use — or only for individual claim follow-up?
- How does the system handle capitated claims and withhold arrangements to prevent false underpayment flags?
The honest answer to most of these questions is that the quality of underpayment detection scales directly with the quality of the contract data loaded into the system. A vendor that glosses over this is promising outcomes it cannot deliver. A vendor that is direct about it is telling you where the real work is.
Frequently asked questions
What is an underpayment in medical billing?
An underpayment occurs when a payer remits less than the contracted allowed amount for a covered service. It is not a denial — the payer paid something — and it is not a contractual adjustment, which is the legitimate write-off of the difference between the billed charge and the contracted allowed amount. An underpayment is the gap between what the contract says the allowed amount should be and what the payer actually paid. That gap is recoverable if the contract terms are unambiguous, the appeal window is open, and the billing team has accurate fee schedule data loaded for the comparison.
How does CO-45 relate to underpayments?
CO-45 is the CARC code for "charge exceeds fee schedule or maximum allowable." It is correct in both situations — a proper contractual adjustment and a payer underpayment — because in both cases the payer applied a fee schedule. The code does not tell you whether the fee schedule the payer applied matches the one in your contract. To answer that question, you have to compare the ERA's paid amount against the contracted allowed amount in your fee schedule data. When the ERA paid amount equals the contracted allowed amount, CO-45 is a contractual write-off. When the ERA paid amount is below the contracted allowed amount, CO-45 is concealing an underpayment. See the denial management workflow guide for the full CO-45 context.
What is the most common cause of underpayments going undetected?
The most common cause is posting CO-45 lines as contractual adjustments at the time of ERA posting without verifying whether the paid amount matches the contracted rate. This happens because most practice management and billing platforms auto-post CO-45 as a write-off. Unless the system is configured to compare the paid amount against a loaded fee schedule before approving the write-off, the underpayment becomes a permanent adjustment at the moment of posting. Secondary causes include outdated fee schedules (the comparison is against wrong data), failure to account for MPPR rules (legitimate multi-procedure reductions flagged as underpayments, causing alarm fatigue), and no systematic process for surfacing variances for review.
What appeal window do I have for underpayments?
Appeal windows vary by payer and contract, but most commercial payer contracts impose deadlines of 30 to 90 days from the date of payment. Missing the deadline generally forfeits the recovery — payers are not obligated to process late appeals. The 835 receipt date is the practical start of the clock for most purposes. An underpayment workflow that does not surface items by remaining appeal days is missing the most important triage dimension. Medicare's timely filing rules apply to claim submission, not to underpayment appeals; underpayment disputes with Medicare follow the redetermination and appeal pathway, with different timelines.
Should I appeal every underpayment I find?
Not automatically. The decision depends on the dollar amount of the variance, the cost of appeal labor, the clarity of the contract evidence, whether the appeal window is open, and the payer relationship. A $12 variance on a $95 service from a payer your billing company has a strong relationship with may not be worth a formal appeal. A systematic $40 variance on a high-volume CPT code from a payer with a history of non-compliance is both worth appealing individually and worth escalating to a contract-level conversation. The negotiation path — compiling the pattern and bringing it to the payer as a systemic compliance issue — often yields faster resolution and larger total recovery than claim-by-claim appeals.
How does multi-procedure reduction affect underpayment detection?
When multiple procedures are billed at the same encounter, Medicare and most commercial payers apply MPPR rules that reduce payment for the second and subsequent procedures below the full fee schedule rate. For certain therapy services, the practice expense component of additional procedures is reduced by 50 percent. For certain diagnostic imaging procedures, the professional component is reduced further. If the expected-payment calculation does not model MPPR rules correctly, the system will flag correctly reduced multi-procedure payments as underpayments. This generates false alerts, wastes appeal labor on unwinnable disputes, and creates alert fatigue that causes real underpayments to be ignored. Accurate MPPR modeling is not optional for any underpayment detection system used in specialties that bill multi-procedure encounters.
How does Medi distinguish an underpayment from a contractual adjustment?
Medi connects the 835 paid amount and CARC context to the expected allowed amount from the loaded fee schedule at the time of ERA posting. When the paid amount falls below the expected allowed amount by more than the configured tolerance, the line routes to the underpayment review queue rather than being auto-approved as a contractual write-off. The specialist sees the ERA detail — paid amount, CARC, RARC — alongside the expected allowed amount and the contract reference, and makes the call on whether to appeal, accept, or investigate further. The decision is logged. Medi does not auto-approve underpayment write-offs without human review, and it does not auto-file appeals. Both are human decisions with system support.
How current is this guide?
Last reviewed 2026-05-17. Industry statistics draw from MGMA and HFMA research cited in the body. CMS Physician Fee Schedule references are from the CMS Physician Fee Schedule page and the CY 2026 final rule. CARC and RARC code definitions are maintained by X12. CMS remittance guidance is at Health Care Payment and Remittance Advice.
References
These public sources provide background for standards, terminology, or competitor context discussed on this page.
- CMS Physician Fee ScheduleCenters for Medicare and Medicaid Services
- MGMA payer contracting playbookMedical Group Management Association
- CMS Health Care Payment and Remittance AdviceCenters for Medicare and Medicaid Services