An entry record, or entry detail record, is the transaction-level unit in an ACH batch. It is a type 6 record and carries information needed to credit or debit an account, including an account number and amount. A batch can contain multiple entry records, while an entry can have zero or more associated addenda records. section 2.3 section 2.5
Figure 2.2 ACH file layout
Use the ACH file layout to place entry records within their surrounding batch: batch headers precede them, addenda may follow them, and batch controls close the group. section 2.3
Parsing an entry record depends partly on the batch’s standard entry class (SEC) code, which identifies the kind of entries in that batch. This makes a generic-looking type 6 record a domain-sensitive structure: field interpretation must match the applicable entry type rather than a guessed layout. section 2.5
A practical parser treats entry records as both data to extract and records to validate:
- Enforce the required 94-character record length before relying on field positions. section 2.6.1
- Preserve or report parse errors as a list so malformed input can produce multiple useful validation results. section 2.6.1
- Check that trace numbers ascend within a batch. Their first eight digits identify the originating financial institution, and their final seven digits are ascending, though not necessarily consecutive. section 2.6.2
- Check the addenda flag against the next record’s actual presence; some SEC codes require addenda to carry extra transaction information. section 2.6.3
Validating an entry while parsing
A parser can first read a type 6 record, extract its transaction fields and trace number, then compare that trace number with the prior entry in the batch. It must also reconcile the record’s addenda flag with whether an addenda record follows. Keeping these checks separate from raw field extraction can make later design changes easier to reason about and test. section 2.6.2 section 2.6.3
AI-generated parsing code needs close review for this structure. A generated implementation may confuse an entry detail record with an addenda record or apply fields from the wrong layout. Domain knowledge, a known SEC context, and unit tests are necessary to verify that parsed fields and rejection behavior are meaningful. section 2.5 section 2.6.2
