The Comprehensive Technical & Banking Guide to NACHA ACH File Formats, Fixed-Width Record Hierarchy & Transmission Standards
In United States banking technology, corporate treasury management, payroll processing, and B2B electronic funds settlement, the National Automated Clearing House Association (NACHA) operates the electronic payment network that processes trillions of dollars in Direct Deposit payrolls, vendor vendor disbursements, tax payments, and consumer debits across the Federal Reserve ACH and Electronic Payments Network (The Clearing House). Every commercial ACH transmission mandates strict adherence to the standardized NACHA Operating Rules & Guidelines.
An ACH transmission file is a specialized fixed-width ASCII text file structured into precise 94-character records. Unlike modern REST APIs or JSON formats, NACHA file syntax requires exact character-level byte positioning, strict zero-padding of routing and dollar amount fields, specific alphanumeric record type hierarchies (Record 1, 5, 6, 8, 9), mathematical batch entry hashes, and block padding to multiples of 10 lines. A single misplaced character, missing zero, or invalid routing check digit will cause commercial banking cores (such as Jack Henry, FIS, or Fiserv) to reject the entire transmission batch, delaying employee payrolls and vendor wire settlements.
NACHA 94-Character Fixed-Width Record Hierarchy Reference Table
| Record Type Code | Record Name & Level | Mandatory Data Elements & Field Positions | Structural Rules |
|---|---|---|---|
| Record 1 | File Header Record | Priority Code (01), Immediate Destination (9 Digits), Immediate Origin / Tax ID (10 Chars), File Creation Date/Time (YYMMDD/HHMM), File ID Modifier (A-Z, 0-9), Record Size (094), Blocking Factor (10) | Exactly 1 per ACH file (First line of transmission) |
| Record 5 | Company / Batch Header | Service Class Code (200 = Mixed, 220 = Credits Only, 225 = Debits Only), Company Name (16 Chars), Standard Entry Class Code (PPD, CCD, CTX), Company Entry Description, Effective Entry Date (YYMMDD), Originating DFI ID (8 Digits), Batch Number | 1 or more per file; begins each distinct transaction batch |
| Record 6 | Entry Detail Record | Transaction Code (22 = Checking Credit, 27 = Checking Debit, 32 = Savings Credit, 37 = Savings Debit), Receiving DFI Routing (8 Digits), Check Digit (1 Digit), Receiving Account # (17 Chars), Dollar Amount (10 Digits in Cents), Individual/Company Name (22 Chars), Trace Number (15 Digits) | Represents each individual payee/payor transaction |
| Record 8 | Company / Batch Control | Service Class Code, Entry/Addenda Count (6 Digits), Entry Hash (10 Digits sum of first 8 routing digits), Total Batch Debit Amount (12 Digits), Total Batch Credit Amount (12 Digits), Company ID, Originating DFI ID, Batch Number | Closes each Batch Header (Balances batch dollars and hashes) |
| Record 9 | File Control Record | Batch Count (6 Digits), Block Count (Total Records ÷ 10 rounded up), Total Entry/Addenda Count, Overall File Entry Hash, Total File Debit Amount, Total File Credit Amount, Blank Reserved Space | Exactly 1 per file; ends file (Followed by '9' padding lines) |
❌ Costly ACH Batch Transmission Rejections
- Lines exceeding or falling short of exactly 94 fixed characters, causing immediate core rejection.
- Miscalculated Entry Hash totals causing federal clearing house transmission validation failures.
- Uploading unencrypted corporate payroll, bank routing, and account numbers to third-party web tools.
- Incurring $50+ bank wire rejection fees and missing employee direct deposit payroll cutoffs.
✅ 100% Client-Side Automated NACHA File Generation
- Strict 94-character line padding with automated Record 1, 5, 6, 8, 9 hierarchy compilation.
- Automatic mathematical Entry Hash, batch balancing, and 10-line blocking factor padding.
- 100% client-side execution ensuring corporate bank accounts and routing numbers never leave local memory.
- Instant validation of Federal Reserve routing transit number checksums using Mod 10 weighting.
Mathematical Mechanics of the NACHA Entry Hash & Routing Check Digits
To detect data corruption and transmission truncation, NACHA rules enforce two critical mathematical verification algorithms:
1. Federal Reserve Routing Transit Number Mod 10 Check Digit
Every 9-digit US bank routing number contains an 8-digit routing identifier followed by a 1-digit checksum calculated using a 3-7-1 weighting algorithm:
Check Digit (d9) = [ 10 - ( 3(d1+d4+d7) + 7(d2+d5+d8) + 1(d3+d6) ) mod 10 ] mod 10
Where d1 through d8 represent the first 8 digits of the bank routing number.
2. Batch Entry Hash Calculation
The Entry Hash in Record 8 and Record 9 is computed by summing the first 8 digits of the routing transit numbers across all Record 6 entry details in the batch. If the arithmetic sum exceeds 10 digits (9,999,999,999), the sum is truncated, retaining only the rightmost 10 digits.
Standard Entry Class (SEC) Codes Reference: PPD vs. CCD vs. CTX vs. WEB
| SEC Code | Full Name | Transaction Classification | Addenda Record Capability |
|---|---|---|---|
| PPD | Prearranged Payment and Deposit | Consumer direct deposit payroll, recurring consumer bill debits | Max 1 Addenda Record (Payment description) |
| CCD | Corporate Credit or Debit | B2B vendor payments, corporate treasury inter-account transfers | Max 1 Addenda Record (Invoice/PO reference) |
| CTX | Corporate Trade Exchange | Complex B2B corporate payments containing EDI remittance data | Up to 9,999 Addenda Records (ANSI X12 820 Remittance) |
| WEB | Internet-Initiated Entry | Consumer online payments authorized via mobile apps or web portals | Max 1 Addenda Record (Mandatory fraud detection rules) |
Frequently Asked Questions (FAQ)
The Effective Entry Date is the banking business date (format: YYMMDD) on which the originating company intends the payment transaction to settle and post to the receiving bank account. Same-day ACH entries require today's banking date with appropriate submission deadlines.
Code 200 indicates a mixed batch containing both debits and credits. Code 220 indicates credits only (such as payroll direct deposits). Code 225 indicates debits only (such as recurring customer billing collections).
In Record 1, Field 3 (Immediate Destination) is 10 characters wide. If using a 9-digit Federal Reserve routing number (e.g. 021000021), NACHA formatting standards require a leading space or leading zero (e.g. 021000021) to satisfy the 10-character field width.
Completely secure. 100% of NACHA file compilation, checksum hashing, and text generation executes locally within your web browser's JavaScript runtime memory. No banking routing numbers, account numbers, or employee names are ever transmitted across the internet.
NACHA Return Reason Codes Reference: R01, R03, R08 & R10 Workflows
When an ACH debit or credit cannot be settled, the receiving depository financial institution (RDFI) transmits an ACH Return Record containing a standardized return reason code:
| Return Code | Return Reason Description | Statutory Return Timeframe | Required Corporate Action |
|---|---|---|---|
| R01 | Insufficient Funds (NSF) | 2 Banking Days | Re-initiate debit (max 2 retry attempts permitted under NACHA rules). |
| R03 | No Account / Unable to Locate Account | 2 Banking Days | Contact payee immediately to obtain corrected account/routing numbers. |
| R08 | Payment Stopped by Account Holder | 2 Banking Days | Cease debit collections; resolve underlying billing dispute directly. |
| R10 | Customer Advises Unauthorized / Revoked | Up to 60 Calendar Days | Originator must provide proof of signed customer ACH authorization. |
Same-Day ACH Transmission Schedules & Dollar Limits (2026 Rules)
Under NACHA Same-Day ACH rules, originating businesses can execute expedited payments settled on the identical business day:
- Per-Transaction Limit: Up to $1,000,000 per individual transaction (applicable to both credits and debits).
- Three Daily Processing Windows: 10:30 AM ET (Settlement at 1:00 PM ET), 2:45 PM ET (Settlement at 5:00 PM ET), and 4:45 PM ET (Settlement at 6:00 PM ET).
- Eligible SEC Codes: Supports all standard commercial SEC codes (PPD, CCD, CTX, WEB) excluding international cross-border IAT transactions.
NACHA Unauthorized Debit Thresholds & Fraud Monitoring Rules
Under NACHA Operating Rules, corporate originators must actively monitor return ratios to prevent payment network suspension:
| NACHA Return Rate Metric | Maximum Permissible Network Threshold | Regulatory Enforcement Consequence |
|---|---|---|
| Unauthorized Return Rate (R05, R07, R10, R29, R51) | 0.50% (5 in 1,000 debits) | Mandatory NACHA compliance review, fines up to $10,000/month, potential revocation of origination rights. |
| Administrative Return Rate (R02, R03, R04) | 3.00% | Originator must audit data collection and account verification processes. |
| Overall Return Rate (All Reason Codes Combined) | 15.00% | ODFI bank may require upfront rolling cash reserves or terminate ACH processing agreement. |
Account Validation Mandates under NACHA WEB Debit Rules
Under NACHA Rule 2.5.17.4, originators of Internet-Initiated (WEB) debits are legally required to utilize commercially reasonable fraudulent transaction detection systems—including mandatory pre-notification (Prenote) account verification, micro-deposit verification, or real-time open banking API routing validation (such as Plaid or MX)—prior to originating initial consumer debits.
Corporate ACH Credit Exposure Limits & ODFI Risk Management (NACHA Rule 2.10)
Under NACHA Operating Rules, Originating Depository Financial Institutions (ODFIs) establish strict risk underwriting controls on commercial originators:
- Daily Exposure Limits (DEL): The ODFI sets a maximum cumulative dollar threshold (e.g. $5,000,000 per banking day) that an enterprise can originate in ACH files.
- Dual-Authorization Protocols: Enterprise accounting controls mandate that one user compiles the NACHA file and an independent corporate officer authorizes the final transmission batch.
- Pre-Funding Cash Escrows: For high-volume or rapid-settlement payroll originators, banks may require pre-funding settlement accounts 24 hours prior to effective entry dates.
NACHA File Validation Quality Assurance Checklist
Prior to transmitting commercial ACH batches to originating banking institutions (ODFIs):
- Verify Exact 94-Character Line Formatting: Confirm that every record (Records 1, 5, 6, 8, 9) consists of precisely 94 ASCII characters without trailing spaces or newline truncation.
- Validate Bank Routing Check Digits: Run the Mod 10 weighting algorithm across all 9-digit Federal Reserve routing numbers.
- Confirm Batch Mathematical Balance: Ensure that debit and credit amounts in Record 8 match the arithmetic sum of all individual Record 6 transactions.
- Verify Multiples of 10 Line Blocking: Confirm that the total line count is padded with '9' records to reach an exact multiple of 10.
NACHA Electronic Consent & E-SIGN Act Authorization Standards
Under NACHA Operating Rules Section 2.1.2, originating companies must obtain affirmative, verifiable payment authorization from consumers prior to initiating electronic ACH debits:
- Written Authorizations (PPD Debits): Must be in writing and signed or similarly authenticated under the E-SIGN Act, clearly disclosing the debit amount, timing, effective dates, and revocation instructions.
- Telephone Authorizations (TEL Debits): Must be either audio recorded with the consumer's explicit verbal consent or followed by a written confirmation sent to the consumer prior to settlement.
- Record Retention Mandate: Originators must retain a copy of the consumer's authorization for a minimum of 2 years following the termination or revocation of the authorization.
Summary of NACHA File Architecture Principles
Adhering to strict 94-character fixed-width record formatting, Mod 10 bank routing check digits, mathematical batch entry hashing, and 10-line blocking factor rules guarantees 100% first-pass transmission acceptance across all US commercial banks and clearing house processing networks.
Enterprise ACH Transmission Security & Encryption Standards
To protect commercial payment files against unauthorized alteration and data interception:
- S/MIME and PGP Encryption: Encrypt all NACHA transmission files at rest and in transit using 2048-bit RSA/AES encryption before sending to your originating bank.
- SFTP with SSH Key Authentication: Transmit batch files exclusively over secure SSH File Transfer Protocol (SFTP) connections with IP whitelisting.
- Dual Control Segregation of Duties: Enforce separation of duties between accounting clerks who generate NACHA files and financial controllers who authorize bank releases.
Summary of Key NACHA Automated Clearing House Principles
NACHA ACH payment files provide reliable, low-cost B2B vendor payments and consumer payroll direct deposits across the US banking network. Complying with 94-character record hierarchies, Mod 10 bank routing checksums, and entry hash balancing ensures uninterrupted financial processing.