2.1 File Hierarchy: 94-Character Records, Blocking Factors & File Header (Type 1)
Key Takeaways
- Every logical record in an ACH transmission is strictly 94 ASCII characters in length, structured within a rigid four-tier nested envelope hierarchy of File, Batch, Entry Detail, and Addenda records.
- ACH files mandate a blocking factor of 10 records (940 characters per physical block); incomplete final blocks must be padded with fill records containing ninety-four consecutive 9s.
- The File Header Record (Type 1) establishes physical transmission parameters between the Immediate Origin and Immediate Destination and initiates file-level integrity tracking.
- The 10-character Immediate Destination field (Positions 04–13) contains the 9-digit routing number of the receiving ACH Operator or endpoint, preceded by a mandatory blank space.
- ACH Operators utilize a composite key consisting of Immediate Origin, Immediate Destination, File Creation Date, and File ID Modifier (A–Z, 0–9) to detect and reject duplicate file transmissions.
2.1 File Hierarchy: 94-Character Records, Blocking Factors & File Header (Type 1)
Core Principle: The Automated Clearing House (ACH) Network operates as a batch-oriented, store-and-forward electronic funds transfer ecosystem. To ensure seamless interoperability among thousands of financial institutions, corporate originators, and ACH Operators (the Federal Reserve Bank's FedACH and The Clearing House's EPN), Nacha establishes strict, immutable structural specifications for all transmitted data.
Every participant preparing for the Accredited ACH Professional (AAP) examination must master the underlying technical blueprint of ACH files. File processing failures, operator rejections, and transmission delays almost invariably stem from formatting non-compliance, miscalculated blocking factors, or invalid header parameters.
The Hierarchical File Envelope Model
An ACH file is constructed using a nested envelope hierarchy. This structure allows financial institutions to aggregate thousands of individual debit and credit transactions into logically organized operational units with distinct clearing rules, settlement schedules, and legal warranties.
+-------------------------------------------------------------------------+
| FILE HEADER RECORD (Type 1) |
| +-------------------------------------------------------------------+ |
| | COMPANY / BATCH HEADER RECORD (Type 5) - Batch 0000001 | |
| | +-------------------------------------------------------------+ | |
| | | Entry Detail Record (Type 6) #1 | | |
| | | Addenda Record (Type 7) #1 (Optional / SEC Dependent) | | |
| | | Entry Detail Record (Type 6) #2 | | |
| | | Entry Detail Record (Type 6) #3 | | |
| | +-------------------------------------------------------------+ | |
| | COMPANY / BATCH CONTROL RECORD (Type 8) - Batch 0000001 | |
| +-------------------------------------------------------------------+ |
| +-------------------------------------------------------------------+ |
| | COMPANY / BATCH HEADER RECORD (Type 5) - Batch 0000002 | |
| | +-------------------------------------------------------------+ | |
| | | Entry Detail Record (Type 6) #1 | | |
| | +-------------------------------------------------------------+ | |
| | COMPANY / BATCH CONTROL RECORD (Type 8) - Batch 0000002 | |
| +-------------------------------------------------------------------+ |
| FILE CONTROL RECORD (Type 9) |
| PADDING RECORDS (All 9s records to complete 10-record block) |
+-------------------------------------------------------------------------+
The Four Structural Levels
- File Level (Outer Envelope): Delimited by a single File Header Record (Type 1) at the beginning and sealed by a single File Control Record (Type 9) at the end. It encapsulates all batches, establishes origin/destination routing, and accumulates file-wide control totals.
- Batch Level (Inner Envelope): Delimited by a Company/Batch Header Record (Type 5) and sealed by a Company/Batch Control Record (Type 8). A file can contain one or multiple batches. Each batch isolates transactions that share identical origination characteristics, such as Standard Entry Class (SEC) code, Company ID, Effective Entry Date, and Service Class Code.
- Entry Detail Level (Transaction Instruction): Defined by individual Entry Detail Records (Type 6). Each Type 6 record represents a specific financial or non-monetary transaction directed to an account at a Receiving Depository Financial Institution (RDFI).
- Addenda Level (Supplemental Data): Represented by Addenda Records (Type 7) attached directly behind their parent Type 6 record. Addenda records convey electronic data interchange (EDI) remittance data, return reason codes, or Notification of Change (NOC) details.
The 94-Character Fixed-Length Standard
Every record within an ACH transmission—regardless of whether it is a header, detail, addenda, control, or padding record—must contain exactly 94 ASCII characters.
- No Delimiter Reliance: Fields within an ACH record are fixed-width and positional. They do not rely on commas, tabs, or variable tags. If a field contains fewer characters than its designated length, it must be padded with leading zeros (for numeric fields) or trailing blank spaces (for alphanumeric fields).
- Record Delimiters: While transmission protocols may append carriage return (
CR) and line feed (LF) characters at byte positions 95 and 96 for stream parsing, the logical Nacha record payload is strictly 94 bytes. Any file containing records of 93 or 95 characters is immediately rejected by ACH Operator validation engines.
Blocking Factors & End-of-File Nines Padding
ACH files utilize a mandatory blocking factor of 10. This mainframe-era transmission optimization requires records to be grouped into physical transmission blocks of 10 records (940 characters).
The Mathematical Padding Rule
If the total count of active logical records in a file (Type 1 + Type 5s + Type 6s + Type 7s + Type 8s + Type 9) is not an exact multiple of 10, the file must be padded with fill records containing ninety-four consecutive 9s (9999999999...) until the next multiple of 10 is reached.
Worked Example: Block Calculation
Suppose an ODFI generates an ACH file containing:
- 1 File Header Record (Type 1)
- 2 Company/Batch Header Records (Type 5)
- 18 Entry Detail Records (Type 6)
- 4 Addenda Records (Type 7)
- 2 Company/Batch Control Records (Type 8)
- 1 File Control Record (Type 9)
If this file were transmitted with only 28 records, the ACH Operator would reject the entire file with a fatal framing/blocking error.
Field-by-Field Specification: File Header Record (Type 1)
The File Header Record identifies the physical sender and receiver of the transmission, establishes file creation timestamps, assigns processing priorities, and prevents duplicate file ingestion.
| Field | Positions | Length | Type | Name | Contents / Validation Rules |
|---|---|---|---|---|---|
| 1 | 01–01 | 1 | N | Record Type Code | Mandatory constant 1. Identifies record as File Header. |
| 2 | 02–03 | 2 | N | Priority Code | Default 01. Reserved for ACH Operator transmission priority handling. |
| 3 | 04–13 | 10 | A/N | Immediate Destination | 10 characters: a leading blank followed by the 9-digit Routing Transit Number (RTN) of the receiving ACH Operator or endpoint. |
| 4 | 14–23 | 10 | A/N | Immediate Origin | 10 characters. Formatted as a space ( ) or '1' followed by the 9-digit RTN or Tax ID/EIN of the sending ODFI or transmitting entity. |
| 5 | 24–29 | 6 | N | File Creation Date | Format YYMMDD. The calendar date the file was generated by the ODFI/sending point. |
| 6 | 30–33 | 4 | N | File Creation Time | Format HHMM. 24-hour military time indicating when file creation was completed. |
| 7 | 34–34 | 1 | A/N | File ID Modifier | A–Z (uppercase) or 0–9. Distinguishes multiple files transmitted between the same Origin and Destination on the same Creation Date. |
| 8 | 35–37 | 3 | N | Record Size | Mandatory constant 094. Specifies 94 characters per record. |
| 9 | 38–39 | 2 | N | Blocking Factor | Mandatory constant 10. Specifies 10 records per physical block. |
| 10 | 40–40 | 1 | N | Format Code | Mandatory constant 1. Specifies Nacha standard record format. |
| 11 | 41–63 | 23 | A/N | Immediate Destination Name | Left-justified, blank-filled name of receiving ACH Operator/DFI (e.g., FED REGIONAL ACH ). |
| 12 | 64–86 | 23 | A/N | Immediate Origin Name | Left-justified, blank-filled name of sending ODFI/institution (e.g., FIRST NATIONAL BANK ). |
| 13 | 87–94 | 8 | A/N | Reference Code | Optional. Left-justified, blank-filled tracking code for internal ODFI/sender record-keeping. |
Deep Dive: Critical File Header Mechanics
1. Immediate Destination vs. Immediate Origin Formatting
Nacha rules specify that routing transit numbers are 9 digits in length. Because Fields 3 and 4 are allocated 10 character positions, specific formatting rules apply:
- Immediate Destination (Positions 04–13): The receiving ACH Operator routing number (for example,
021000021) is preceded by a single blank (021000021). - Immediate Origin (Positions 14–23): If the sending entity uses a 9-digit routing number, it is preceded by a space (
121000358). If a 9-digit Federal Employer Identification Number (EIN) is used, it is commonly preceded by a1(1123456789).
2. The File ID Modifier & Duplicate File Detection
ACH Operators utilize a composite key to detect and reject duplicate file transmissions within their operational window:
If an ODFI transmits three distinct files to the Federal Reserve on October 24, 2026 (261024):
- File 1: File ID Modifier =
A(Accepted) - File 2: File ID Modifier =
B(Accepted) - File 3: File ID Modifier =
A(REJECTED — Operator detects duplicate file key, even if the internal batch and dollar amounts differ).
If an ODFI exhausts alphabetic characters A through Z in a single day, it advances to numeric digits 0 through 9.
What is the mandatory blocking factor for standard ACH files transmitted across the ACH Network, and how are incomplete blocks handled?
In the File Header Record (Type 1), how is the 10-character Immediate Destination field (Positions 04–13) formatted when routing to an ACH Operator with a 9-digit routing number of 021000021?
An ODFI transmits multiple separate ACH files to an ACH Operator on the same calendar date. Which field in the File Header Record (Type 1) must be altered on each subsequent file to prevent automated duplicate file rejection?
An ACH file contains 1 File Header, 2 Batch Headers, 15 Entry Detail Records, 3 Addenda Records, 2 Batch Controls, and 1 File Control record. How many total blocks does this file comprise, and how many nines padding records must be appended?