EDI 835 Adjustment Codes Explained (With Real Examples)

A practical, detailed guide to understanding CAS adjustment codes on the 835 remittance advice — including group codes, reason codes, and what they mean for your payments and write-offs.

Quick Table of Contents

Who this guide is for

This article is written for:

  • Billing and revenue cycle teams who need to understand why a payment didn’t match the billed amount.
  • Analysts and data engineers working with 835 remittance data in Excel, SQL, or Python.
  • Developers building reporting, posting, or analytics tools on top of 835 files.

The goal is to make CAS segments readable in plain English and to show how these codes map cleanly into flat CSV/Excel outputs from your client-side converter.

What are EDI 835 adjustment codes?

On an 835 remittance advice, you’ll see the CAS segment (Claim Adjustment). It explains why the payer did not pay the full billed amount. Adjustments can represent:

  • Contractual write-offs
  • Patient responsibility (deductible, coinsurance, copay)
  • Non-covered services
  • Bundled or included services
  • Payment policy reductions or denials
Think of CAS segments as the “why” behind payment differences.
They tell you exactly why a claim or service line didn’t pay as billed.

CAS segment structure (group + reason + amount)

A CAS segment is made up of:

  • Group Code – high-level category (e.g., CO, PR, OA, PI).
  • Reason Code – specific reason (e.g., 45, 1, 97, 23).
  • Amount – dollar amount adjusted.
  • Quantity (optional).

Example CAS segments

CAS*CO*45*40.00~
CAS*PR*1*100.00~
CAS*OA*23*18.22~
CAS*PI*204*75.00~

Each one reads like: [Group Code] [Reason Code] [Amount].

A single CAS segment can also contain multiple adjustments by repeating the reason + amount pairs:

CAS*CO*45*40.00*97*15.00*96*10.00~

In this example:

  • CO45 – $40.00 reduced due to fee schedule/contract.
  • CO97 – $15.00 bundled/included in another service.
  • CO96 – $10.00 non-covered.

Group codes: CO, PR, OA, PI

The group code is the most important part for your bookkeeping and posting logic. It tells you at a high level who is responsible for the adjustment.

Group CodeNameWhat it usually means
CO Contractual Obligations Write-off per contract. Provider cannot bill the patient for these amounts.
PR Patient Responsibility Deductibles, coinsurance, copays. These can be billed to the patient.
OA Other Adjustments Miscellaneous or informational adjustments that aren’t clearly provider or patient responsibility.
PI Payer Initiated Reductions Reductions due to payer policies, reviews, or decisions (e.g., medical necessity, utilization review).
In many systems, CO = write-off, PR = patient balance.
OA and PI may be handled more case-by-case depending on internal policies.

Common reason codes (reference table)

Below is a reference table of commonly seen 835 CAS reason codes. Exact wording can vary slightly by payer, but these descriptions capture the intent at a practical level.

CodePlain language meaning
1Deductible amount (patient has not met their deductible).
2Coinsurance amount (patient’s coinsurance share).
3Copay amount.
4Other coverage is primary (coordination of benefits).
18Duplicate claim/service.
19Claim processed based on prior payer information.
20Claim not covered by this payer/contractor.
22This care may be covered by another payer.
23Impact of prior payer or provider responsibility.
24Charges inconsistent with patient’s condition or other services.
27Expenses incurred after coverage terminated.
29Time limit for filing has expired.
31Patient cannot be identified as insured.
45Charge exceeds fee schedule/maximum allowable or contracted fee.
49Based on medical policy or clinical guidelines.
50Non-covered services.
51Not medically necessary.
53Service/procedure not appropriate for patient’s condition.
54Multiple surgery reduction.
55Bundled with another procedure/service.
59Processed based on multiple/bilateral surgery rules.
96Non-covered charge(s).
97Payment included in allowance for another service/procedure.
109Claim not covered by this payer; forwarded to additional payer.
119Benefit maximum reached for this period or benefit category.
122Mental health/psychiatric services limit reached.
125Submission/billing error or missing/invalid information.
127Patient has other coverage that must be billed first.
129Exceeded contracted or allowed number of services/visits.
131Service not considered emergency/urgent.
132Preauthorization or precertification required.
133Preauthorization not obtained.
134Technical error in claim submission.
135Temporary denial pending additional information or review.
151Service deemed unrelated to condition or diagnosis.
153Duplicate payment; previously paid.
170Service denied when performed by this type of provider or specialty.
204Service not authorized or prior authorization denied.
223Adjustment due to utilization management decision.
226Information requested from provider was not provided or was insufficient.

Note: For the official master list, always refer to the current X12/835 code set or payer companion guide. This table focuses on codes that appear frequently in day-to-day billing.

Real 835 examples

Let’s walk through a few common scenarios using real-style CAS segments and explain them in billing terms.

Example 1: Contractual write-off (CO 45)

CLP*12345*1*200.00*120.00*80.00*...~
CAS*CO*45*80.00~

The provider billed $200.00. The payer allowed $120.00 and paid $120.00.
CO45 $80.00 means $80.00 is written off as a contractual adjustment (cannot bill the patient).

Example 2: Deductible and coinsurance (PR 1, PR 2)

CLP*55555*1*300.00*210.00*90.00*...~
CAS*PR*1*60.00*2*30.00~

The provider billed $300.00. The payer paid $210.00.
PR1 $60.00 = patient deductible.
PR2 $30.00 = patient coinsurance.
Total patient responsibility is $90.00.

Example 3: Bundled and non-covered (CO 97, CO 96)

CLP*77777*4*150.00*0*150.00*...~
CAS*CO*97*100.00*96*50.00~

Nothing was paid.
CO97 $100.00 = included in allowance for another service.
CO96 $50.00 = non-covered charges.
Typically, the provider cannot bill the patient for these without special circumstances; check your payer contract.

Example 4: Prior authorization not obtained (PI 204)

CLP*88888*4*500.00*0*500.00*...~
CAS*PI*204*500.00~

The entire charge was denied due to missing authorization.
PI204 often indicates the payer is not paying because preauth rules weren’t followed.

How the Client-Side EDI Converter handles CAS codes

Manually reading CAS segments across hundreds of 835 files is painful. The Client-Side EDI 835/837 Converter is designed to flatten these adjustments into clean columns.

When you load one or more 835 files, the converter:

  • Parses each CAS segment at both claim-level and service-line-level.
  • Breaks out group code, reason code, amount, and quantity.
  • Links adjustments back to the appropriate claim and service line.
  • Maps everything into a consistent, column-based CSV or Excel output.
Try it: drop an 835 into the Client-Side EDI Converter and review how CAS adjustments appear in the exported CSV. Supported file contents are processed locally in the browser rather than sent to the application server for conversion.

Troubleshooting confusing CAS segments

Some 835 files are straightforward; others are messy. Here are common pain points and how to handle them.

1. Multiple CAS segments for the same claim or line

A claim or service line can have several CAS segments (e.g., one CO, one PR, one OA). You may need to sum amounts by group code to figure out:

  • Total write-off (CO total)
  • Total patient responsibility (PR total)
  • Other adjustments (OA/PI totals)

2. Different payers use codes differently

Not all payers interpret every reason code identically. When in doubt:

  • Check the payer’s companion guide.
  • Look at past remits for similar procedures.
  • Align your posting rules with how your payer consistently behaves.

3. CAS at claim vs. line level

Some adjustments apply to the entire claim; others only to specific service lines. For accurate analytics and posting:

  • Distinguish between claim-level CAS (near the CLP) and line-level CAS (often near SVC segments).
  • Make sure your downstream logic knows which level each adjustment belongs to.

4. CAS codes that look contradictory

Occasionally you’ll see multiple codes that, at first glance, conflict. The usual pattern is:

  • One code sets up context (e.g., other payer primary).
  • Another code explains the specific denial/adjustment after coordination of benefits.

FAQ: 835 Adjustment Codes

Are all CO codes write-offs?

In most contracts, yes: CO adjustments are considered provider write-offs. However, always confirm with your payer contracts and internal billing policies.

Can I bill the patient for PR codes?

Generally, PR codes (deductible, coinsurance, copay) represent amounts that may be billed to the patient, assuming you’ve followed payer and regulatory rules. Your internal compliance policies should govern this.

Why do I see both CO 45 and PR 1 on the same line?

This usually means part of the billed amount was written off due to the fee schedule (CO45), and part was allocated to the patient’s deductible (PR1). Together they explain the full difference between billed and paid amounts.

Is there a master list of all reason codes?

Yes, official lists are maintained by X12 and are often republished by clearinghouses and payers. This article focuses on commonly seen codes; for an exhaustive list, refer to those primary sources or your payer’s companion guide.

Make 835 adjustment codes easier to work with

Instead of decoding CAS segments by hand, use the client-side converter to flatten 835 files into clean, filterable tables you can analyze in Excel, Power BI, or your data warehouse.