How to Read an 835 Remittance File (A Visual Guide)
You submitted the claim. The money came back — or didn’t. The 835 tells you everything. Here’s how to read it.
If the 837P is the claim you send out, the 835 is the response you get back. It’s the payer’s explanation of what they paid, what they adjusted, and why. It’s also where you find out your claim was denied — buried in a cryptic two-letter reason code somewhere in a wall of asterisks.
The 835 Health Care Claim Payment/Advice is one of the most information-dense files in healthcare EDI. Every payment, every adjustment, every denial reason is in there. Once you know how to read it, the 835 goes from frustrating to genuinely useful.
What Is an 835 File?
An 835 is a HIPAA X12 transaction used by payers (insurance companies) to send payment details to providers and clearinghouses. It answers two questions:
- Were you paid? (And how much?)
- If not fully paid — why not?
It’s the electronic equivalent of the Explanation of Benefits (EOB) you’d get in the mail — except it’s machine-readable, covers dozens or hundreds of claims at once, and arrives in your clearinghouse inbox instead of your mailbox.
When you receive an 835:
- A batch of claims you submitted was processed
- Some claims were paid in full, some were adjusted, some were denied
- Your billing system uses the 835 to post payments and identify claims that need follow-up
Related file types:
- 837P / 837I — The claims you sent that generated this 835
- 277CA — Claim acknowledgment (did the payer receive the claim?)
- 270/271 — Eligibility checks before you even submitted
What a Raw 835 Looks Like
Before we break it down, here’s a real-world 835 in all its glory:
ISA*00* *00* *ZZ*PAYER123 *ZZ*PROVIDER456 *260323*0900*^*00501*000000042*0*P*:~
GS*HP*PAYER123*PROVIDER456*20260323*0900*42*X*005010X221A1~
ST*835*0001*005010X221A1~
BPR*C*450.00*C*ACH*CCP*01*021000021*DA*987654321*1234567890**01*021000021*DA*111222333*20260323~
TRN*1*835-20260323-001*1234567890~
REF*EV*BCBS-MA~
DTM*405*20260323~
N1*PR*BLUE CROSS BLUE SHIELD OF MA*XV*04672~
N3*101 HUNTINGTON AVE~
N4*BOSTON*MA*02199~
N1*PE*SMITH FAMILY MEDICINE*XX*1234567890~
N3*123 MAIN STREET~
N4*PLYMOUTH*MA*02360~
REF*TJ*111222333~
LX*1~
CLP*PAT001*1*150.00*125.00**MC*1234567890*11*1~
NM1*QC*1*JOHNSON*ROBERT****MI*ABC123456~
NM1*74*2*BLUE CROSS BLUE SHIELD OF MA~
DTM*232*20230610~
DTM*233*20230618~
SVC*HC:99213*75.00*62.50*1~
DTM*472*D8*20230610~
CAS*CO*45*12.50~
AMT*B6*62.50~
SVC*HC:99395*75.00*62.50*2~
DTM*472*D8*20230610~
CAS*CO*45*12.50~
AMT*B6*62.50~
LX*2~
CLP*PAT002*4*200.00*0.00**MC*9876543210*11*1~
NM1*QC*1*WILLIAMS*SARAH****MI*XYZ789012~
DTM*232*20230612~
SVC*HC:99214*200.00*0.00*1~
DTM*472*D8*20230612~
CAS*CO*4*200.00~
PLB*1234567890*20261231*CV:PAT003*-25.00~
SE*38*0001~
GE*1*42~
IEA*1*000000042~
That’s a payment of $450 covering two patients — one partially paid, one denied. The provider adjustment? Buried in there too. Let’s decode all of it.
The Structure: Envelopes, Then Detail
Like the 837, an 835 wraps its data in layers. The outer envelope is identical to any X12 transaction. The inner structure is specific to payments.
Layer 1 & 2: ISA/GS Envelope
Same as the 837 — the interchange and functional group wrappers.
ISA*00* *00* *ZZ*PAYER123 *ZZ*PROVIDER456 *260323*0900*^*00501*000000042*0*P*:~
GS*HP*PAYER123*PROVIDER456*20260323*0900*42*X*005010X221A1~
Key difference from 837: The GS01 is HP (Health Care Claim Payment/Advice), not HC. This is how your system knows it’s an 835 before it even reads the ST segment.
Also note the implementation guide: 005010X221A1 — that’s the 835-specific companion guide, different from the 837’s X222A2.
Layer 3: Transaction Set (ST/SE)
ST*835*0001*005010X221A1~
...
SE*38*0001~
ST01 of 835 confirms this is a remittance file.
The BPR: Where the Money Is
The BPR (Financial Information) segment is uniquely important to the 835 — it’s the check stub.
BPR*I*450.00*C*ACH*CCP*01*021000021*DA*987654321*1234567890**01*021000021*DA*111222333*20260323~
| Element | Value | Meaning |
|---|---|---|
| BPR01 | C | Credit — payment is being initiated via ACH |
| BPR02 | 450.00 | Total payment amount: $450.00 |
| BPR03 | C | Credit (you’re receiving money) |
| BPR04 | ACH | Payment via ACH bank transfer |
| BPR05 | CCP | Corporate credit or debit (ACH subtype) |
| BPR06–10 | 01/021000021/DA/987654321 | Payer’s bank routing + account info |
| BPR12–14 | 01/021000021/DA/111222333 | Your bank routing + account info |
| BPR16 | 20260323 | Effective payment date: March 23, 2026 |
The BPR is why an 835 is both a remittance and a payment notice. It tells you exactly when the money hits your account and from which bank.
TRN: Trace Number
TRN*1*835-20260323-001*1234567890~
- TRN02: The payer’s check/EFT number —
835-20260323-001— your reference for any payment disputes - TRN03: Typically the payer’s EIN, NPI, or other identifier used for EFT reconciliation
Always keep the TRN02. If a payment goes missing or gets posted twice, this is what reconciliation depends on.
Payer and Payee (N1 Loops)
N1*PR*BLUE CROSS BLUE SHIELD OF MA*XV*04672~
N3*101 HUNTINGTON AVE~
N4*BOSTON*MA*02199~
N1*PE*SMITH FAMILY MEDICINE*XX*1234567890~
- N1*PR — The Payer (insurance company sending the money)
- N1*PE — The Payee (provider receiving it)
The qualifier codes matter: XV = Health Plan Identifier, XX = NPI. If you’re running multiple providers or tax IDs, the PE loop is how you match this remittance to the right practice.
The CLP Loop: One Block Per Claim
This is where every individual claim is accounted for. Each CLP (Claim Payment Information) segment represents one claim from your original 837 submission.
LX*1~
CLP*PAT001*1*150.00*125.00**MC*1234567890*11*1~
CLP breakdown:
| Element | Value | Meaning |
|---|---|---|
| CLP01 | PAT001 | Patient account number (from your 837 CLM01) |
| CLP02 | 1 | Claim status code: 1 = Processed as Primary |
| CLP03 | 150.00 | Amount charged |
| CLP04 | 125.00 | Amount paid |
| CLP05 | (blank) | CLP05 may contain patient responsibility, but in practice this is more reliably determined from CAS segments with PR group codes |
| CLP06 | MC | Claim filing indicator: MC = Medicare |
| CLP07 | 1234567890 | Payer’s claim control number (their internal ID) |
| CLP08 | 11 | Facility type (11 = Office) |
CLP02 Claim Status Codes — the ones you see most:
| Code | Meaning |
|---|---|
| 1 | Processed as Primary |
| 2 | Processed as Secondary |
| 3 | Processed as Tertiary |
| 4 | Denied |
| 19 | Processed as Primary, forwarded to secondary |
| 22 | Reversal of previous payment |
A CLP02 of 4 (Denied) means you’re getting $0.00. Look at the CAS segments below to find out why.
Patient Name (NM1*QC)
NM1*QC*1*JOHNSON*ROBERT****MI*ABC123456~
- QC = Patient
- Name: Robert Johnson
- MI = Member ID: ABC123456
This ties the payment back to the specific patient and their insurance ID — critical when you’re posting to individual accounts in your billing system.
CAS Segments: The Adjustment Reason
The CAS (Claim Adjustment) segment is where the 835 explains every dollar not paid at the billed amount. This is what your billing team lives and dies by.
CAS*CO*45*12.50~
| Element | Value | Meaning |
|---|---|---|
| CAS01 | CO | Adjustment Group: Contractual Obligation |
| CAS02 | 45 | Reason Code: Charges exceed your contracted amount |
| CAS03 | 12.50 | Dollar amount adjusted |
CAS01 — Adjustment Group Codes:
| Code | Meaning |
|---|---|
| CO | Contractual Obligation — the contractual write-off between you and the payer |
| OA | Other Adjustments — miscellaneous |
| PI | Payer Initiated — payer adjustments not at provider’s request |
| PR | Patient Responsibility — patient owes this (deductible, copay, coinsurance) |
Common CAS02 Reason Codes:
| Code | Meaning | What to Do |
|---|---|---|
| 1 | Deductible amount | Bill the patient |
| 2 | Coinsurance amount | Bill the patient |
| 3 | Co-payment amount | Should’ve been collected at time of service |
| 4 | The service is not covered | Review patient’s plan; appeal if warranted |
| 45 | Charges exceed contractually allowed amount | Write off — this is your contracted discount |
| 97 | Service included in payment/allowance for another procedure already adjudicated (bundling denial) | Investigate for improper bundling; consider appeal or modifier resubmission — do not write off without review |
| 109 | Claim not covered by this payer | May need to resubmit to correct payer |
| 119 | Benefit maximum for this time period reached | Verify patient’s remaining benefits |
| 181 | Procedure code not valid for this date of service | Resubmit with corrected code |
| 256 | Service not payable per managed care contract | Contractual; write off |
| B7 | Provider not certified/eligible to perform service on date of service | Credentialing issue |
| CO-4 | The service is inconsistent with the modifier used, or a required modifier is missing | Modifier/code mismatch or missing modifier; resubmit corrected |
CO*45 is the most common — it’s just your contracted rate adjustment. If you’re seeing it in unexpected amounts, your fee schedule may be misconfigured.
PR codes are what you send to the patient for collections. CO codes are typically write-offs. PI codes are the payer making internal adjustments.
SVC Segments: Service Line Detail
Just like the 837 has SV1 segments for each service line, the 835 responds with SVC segments.
SVC*HC:99213*75.00*62.50*1~
DTM*472*D8*20230610~
CAS*CO*45*12.50~
AMT*B6*62.50~
| Segment | Value | Meaning |
|---|---|---|
| SVC01 | HC:99213 | CPT code 99213 (office visit) |
| SVC02 | 75.00 | Amount billed |
| SVC03 | 62.50 | Amount paid |
| SVC04 | 1 | Number of service units |
| DTM*472 | 20230610 | Date of service: June 10, 2023 |
| CAS*CO*45 | 12.50 | Contractual adjustment of $12.50 |
| AMT*B6 | 62.50 | Commonly used for allowed amount, though interpretation may vary by payer |
$75.00 billed. $62.50 allowed. $12.50 contractual write-off. $62.50 paid. The math checks out.
A Full Denial: CLP*PAT002
Now for the denial:
LX*2~
CLP*PAT002*4*200.00*0.00**MC*9876543210*11*1~
NM1*QC*1*WILLIAMS*SARAH****MI*XYZ789012~
DTM*232*20230612~
SVC*HC:99214*200.00*0.00*1~
DTM*472*D8*20230612~
CAS*CO*4*200.00~
- CLP02: 4 = Denied
- CLP04: 0.00 = $0 paid
- CAS*CO*4*200.00 — The full $200 was adjusted with reason code 4: The service is not covered
Sarah Williams’s office visit was denied because the service isn’t covered under her plan. This claim needs follow-up: verify eligibility, check benefit exclusions, or appeal if you believe it’s incorrectly denied.
PLB: Provider-Level Adjustments
The PLB (Provider-Level Adjustment) segment is easy to miss — and expensive to overlook.
PLB*1234567890*20261231*CV:PAT003*-25.00~
| Element | Value | Meaning |
|---|---|---|
| PLB01 | 1234567890 | Provider NPI |
| PLB02 | 20261231 | Fiscal period end date |
| PLB03 | CV:PAT003 | Reason code: CV = Capitation; reference: PAT003 |
| PLB04 | -25.00 | Amount: -$25.00 (clawback) |
A negative PLB means the payer is taking money back from this remittance. Common reasons:
| Code | Meaning |
|---|---|
| 72 | Authorized return |
| CV | Capitation |
| FB | Forward balance |
| WO | Withholding |
| L6 | Interest payment (positive — they owe you) |
| 50 | Late charge |
If you see large negative PLB amounts regularly, that’s a payer clawback — possibly for overpayments on previous remittances. It needs to be investigated.
835 Segments Quick Reference
| Segment | Name | What It Contains |
|---|---|---|
| ISA/IEA | Interchange envelope | Sender, receiver, control numbers |
| GS/GE | Functional group | Transaction type (HP), version |
| ST/SE | Transaction set | 835 wrapper |
| BPR | Financial information | Payment amount, payment method, bank info |
| TRN | Trace number | EFT/check reference number |
| DTM | Date | Payment date, fiscal period |
| N1*PR | Payer name | Insurance company + ID |
| N1*PE | Payee name | Provider receiving payment + NPI |
| LX | Service line counter | Claim sequence number |
| CLP | Claim payment | Account number, status, charged, paid, payer claim ID |
| NM1*QC | Patient name | Patient name + member ID |
| NM1*74 | Corrected priority payer | Coordination of benefits info |
| SVC | Service payment | CPT code, billed, paid, line reference |
| CAS | Claim adjustment | Adjustment group, reason code, dollar amount |
| AMT | Monetary amount | Allowed amount, patient responsibility |
| DTM*232/233 | Claim dates | Statement from/through dates |
| PLB | Provider adjustment | Provider-level offsets, clawbacks, withholdings |
Reading an 835: A Workflow
When an 835 lands in your clearinghouse inbox, here’s how to work through it:
- Check the BPR — How much is being paid total? Does it match what you expected?
- Check the TRN — Save the EFT/check number for reconciliation
- Scan CLP02 codes — Any 4s (denials)? How many?
- For each denial (CLP02=4): Look at the CAS reason code. Is it appealable or a write-off?
- For partial payments (CLP03 > CLP04): Review CAS codes — is it a CO*45 write-off, or PR patient responsibility?
- Check for PLB segments — Any clawbacks or interest adjustments at the bottom?
- Post payments — Apply the paid amounts to the corresponding patient accounts
- Work denials — Send PR-coded amounts to patient billing; research CO*4 and similar for appeal
Most billing software does steps 1–7 automatically. Step 8 is where human judgment matters — and where understanding the 835 pays off.
Why This Matters
An unread 835 is money left on the table. The reason codes tell you exactly what to fix:
- CO*4 (not covered) — Verify patient benefits before the next appointment
- CO*181 (invalid procedure code for date) — Fix and resubmit; this is a coding error
- PR*1/2/3 (patient responsibility) — Bill the patient; don’t write it off
- B7 (provider not certified) — Credentialing issue; escalate immediately
- Negative PLB — Audit the payer’s calculation; claw back if it’s wrong
Providers who can read their 835s catch these patterns early. Providers who can’t end up writing off money they were owed.
There’s a Better Way
Reading raw EDI is tedious and error-prone. EDI Paisan parses 835 files instantly and presents them as structured, human-readable data:
- Claim-by-claim breakdown — every CLP with its paid/billed amounts and status
- Adjustment summary — grouped by reason code so you see your denial patterns at a glance
- PLB tracking — provider-level adjustments called out explicitly
- Searchable segments — jump to any claim, patient, or CPT code in seconds
No more hunting through thousands of characters for a single CAS code. Drop in your 835, and the data is right there.
Free to use, no account required for files up to 100MB.
Try it free at edipaisan.com →
EDI Paisan is built by healthcare IT engineers who got tired of explaining EDI files in Notepad. We build modern tools for the people who keep healthcare running.