How to Test 835 Remittance Reconciliation Before Go-Live
Most EDI go-live failures happen at the 835 — not the 837. Here is a practical guide to testing remittance reconciliation before you ever touch production.
Why the 835 breaks go-lives
Most teams test the 837 thoroughly — they validate the claim structure, run it through a clearinghouse sandbox, check the 277A acknowledgment. Then they go live and the 835 breaks everything.
The 835 is harder to test because it requires the full payment cycle to complete: you need a valid 837 first, then payer adjudication, then a realistic ERA response. In a test environment that usually means waiting days for a sandbox response — or worse, fabricating a 835 by hand and hoping it matches what the payer will actually send.
The most common failure modes at go-live:
- CAS segment mismatches — the billing system expects CO-45 contractual adjustments but the payer sends PR-2 patient responsibility. The math balances but the posting logic breaks.
- PLB (Provider-level adjustment) not handled — the payer nets a prior overpayment against the current payment. The 835 balances but the AR system doesn't know how to post the PLB loop.
- NPI/TIN mismatch on NM1*PE — the rendering provider in the 835 doesn't match what's in the billing system. Auto-posting fails silently.
- SVC line level vs CLP claim level posting confusion — the billing system posts at the CLP level but the payer sends adjustments at the SVC line level. Partial payments get misapplied.
- Zero-pay 835s not handled — a full denial comes back as a $0.00 CLP with CAS CO-97. Many systems skip the posting step for zero-pay claims, leaving them in limbo.
The anatomy of an 835
Before you can test it, you need to understand what a valid 835 contains. The key segments in order:
Reading the math: BPR says $285.00 was paid. CLP says charge was $285.00, paid $228.00, patient responsibility $57.00. CAS says CO-45 contractual adjustment of $57.00. So: $228.00 + $57.00 = $285.00. ✓
This balance check — paid + all CAS adjustments + PR patient responsibility = original charge — is what your billing system's auto-poster runs on every single CLP loop. If it doesn't balance, the claim suspends.
The eight 835 scenarios you must test before go-live
How to generate synthetic 835s for testing
The challenge with 835 testing is that a realistic 835 requires matching data from the original 837: the same ICN, same member ID, same CPT codes, same provider NPI. If those don't match what's in your billing system's pending claims file, the auto-poster rejects or suspends the transaction.
There are three approaches:
Option 1 — Wait for the clearinghouse sandbox to respond. Most clearinghouses have a test environment that will generate a synthetic 835 in response to a test 837. The problem: sandbox response times are slow (24–72 hours), the scenarios are limited to what the sandbox supports, and you can't easily generate edge cases like PLB adjustments or full denials.
Option 2 — Hand-build the 835. Faster but error-prone. Getting the CAS math right, the SVC line level detail matching the 837, and the PLB loops correct requires deep EDI knowledge and takes hours per scenario.
Option 3 — Generate the 835 from the same member record that generated the 837. This is what Synthibase does. Because the 837 and 835 are generated from the same encounter and member registry, the ICN, member ID, provider NPI, and CPT codes all match automatically. You get a coherent 837/835 pair for every test scenario — including full denials, COB, and PLB — without waiting for a sandbox response or building segments by hand.
A practical pre-go-live 835 checklist
Before you go live with a new billing system, clearinghouse, or payer connection, verify each of these:
Synthibase generates 835s paired with their originating 837 — same ICN, same member, same provider, same CPT codes — so the reconciliation math works end to end. Every scenario in the checklist above is testable before you touch production. Start a free trial →