The denial reason printed on an EOB is a standardized code, not a full explanation. Payers map their internal edits to a limited list of Claim Adjustment Reason Codes (CARCs), so the code you see often points in the wrong direction. To find the real reason, read the CARC together with the Remark Code (RARC) and group code on the electronic remittance (835), compare the claim line by line with similar claims that paid, and check the payer portal before calling. When you do call, have the claim number, the exact codes, and a specific question ready.

Ask anyone who works in billing, and you’ll hear the same complaint: the denial reasons on the EOB don’t always reflect the true denial reason. A claim comes back “denied in full, charges exceed fee schedule,” and your team knows that can’t be right. The next step is usually a 20-minute phone call, if you’re lucky.

This guide explains why EOB denial reasons are so often misleading, how to decode the codes you see most, and how to cut down the time your team spends chasing answers.

Get a free denial analysis and see what your EOBs aren’t telling you. 📞214-851-2698

Why don’t EOB Denial Reasons Match the Real Reason?

There are a few structural reasons, and none of them are your fault.

  1. A limited code list. Every payer has hundreds or thousands of internal claim edits, but they must report the result using a standard national list of CARCs. Many different internal problems end up mapped to the same generic code.
  2. Catch-all codes. Some codes, like CO-16 (claim lacks information) or CO-96 (non-covered charge), are used for many unrelated problems. Without the remark code, they tell you almost nothing.
  3. Missing or dropped remark codes. The RARC is often where the real explanation lives. Paper EOBs, patient EOBs, and some clearinghouse reports shorten or leave out remark codes.
  4. Line-level vs claim-level confusion. One bad line can deny a whole claim, but the EOB may show the reason at a level that hides which line caused it.
  5. Contractual codes that look like denials. Some codes, like CO-45, normally describe routine contract write-offs. When they appear with a $0 payment, they look like a denial reason even though the real problem is something else.

How to Read an EOB or ERA: Group Codes, CARCs, and RARCs

Every adjustment on a remittance is built from three parts. You need all three to understand a denial.

Group codes tell you who is responsible for the amount:

Group code Meaning Can you bill the patient?
CO Contractual obligation No, the provider absorbs it
PR Patient responsibility Yes (deductible, coinsurance, copay, or non-covered with notice)
OA Other adjustment Depends; often COB or other-payer related
PI Payer-initiated reduction Usually no
CR Correction or reversal of a prior claim Check the original claim

CARCs (Claim Adjustment Reason Codes) tell you what happened, for example CO-97 (bundled service).

RARCs (Remittance Advice Remark Codes) tell you why or what’s missing, for example a remark saying a specific modifier or piece of information is required.

A CARC without its RARC is only half the explanation. If your team reads only the CARC, it will misdiagnose denials regularly.

Common EOB Denial Dodes and What They Often Really Mean

Code What the EOB says What it often actually means
CO-45 Charge exceeds fee schedule / maximum allowable Normally a routine contract write-off. If the whole line is $0, check for a missing modifier, a non-contracted service, a bundling edit, or incorrect units
CO-16 Claim lacks information Look at the RARC. Common causes: missing NPI, referring provider, NDC, or invalid date
CO-97 Service included in another service Bundling (NCCI) edit; may need modifier 59/X{EPSU} if services were truly separate
CO-4 Modifier inconsistent or missing Wrong modifier, or one required modifier not attached
CO-11 Diagnosis inconsistent with procedure Diagnosis doesn’t support the CPT code under that payer’s policy
CO-50 Not medically necessary Diagnosis not on the payer’s covered list, or missing documentation
CO-167 Diagnosis not covered Similar to CO-50; check the payer’s coverage policy for that service
CO-197 Precertification/authorization absent No prior auth, or auth on file doesn’t match the CPT, dates, or units
CO-22 May be covered by another payer Coordination of benefits issue; the payer thinks another plan is primary
CO-27 Expenses after coverage ended Eligibility problem; the patient’s coverage termed or changed
CO-29 Timely filing limit expired Claim received late, or earlier submissions were rejected and never accepted
CO-18 Duplicate claim Often a corrected claim sent without the right frequency code
CO-151 / CO-119 Frequency or benefit maximum reached Service limits met for the period
CO-236 Procedure combination not compatible NCCI or payer-specific code pairing edit

The main lesson: CO-45 “charges exceed” on a fully denied line is almost never about your charge amount. It usually means the payer allowed $0 for a reason the code doesn’t show.

Step-by-Step: How to Find the Real Denial Reason

Step 1: Use the 835 ERA, not the paper EOB. The electronic remittance has the full CARC, RARC, and group code at claim and line level. Paper and PDF EOBs often summarize or leave out remark codes.

Step 2: Read every code together. Group code + CARC + RARC, for each line. Write down the full combination (for example “CO-16 + remark code for missing referring provider”), not just “CO-16.”

Step 3: Find the line that caused the problem. If the whole claim denied, check whether one line has a different code. That line is usually the real issue.

Step 4: Compare with a claim that paid. Pull a recently paid claim for the same payer, same CPT, and similar diagnosis. Differences in modifiers, units, place of service, rendering provider, or diagnosis order often reveal the cause in minutes.

Step 5: Check the payer portal and claim status. Many portals show more detailed edit messages than the EOB. A claim status inquiry (276/277) can also return more specific information.

Step 6: Check eligibility and COB for that date of service. Coverage changes, secondary insurance, and plan changes are behind many denials that look like coding problems.

Step 7: Call only if you still don’t know. By this point your call is short and specific.

Let our denial experts fix the root cause, not just resubmit the claim. Talk to a Denial Expert

How to shorten the payer phone call

That 20-minute call usually turns into an hour because the rep reads back the same code you already have. Prepare these before dialing:

  • Claim number, date of service, patient ID, and billed CPT codes with modifiers
  • The exact CARC, RARC, and group code for each denied line
  • A specific question: “This line shows CO-45 with $0 allowed. What internal edit caused the $0 allowance?”
  • A request for the specific edit or policy behind the denial, not just the code description
  • Whether the fix is a corrected claim, a reconsideration, or a formal appeal, and the deadline for each

Before hanging up, always record the call reference number, rep name, and date. If the fix doesn’t work, that reference number becomes evidence in your appeal.

Why This Matters for Your Revenue

Misread denial reasons cost practices in three ways:

  • Wrong fixes. Your team corrects the wrong thing, resubmits, and gets denied again, sometimes past the timely filing deadline.
  • Wasted staff time. Every unclear denial means research, calls, and rework that could have been avoided.
  • Written-off revenue. When the reason can’t be figured out, many claims simply get adjusted off.

How to prevent confusing denials

  1. Track denials by full code combination, not by payer alone. “CO-16 with a specific remark” is a fixable pattern. “Aetna denials” is not.
  2. Build a denial playbook. For each common code combination, note the real cause and the fix, per payer.
  3. Fix problems upstream. Most denials trace back to registration, eligibility, authorization, or charge entry errors.
  4. Scrub claims before submission against NCCI edits, payer-specific rules, and modifier requirements.
  5. Review denial trends monthly. A sudden spike in one code usually means a payer policy changed.

Patients are confused by EOBs too

Your patients get EOBs as well, and they’re often even more confused. Many don’t understand what a deductible is, mix up copay and coinsurance, and don’t realize “out of pocket” can mean two different things. When a patient sees “denied” on their EOB, they call your office. Training front-desk staff to explain group codes (especially PR vs CO) in plain language reduces calls, disputes, and delayed patient payments.

Book a free medical billing audit and uncover coding gaps and missed payments. Book My Free Audit

Frequently asked questions

What’s the difference between an EOB and an ERA?

An EOB (Explanation of Benefits) is usually a paper or PDF summary. An ERA (Electronic Remittance Advice, the 835 file) is the electronic version with complete adjustment codes. For finding denial reasons, the ERA is more reliable.

What does CO-45 mean on an EOB?

CO-45 means the charge exceeds the fee schedule or maximum allowable amount. Normally it’s a routine contractual write-off. If a line is fully denied with CO-45, the real cause is usually something else, such as a non-contracted service, a bundling edit, a missing modifier, or incorrect units.

What is a remark code (RARC)?

A RARC adds detail to the reason code, often explaining exactly what information is missing or which rule applied. Always read it with the CARC.

Can I bill the patient for a CO denial?

Generally no. CO means contractual obligation, so the provider is responsible. PR amounts can be billed to the patient.

Should I send a corrected claim or an appeal?

If the denial came from your own error (wrong code, missing modifier, wrong info), a corrected claim is usually faster. If you believe the payer applied its policy incorrectly, file a reconsideration or appeal with documentation.

Why was my claim denied when a similar one paid?

Small differences such as modifier, units, diagnosis order, rendering provider, place of service, or eligibility on that date often explain it. Compare the two claims line by line.

How can I reduce time spent on denial follow-up?

Read the full code combination on the ERA, check the portal before calling, keep a denial playbook, and track denials by reason code to fix root causes.

Never Miss An Update

Stay updated about our news as it happens