Denial Management

CO-45 Denial Code: Charge Exceeds Fee Schedule — Fixes & Write-offs (2026)

The CO-45 denial code means the billed charge exceeds the payer's fee schedule or contracted rate — in most cases a routine contractual adjustment, not a true denial. The write-off cannot be billed to the patient, and the real risk is what CO-45 can conceal: stale loaded rates and systematic payer underpayments that only a line-level variance check will surface.

By Shawn Davis Reviewed by Kyle Wilson July 22, 2026 9 min read
Key takeaways
  • CO-45 (“charge exceeds fee schedule/maximum allowable or contracted/legislated fee arrangement”) is usually a contractual adjustment, not a denial — the payer pays its allowed amount and writes off the difference.
  • Because the group code is CO (contractual obligation), the adjusted amount can never be balance-billed to the patient; only PR-coded amounts are patient responsibility.
  • Routine CO-45 is healthy — most practices deliberately set charges above their highest contracted rate — but the adjustment can hide real problems: stale chargemaster rates, the wrong fee schedule loaded, or systematic underpayment.
  • The only reliable defense is comparing every ERA allowed amount against the contracted rate you loaded, line by line, with variance reporting.
  • Appeals are rare for CO-45 and only justified when the payer applied the wrong fee schedule, contract version, or network status.
  • A quarterly fee-schedule review — contracts, chargemaster, and billing-system rate tables — prevents most recurring CO-45 surprises.
CO-45 denial code charge exceeds fee schedule contractual adjustment on an EOB
CO-45 on the remit: the gap between billed charge and allowed amount — normal by design, dangerous when unmonitored.

No adjustment code appears on more remittance lines than the co-45 denial code, and none is more misunderstood. CARC 45 fires whenever the billed charge is higher than the payer’s fee schedule, maximum allowable, or contracted rate — which, for an in-network practice with sensibly set charges, is every single claim. That makes CO-45 the one “denial” you usually should not fight. The catch: because teams learn to post it on autopilot, CO-45 is also where loaded-rate errors and payer underpayments hide in plain sight. This guide separates the routine write-off from the revenue leak, with the math, the detection workflow, and the review checklist.

CO-45 Decoded: Adjustment First, Denial Rarely

Every remittance adjustment carries a group code plus a reason code. Reason code 45 states the charge exceeded the fee schedule or contracted arrangement; the group code tells you who absorbs the difference:

Group codeMeaningWho absorbs it
CO — Contractual ObligationDifference between charge and contracted/fee-schedule rateProvider write-off; cannot be billed to the patient
PR — Patient ResponsibilityDeductible (PR-1), coinsurance (PR-2), copay (PR-3)Patient
OA — Other AdjustmentNeither contractual nor patient liability (context-specific)Varies — investigate
PI — Payer-Initiated ReductionPayer reduction not supported by the contractOften disputable — review

So CO-45 means: paid, at the contracted rate, with the excess written off. The same 45 under PR — as with some out-of-network plans — shifts that excess to the patient instead, which is why posting teams must read the group code, not just the number. For the full taxonomy, see our CARC and RARC guide.

When CO-45 Is Normal — and When It Is a Red Flag

Most practices intentionally set chargemaster prices above their highest contracted rate so no payer is ever billed less than it would have allowed. Under that strategy, a CO-45 on every line is evidence the system is working. The adjustment becomes a problem in four situations:

  • Stale chargemaster. If charges have not been reviewed in years, some may now sit below contracted rates — and payers generally pay the lesser of charge or allowed, so every such claim silently forfeits money with no CO-45 warning at all.
  • Wrong fee schedule loaded. The billing system carries an old contract year, the wrong locality, or another payer’s rates, so posted CO-45 amounts look “expected” when the payer is actually allowing less than the current contract requires.
  • Systematic underpayment. The payer applies an outdated or incorrect fee schedule on its side. Industry analyses regularly find a meaningful share of claims paid below contract; without variance checks, the shortfall just disappears into the CO-45 bucket.
  • Network-status surprises. A claim processed out-of-network — lapsed credentialing, wrong TIN/NPI combination — produces unusual CO-45/PR patterns and larger patient balances than the contract intends.

Worked Example: Reading a CO-45 Line (Illustrative)

An in-network practice bills 99213 at $150. The contracted allowed amount is $92, and the patient has met the deductible on a plan with 20% coinsurance:

EOB elementAmountCode
Billed charge$150.00
Allowed amount$92.00
Contractual adjustment$58.00CO-45 (write-off)
Payer payment (80% of allowed)$73.60
Patient coinsurance (20%)$18.40PR-2 (bill patient)

Total accounted for: $58.00 + $73.60 + $18.40 = $150.00. The $58 is posted as a contractual write-off and the practice may bill the patient only $18.40. Now the red-flag version: suppose the current contract actually allows $98 for 99213. The ERA still balances perfectly — CO-45 of $58 instead of $52 — and nothing looks wrong on the remit. The only way to catch the $6-per-visit underpayment is comparing the ERA’s $92 against the $98 loaded from the contract. At 4,000 such visits a year, that invisible $6 is $24,000 (illustrative).

Underpayment Detection: A 6-Step Workflow

  1. Load contracts as data. Enter every payer’s current fee schedule — by CPT/HCPCS, contract year, and locality — into the billing system as expected-allowed amounts, not just charge amounts.
  2. Compare ERA allowed vs expected allowed automatically on every posted line, not a sample. The comparison is allowed-to-expected; billed charges are irrelevant to this test.
  3. Set a variance threshold. Flag lines where |actual − expected| exceeds a tolerance (for example $1 or 2%) to filter rounding noise from real discrepancies.
  4. Work variances as a queue. Group by payer and code. One-off blips are posting errors; the same code short-paid by the same payer across many claims is a fee-schedule dispute.
  5. Dispute per the contract. Send the payer a project-claim listing with the contract citation and request reprocessing; most agreements have a defined underpayment/dispute clause with its own deadline.
  6. Track recovery and root cause. Record what the payer corrected — payer-side loading error, contract-interpretation gap, or your own wrong expected rate — and fix the source so next quarter’s variance report is quieter.

This is the same discipline that drives clean-claim and first-pass metrics: submission quality controls denials, and posting vigilance controls payment integrity. Our clean-claim guide covers the front end of that pipeline.

CO-45 Cause → Fix Reference

Pattern you seeLikely causeFix
Consistent CO-45 on every line, allowed matches contractNormal charge-above-allowed billingNone — post and move on
Allowed amounts lower than contracted ratesPayer applied wrong/outdated fee scheduleVariance report → underpayment dispute with contract citation
No CO-45 on some codes at allCharge set at or below the allowed amountRaise chargemaster price above highest contracted rate
CO-45 plus unusually large PR amountsClaim processed out-of-networkVerify credentialing, TIN/NPI, and network status; request reprocessing
CO-45 amounts changed suddenly on one payerNew contract year or amended rates took effectLoad the new fee schedule; verify against the amendment
CO-45 with zero paymentOften paired with another CARC doing the real denyingRead the full code string; work the controlling denial first

When to Appeal (Rarely) vs When to Adjust

Adjust when the allowed amount matches your verified contract rate — that is the bargain of network participation, and appealing it wastes appeal capacity you need for real denials.

Dispute or appeal only when you can attach evidence the payer applied the wrong basis: the fee-schedule exhibit or amendment showing a higher rate, proof of in-network status for the date of service, or the payer’s own published fee schedule for the locality. Frame it as a request for reprocessing under the contract, cite the specific provision, and batch identical lines into one project claim rather than appealing one at a time. Note that timely-dispute clauses for underpayments are often shorter than denial-appeal windows — check the contract, not just payer appeal policy.

Fee-Schedule Review Checklist (Quarterly)

  • Current fee schedule loaded for every contracted payer, correct contract year and locality
  • Chargemaster reviewed so every charge sits above the highest contracted allowed amount
  • Expected-allowed amounts populated for your top 25 codes by volume, minimum
  • Variance report run and worked — every line where ERA allowed ≠ expected allowed
  • Payer amendments and annual rate updates logged with effective dates
  • Out-of-network CO-45/PR patterns reviewed against credentialing status — lapses show up here first (see our credentialing services)
  • Write-off posting codes audited: contractual (CO-45) kept separate from avoidable write-offs so leakage stays visible in reporting

Quick Answers

What does the CO-45 denial code mean? CO-45 means the billed charge exceeds the payer’s fee schedule, maximum allowable, or contracted rate. The payer pays its allowed amount and the difference is a contractual adjustment — usually a routine write-off, not a refusal to pay.

Is CO-45 patient responsibility? No. The CO group code marks the amount as a contractual obligation the provider must write off. Only amounts coded PR — deductible, coinsurance, copay — may be billed to the patient.

How do I fix recurring CO-45 on the same codes? Usually nothing needs fixing — it recurs because your charge exceeds the contracted rate by design. Verify the allowed amount matches your current contract; if it does not, update the loaded fee schedule or dispute the underpayment.

Can I appeal a CO-45 adjustment? Only when the payer applied the wrong fee schedule, contract version, or network status — and you can document the correct rate. Correct contractual adjustments are not appealable.

Why does CO-45 appear even when coding is perfect? Because it is a pricing code, not a coding-error code. It reflects the gap between your charge and the allowed amount and appears on cleanly coded, correctly paid claims every day.

CO-45 rarely travels alone: PR-1/PR-2/PR-3 define what the patient owes on the same line, CO-16 flags claims rejected for missing information before pricing even happens, and CO-97 marks bundled services. Reading the full adjustment string — and keeping contractual write-offs separate from avoidable ones in your revenue cycle reporting — is what turns remittance posting from data entry into payment integrity. Structured denial management closes the loop on the codes that actually are denials.

Work with Verimedix: If your CO-45 write-offs have never been tested against your actual contracts, Verimedix can run the variance analysis — loaded rates vs paid rates, payer by payer — and show whether routine adjustments are hiding recoverable underpayments.
Disclaimer: CPT® is owned by the AMA. Payer and CMS rules change — confirm current CMS/AMA/payer guidance before billing.

Frequently asked questions

In the vast majority of cases it is a contractual write-off: the payer paid its allowed amount and adjusted off the difference between that and your billed charge. It only functions as a problem when the allowed amount is lower than your contract requires, or when it appears alongside another code that denied the line outright.

No. The CO group code designates a contractual obligation between provider and payer, and network contracts prohibit shifting it to the patient. Patients may only be billed amounts the remit codes as PR — deductible, coinsurance, or copay — on that same line.

Compare the ERA's allowed amount — not the adjustment amount — against the contracted rate for that code, payer, and contract year. If actual allowed is below expected allowed beyond a small tolerance, you have a variance worth disputing, even though the remit itself balances perfectly.

Usually because your billed charge is at or below the payer's allowed amount, which means you are leaving money on the table — payers generally pay the lesser of charge or allowed. Review the chargemaster and set charges above your highest contracted rate.

Yes. Medicare uses CARC 45 whenever billed charges exceed the Medicare Physician Fee Schedule amount for the code, locality, and setting. For participating providers the difference is written off; limiting-charge rules govern the small non-participating exception.

Ready to reduce denials and get paid faster?

Get a free, no-obligation billing analysis. See exactly how much revenue your practice could be recovering.

+1 (470) 887-9106
Call Now