Reference·BPR Segment·BPR04
X12 820 Reference

X12 820 BPR04 Field Guide: Payment Method Values and Common Mistakes

Jul 28, 2026 · 4 min read
← BPR02

Pick ACH for BPR04 in every test file you generate and your parser will happily validate a payment method it has never actually seen fail. Real premium payments arrive by check and wire too, and each one drags along a different set of required banking fields later in the segment.

Quick answer

BPR04 is a short alphabetic code identifying how the payment described by BPR02 moved, or would move, between the payer and the health plan. It directly determines which of the DFI identification, account number, and routing fields elsewhere in the BPR segment are required versus left blank, so a change in BPR04 changes the shape of the rest of the segment, not just its meaning.

Common code values

ACH
Automated Clearing House — the most common method for recurring premium payments, requires originating and receiving DFI and account detail
CHK
Check — a physical or electronic check payment, typically carries less banking detail than ACH
FWT
Federal Reserve Wire Transfer — used for large or time-sensitive premium payments, requires full routing and account detail
NON
Non-Payment Data — pairs with a BPR01 value of I, confirming no actual funds transfer accompanies this transaction

Example

Synthetic example Generated by Synthibase
BPR*C*48250.00*C*ACH*CTX*01*071000013*DA*4021988650**01*091000019*DA*8817002261*20260801

BPR04=ACH in this synthetic premium payment means the routing and account numbers that follow are required and describe the originating and receiving financial institutions.

Where this trips people up

Because ACH is the default for most premium payment integrations, test suites tend to generate BPR04 = ACH exclusively and never exercise CHK or NON. That leaves two problems undiscovered: a parser that assumes DFI and account fields are always populated breaks the first time it sees a CHK file where those fields are legitimately blank, and a system that never sees NON paired with a BPR01 of I has no tested path for confirming a remittance-only file correctly carries no banking detail at all. Vary BPR04 deliberately across synthetic files rather than defaulting to whichever method is most common in production.

X12 820 BPR Segment Guide: Fields, Format, and Testing Gotchas
EDI 835 Remittance Advice: Complete Guide for Healthcare IT
How to Write EDI Test Cases That Actually Catch Go-Live Failures
Test every 820 payment method, not just ACH
Synthibase generates synthetic 820 files spanning ACH, check, wire, and non-payment scenarios with correctly matched banking detail for each, so your parsing logic gets tested against every method your premium payment partners actually use.
Start free trial →
This page is written independently by Synthibase for testing and informational purposes. It is not an official publication of HL7 International or X12/Washington Publishing Company, and is not a substitute for reviewing the official standard or your trading partner's companion guide. See our Terms of Service for full legal terms.