CARC codes (Claim Adjustment Reason Codes) explain why a payer paid a claim differently than you billed it; RARC codes (Remittance Advice Remark Codes) add supporting detail. Every CARC arrives with a group code — CO, PR, OA, or PI — that tells you who absorbs the adjusted amount. Read all three together and a remittance advice becomes a set of instructions.
Most practice owners look at a remittance advice the way most of us look at a utility bill: check the total, file it away. But every adjusted or denied line on that document is speaking a standardized language, and once you can read it, you know exactly what to do next — write it off, bill the patient, fix the claim, or fight.
This guide explains the system itself. If you want a rundown of which specific denial codes show up most often and how to work each one, see our companion piece on the top medical billing denial codes.
CARC vs. RARC: two different jobs
A CARC (Claim Adjustment Reason Code) answers one question: why is the payment different from the charge? CARCs are numeric (1, 45, 97, 253) and maintained by X12, the standards body behind electronic claims. If a payer adjusts even a penny off your billed amount, a CARC must explain it.
A RARC (Remittance Advice Remark Code) adds detail a CARC alone can’t carry. RARCs are alphanumeric — M-codes, MA-codes, and N-codes — and they either sharpen a vague CARC or pass along informational “alerts” that involve no dollar adjustment at all. Some CARCs actually require a remark code; CARC 16 (“claim/service lacks information or has submission/billing error(s) which is needed for adjudication”) is the classic example, because without a RARC telling you which information is missing, the denial would be useless.
Shorthand: the CARC moves the money; the RARC explains the move.
Group codes: who owes the difference
Each CARC is paired with a two-letter group code that assigns financial responsibility for the adjusted amount:
- CO — Contractual Obligation. The adjustment comes from your contract with the payer or a regulatory requirement. The provider absorbs it. You may not bill the patient for CO amounts.
- PR — Patient Responsibility. Deductible, coinsurance, copay, or services the patient agreed to pay for. Medicare permits billing beneficiaries only for amounts reported with group code PR.
- OA — Other Adjustment. Neither clearly provider nor patient liability — most commonly seen on secondary claims to account for what a prior payer already handled.
- PI — Payer Initiated Reductions. The payer reduced payment on its own initiative, without a contractual basis. X12 permits this group code, but Medicare does not use it.
One rule worth memorizing: group codes attach only to CARCs — never to RARCs. You will see CO-16 accompanied by remark code N822 (“missing procedure modifier(s)”), but “CO-N822” is not a value that can exist on a remittance. If a report, a clearinghouse dashboard, or a billing write-up shows a group code welded to an N-code, someone has misread the remit. The group code and dollar amount always ride with the reason code; the remark code stands alone.
How they combine on an 835/ERA
On an electronic remittance (the X12 835, delivered to your practice as an ERA), each claim or service line carries its adjustments in CAS segments: a group code, a CARC, and the dollar amount adjusted for that reason. A single line can stack several of these. RARCs appear separately as remarks attached to the claim or line — with no dollars of their own.
So a fully adjudicated line reads like a sentence: [who owes] + [why] + [how much], footnoted by [details].
Five worked examples
The dollar figures below are illustrative, not benchmarks.
1. CO-45 — the contractual write-off. CARC 45: “Charge exceeds fee schedule/maximum allowable or contracted/legislated fee arrangement.” You billed $200; the contracted allowable is $130. The $70 difference posts as CO-45. Routine — but only if the allowable matches your loaded fee schedule. If CO-45 amounts creep above what your contract says, that’s underpayment hiding inside a “normal” code.
2. PR-1 — deductible. CARC 1: “Deductible Amount.” The payer allowed the charge but applied it to the patient’s unmet deductible. Because the group code is PR, this balance transfers to the patient. Action: statement out promptly — deductible dollars age badly.
3. CO-97 + M15 — bundling. CARC 97: “The benefit for this service is included in the payment/allowance for another service/procedure that has already been adjudicated,” with remark M15: “Separately billed services/tests have been bundled as they are considered components of the same procedure.” The payer considers the service part of something it already paid. Route to a coder: either the bundle is correct (write off) or a modifier legitimately separates the services (appeal or correct).
4. CO-16 + N822 — fix and resubmit. CARC 16 says the claim lacks information or has a submission/billing error, and X12 requires the payer to include a remark code saying what; here N822 tells you: “Missing procedure modifier(s).” This is not a denial of coverage — it’s a returned claim. Add the modifier, resubmit, and track it against your timely-filing deadline.
5. OA-23 — the secondary-payer ledger line. CARC 23: “The impact of prior payer(s) adjudication including payments and/or adjustments,” used only with group code OA. On a secondary remit, OA-23 accounts for what the primary payer already paid or adjusted. It is not a denial and needs no work — but posters who treat it as one create phantom write-offs.
A simple triage workflow
Route every adjustment by group code first, reason second:
- PR anything → move to patient responsibility and bill promptly.
- CO with a contractual reason (45) → verify against your fee schedule, then write off.
- CO with a fixable reason (16 + remark) → correct and resubmit within timely-filing limits.
- CO with a clinical/policy reason (97 and similar) → coder review, then appeal or write off deliberately.
- OA-23 on secondaries → post as prior-payer accounting, not as a loss.
- Anything with an appeal-rights remark → calendar the deadline the day the remit posts.
The failure mode in most practices isn’t misreading codes — it’s never reading them, so everything defaults to a write-off.
When you’d rather not read remits at all
AMS Solutions has been decoding remittance advices for independent practices since 1992. If your team is posting payments but nobody is working the codes, our medical billing services include line-by-line denial triage, appeals, and fee-schedule verification — so CO-45 never quietly becomes CO-“whatever.”
Code definitions in this article are drawn from the official X12 Claim Adjustment Reason Code and Remittance Advice Remark Code lists and CMS remittance advice guidance.