Revenue cycle
CO-45 denial code: when it's a normal write-down and when it's an underpayment
CO-45 means the payer allowed less than you charged, and the provider absorbs the difference. Most of the time that's a correct contractual write-down. A short payment carries the same code, though, so the only way to tell them apart is to check each line's allowed amount against what your contract or fee schedule says it should be.
- X12 definition
- "Charge exceeds fee schedule/maximum allowable or contracted/legislated fee arrangement" (X12 CARC 45)
- CO vs PR
- CO is a contractual obligation the provider absorbs. PR is patient responsibility (X12 group codes)
- Where you see it
- The CAS segment of the 835 remittance, or the adjustment column of a paper EOB
- When it's correct
- Billed charge minus CO-45 equals the allowed amount your contract or fee schedule sets for that line
- When it's an underpayment
- The allowed amount is below the expected amount, so CO-45 is too large
- Next step
- Write it off if it checks out. If it doesn't, dispute it with an underpayment appeal letter
What CO-45 means
X12 defines claim adjustment reason code 45 as "Charge exceeds fee schedule/maximum allowable or contracted/legislated fee arrangement" (X12). The payer allowed less than you billed, and CO-45 carries the gap. In accounting terms that gap is the contractual adjustment: the amount your agreement says you won't collect.
CO-45 is not a denial. A line with CO-45 can be paid in full at the allowed amount. It gets lumped in with denial codes because every adjustment on a remittance carries a reason code.
CO-45 vs PR-45: who owns the difference
The two letters in front of the number are the group code. CO means contractual obligation and PR means patient responsibility (X12 group codes). CMS puts it this way for Medicare: CO "assigns responsibility to the provider", and providers "may bill Medicare beneficiaries for an unpaid portion only when an adjustment shows Group Code PR" (CMS MLN remittance advice booklet).
X12 limits reason code 45 to group codes PR or CO "depending upon liability". PR-45 shows up when the payer considers the patient liable for the difference, for example when no network contract stops the provider from billing the balance.
A PR-45 does not settle whether you may bill the patient. Federal rules bar balance billing for emergency services (45 CFR 149.410) and for non-emergency services by non-participating providers at participating facilities (45 CFR 149.420). State law and your contracts can add limits of their own.
The CO-45 check: three numbers per line
Billed charge − CO-45 = allowed amount
Allowed amount − patient responsibility (deductible, coinsurance, copay) − other adjustments = paid
The test is whether the allowed amount equals the expected amount for that code, modifiers, units, place of service and date of service. If it does, the CO-45 is a correct write-down. If the allowed amount is lower, the part of the CO-45 that sits below expected is an underpayment. The expected reimbursement guide shows how to build that number for each contract type.
Compare allowed, not paid. Patient responsibility lowers the payment without changing what the payer allowed.
When CO-45 is wrong on its face
X12's usage note for reason code 45 says the adjustment "cannot equal the total service or claim charge amount; and must not duplicate provider adjustment amounts (payments and contractual reductions) that have resulted from prior payer(s) adjudication" (X12). That rules out two cases before you open a contract.
- CO-45 equals the full charge. A line written off entirely under CO-45 is a denial with the wrong code on it. Ask the payer for the real reason.
- A secondary payer repeats the primary's reduction. A secondary that writes off dollars the primary already reduced breaks the usage note. Ask it to reprocess.
When CO-45 is hiding an underpayment
None of these changes how the code looks on the remittance. You find each one by comparing the allowed amount with a specific number.
- Wrong rate loaded. Compare the allowed amount with your contract's rate exhibit for the date of service. On a percent-of-Medicare contract, a payer still using last year's fee schedule is a common version (see the worked example in the expected reimbursement guide).
- Wrong place of service. Compare against the facility or non-facility amount that matches where the service happened (CMS PFS documentation).
- Wrong locality. Check that the payer priced the line for the Medicare locality where you performed the service.
- A modifier that should change the amount was ignored. A multiple-procedure reduction carries its own reason code, covered in the CO-59 guide.
- Medicare Advantage paying a non-contracted provider below original Medicare. A provider without a contract must accept what it could collect under original Medicare as payment in full (42 CFR 422.214(a)(1)), so that is the benchmark for the allowed amount.
- The same short amount on every claim. If one payer underpays one code by the same dollars each time, the loaded rate is wrong. Get it fixed at the source rather than appealing claim by claim.
CO-45 with N381
Remark code N381 reads "Alert: Consult our contractual agreement for restrictions/billing/payment information related to these charges" (X12 RARC list). The payer is pointing you to your contract, so pull the rate exhibit for that code and date of service. N381 tells you where to look, and you still have to check the amount against that exhibit yourself.
CO-45 on Medicare remittances
A provider who accepts assignment agrees to accept as the full charge "the amount approved by the carrier", which under the fee schedule is "the lesser of the fee schedule amount and the actual charge" (42 CFR 424.55(b)(1)). CO-45 on an assigned claim is your charge minus that approved amount. Check the approved amount against the Physician Fee Schedule amount for your locality, setting and year (CMS).
Non-participating providers billing unassigned claims may charge the patient up to the limiting charge, which is 115% of the fee schedule amount for non-participating suppliers (42 CFR 414.48(b)).
If the approved amount is wrong, you can request a redetermination within 120 calendar days of receiving the initial determination. Receipt is presumed to be 5 calendar days after the date on the notice (42 CFR 405.942). A clerical error, such as a computational mistake or inaccurate data entry, goes through a reopening instead of a redetermination (42 CFR 405.980(a)(3)). A party may ask for a reopening within 1 year of the initial determination for any reason (405.980(c)(1)).
How to resolve CO-45: write off, correct or dispute
| What you find | What it means | What to do |
|---|---|---|
| Allowed equals expected | The CO-45 is a correct contractual write-down | Post it and write it off |
| Allowed is below expected | Part of the CO-45 is an underpayment | Dispute the difference with an appeal letter, and fix the loaded rate if it repeats |
| CO-45 equals the full charge | A denial carrying the wrong reason code | Call the payer or ask in writing for the real denial reason |
| Secondary repeats the primary's reduction | A duplicate adjustment X12 says must not happen | Ask the secondary to reprocess |
| The line was bundled into another service | A different code with a different fix | See the CO-97 guide |
| Your charge is below the contract rate | The payer allowed your charge, and CO-45 is zero | Raise the chargemaster price for that code |
The last row is the one no remittance flags. Medicare allows the lesser of the fee schedule amount and your actual charge (42 CFR 424.55), and a commercial contract with a lesser-of clause works the same way. If your charge for a code is below the rate your contract pays, the payer allows your charge, CO-45 is zero, and nothing on the 835 looks wrong. Compare your chargemaster with your highest contracted rate for each code.
A worked example
Illustrative numbers, not real rates. Two lines for the same code from the same payer, each billed at $300. The contract sets the expected allowed amount at $180.
| Line | Charge | CAS group / reason / amount | Allowed | Expected | Variance |
|---|---|---|---|---|---|
| Line A | $300.00 | CO / 45 / $120.00 | $180.00 | $180.00 | $0.00 |
| Line B | $300.00 | CO / 45 / $138.00 | $162.00 | $180.00 | −$18.00 |
Both lines look normal. Line A's write-down is correct. On line B the CO-45 is $18 too large, and that $18 is an underpayment.
Before you write off a CO-45
- Confirm the group code is CO, not PR.
- Check that the CO-45 is less than the full charge and, on a secondary, doesn't repeat the primary's reduction.
- Compare charge minus CO-45 with the expected amount for that line.
- If allowed is lower, dispute the difference inside the payer's appeal window and look for the same shortfall on other claims.
- If allowed equals your charge, compare the charge with the contract rate.
Questions
Is CO-45 a denial?
No. CO-45 is an adjustment for the part of your charge above the allowed amount, and the line can still be paid in full at that allowed amount. It appears next to denial codes on remittances because every adjustment carries a reason code.
Can I bill the patient for a CO-45 adjustment?
Generally no. Group code CO puts the amount on the provider. CMS says providers may bill Medicare beneficiaries for an unpaid portion only when the adjustment shows group code PR.
What's the difference between CO-45 and PR-45?
Both use reason code 45, meaning the charge exceeds the allowed amount. The group code says who owns the difference: CO means the provider writes it off, and PR means the patient may be responsible for it. Your contract, federal balance-billing rules and state law decide whether a patient can actually be billed.
Should I appeal CO-45?
Only when the allowed amount is lower than your contract or fee schedule says it should be for that code and date of service. If the allowed amount matches the expected amount, the CO-45 is correct and you post it as a write-off.
What does CO-45 mean on a Medicare remittance?
On an assigned claim it is your charge minus the Medicare-approved amount, which you've agreed to accept as the full charge. Check the approved amount against the Physician Fee Schedule amount for your locality, setting and year.
Every payment, checked against your contract
Redress is building AI agents that work the practice's side of the revenue cycle: they check each payment against what you're owed and appeal what comes back short, and a person signs every appeal. We're early, and we'd like to hear how your team handles this today.
Talk to a founder- X12 claim adjustment reason codes (45, 59, 97)
- X12 claim adjustment group codes
- X12 remittance advice remark codes (N381)
- CMS MLN, Medicare Remittance Advice booklet (ICN 905367)
- 42 CFR 424.55, payment to the supplier (assignment)
- 42 CFR 414.48, limits on actual charges of nonparticipating suppliers
- 42 CFR 405.942, time frame for filing a redetermination
- 42 CFR 405.980, reopening of initial determinations
- 42 CFR 422.214, payment to non-contract providers by MA organizations
- 45 CFR 149.410, balance billing in cases of emergency services
- 45 CFR 149.420, balance billing for non-emergency services by nonparticipating providers at participating facilities
- CMS Physician Fee Schedule documentation
Last reviewed October 19, 2026. This guide is general information about payer payment rules, not legal advice. Your payer contract and provider manual control the details; check them before you file.