X12 820 TRN03 Field Guide: Originating Company Identifier Values and Common Mistakes
TRN03 and BPR10 often carry the same value, which makes it tempting to treat them as one field with two names. They're not, and a test suite that always keeps them in sync never proves out what happens when a real payer's file doesn't.
TRN03 identifies whose numbering scheme the trace number in TRN02 belongs to — typically a company identifier for the payer or employer that assigned it. It plays a similar role to BPR10 elsewhere in the 820, and the two frequently carry the same value, but nothing in the standard requires them to match.
The elements that actually matter in practice
Example
A synthetic TRN segment where TRN03=1998765432 identifies the payer's company ID as the source of the trace number in TRN02.
Where this trips people up
Test data generators frequently copy the BPR10 value directly into TRN03 on the assumption the two are always identical, and a reconciliation routine built against synthetic data that always aligns them will break the first time a real file legitimately uses different identifiers for the two fields — for instance, when a TPA's company ID assigns the trace number but the employer's ID appears in BPR10. Synthetic files should vary the two independently at least some of the time to catch that assumption before it reaches production.