Reference
NACHA file format: ACH record layouts
Every field of every NACHA record type, with its position, length, format and rules, plus the transaction, SEC, return and change codes that go in them.
Generated from the field definitions the NACHA Viewer validates against: 46 record layouts, 485 fields.
On this page
How a NACHA file is organized
A NACHA file, also called an ACH file, is plain text made of fixed-width records. Every record is exactly 94 characters long and sits on its own line, and its first character, the record type code, says what it is. Records always come in this order:
- 1File HeaderOnce, on the first lineWho sent the file, to whom, and when.
- 5Company/Batch HeaderStarts each batchThe company, the SEC code and the effective date of the entries that follow.
- 6Entry DetailOne per paymentTransaction code, routing and account number, amount, receiver and trace number.
- 7AddendaOptional, after its entryRemittance details, or the reason for a return or a notification of change.
- 8Company/Batch ControlCloses each batchEntry and addenda count, entry hash, and debit and credit totals.
- 9File ControlOnce, after the last batchBatch, block and entry counts, entry hash and totals for the file.
- 9…Block fillOnly if neededLines of 94 nines that pad the file to a multiple of 10 records.
Field rules
Each field has a fixed position. Here is line 3 of the sample file, an Entry Detail record, coloured by what each field holds:
- Routing & IDs
- Amounts
- Dates
- Names & text
- Codes
- Reserved
- Positions count from 1 and include both ends: positions 4–11 are the 4th through the 11th characters, 8 in all.
- Numeric fields are right-justified and zero-filled. Amounts are in cents with no decimal point, so $1,250.00 is
0000125000. - Alphanumeric fields are left-justified and space-filled, in uppercase by convention. The dots above stand for spaces.
- Dates are
YYMMDDand timesHHMM; the settlement date is a three-digit day of the year that the ACH Operator fills in. - M/R/O says whether a field is Mandatory (missing or invalid data gets the file or batch rejected), Required (missing data can get the entry returned) or Optional. N/A marks reserved positions and data the ACH Operator adds.
Totals and check digits
- Entry hash: add up the 8-digit Receiving DFI Identification (positions 4–11) of every entry in the batch and keep the rightmost 10 digits. The File Control does the same across all batches.
- Control totals: each Company/Batch Control counts the batch’s entries and addenda and totals its debits and credits in cents; the File Control totals the whole file and adds the batch and block counts.
- Check digit: the ninth routing digit satisfies the ABA 3-7-1 rule: 3×(d1+d4+d7) + 7×(d2+d5+d8) + (d3+d6+d9) is a multiple of 10.
- Blocking: records are grouped in blocks of 10. If the last block is short, it is filled with block-fill records of 94 nines, and the File Control’s block count includes them.
Code tables
The codes, decoded
The values that go in the code fields above, from the same tables the viewer uses to explain a file.
Transaction codes
Entry Detail: positions 2–3. The first digit is the account type; the second says whether it is a credit (1–4) or a debit (5–9), and whether it is live, a prenote, zero-dollar or a return.
| Code | Meaning | Account | Direction |
|---|---|---|---|
| 21 | Return or NOC of a checking credit (original code 22, 23 or 24) | Checking | Credit |
| 22 | Checking credit (deposit) | Checking | Credit |
| 23 | Prenote: checking credit (also DNE and ENR non-dollar entries) | Checking | Credit |
| 24 | Zero-dollar checking credit with remittance data (CCD, CTX, IAT); ACK and ATX acknowledgments | Checking | Credit |
| 25 | Reserved (not assigned) | Checking | Debit |
| 26 | Return or NOC of a checking debit (original code 27, 28 or 29) | Checking | Debit |
| 27 | Checking debit (payment) | Checking | Debit |
| 28 | Prenote: checking debit | Checking | Debit |
| 29 | Zero-dollar checking debit with remittance data (CCD, CTX, IAT) | Checking | Debit |
| 31 | Return or NOC of a savings credit (original code 32, 33 or 34) | Savings | Credit |
| 32 | Savings credit (deposit) | Savings | Credit |
| 33 | Prenote: savings credit (also DNE and ENR non-dollar entries) | Savings | Credit |
| 34 | Zero-dollar savings credit with remittance data (CCD, CTX, IAT); ACK and ATX acknowledgments | Savings | Credit |
| 35 | Reserved (not assigned) | Savings | Debit |
| 36 | Return or NOC of a savings debit (original code 37, 38 or 39) | Savings | Debit |
| 37 | Savings debit (payment) | Savings | Debit |
| 38 | Prenote: savings debit | Savings | Debit |
| 39 | Zero-dollar savings debit with remittance data (CCD, CTX, IAT) | Savings | Debit |
| 41 | Return or NOC of a general ledger credit (original code 42, 43 or 44) | General ledger | Credit |
| 42 | General ledger credit (deposit) | General ledger | Credit |
| 43 | Prenote: general ledger credit | General ledger | Credit |
| 44 | Zero-dollar general ledger credit with remittance data (CCD, CTX) | General ledger | Credit |
| 45 | Reserved (not assigned) | General ledger | Debit |
| 46 | Return or NOC of a general ledger debit (original code 47, 48 or 49) | General ledger | Debit |
| 47 | General ledger debit (payment) | General ledger | Debit |
| 48 | Prenote: general ledger debit | General ledger | Debit |
| 49 | Zero-dollar general ledger debit with remittance data (CCD, CTX) | General ledger | Debit |
| 51 | Return or NOC of a loan credit (original code 52, 53 or 54) | Loan | Credit |
| 52 | Loan account credit (deposit to a loan) | Loan | Credit |
| 53 | Prenote: loan credit | Loan | Credit |
| 54 | Zero-dollar loan credit with remittance data (CCD, CTX) | Loan | Credit |
| 55 | Loan account debit (reversals only) | Loan | Debit |
| 56 | Return or NOC of a loan debit (original code 55) | Loan | Debit |
| 81 | ADV: credit for ACH debits originated | Accounting (ADV) | Credit |
| 82 | ADV: debit for ACH credits originated | Accounting (ADV) | Debit |
| 83 | ADV: credit for ACH credits received | Accounting (ADV) | Credit |
| 84 | ADV: debit for ACH debits received | Accounting (ADV) | Debit |
| 85 | ADV: credit for ACH credits in rejected batches | Accounting (ADV) | Credit |
| 86 | ADV: debit for ACH debits in rejected batches | Accounting (ADV) | Debit |
| 87 | ADV: summary credit for respondent ACH activity | Accounting (ADV) | Credit |
| 88 | ADV: summary debit for respondent ACH activity | Accounting (ADV) | Debit |
Standard Entry Class (SEC) codes
Company/Batch Header: positions 51–53. The SEC code decides the Entry Detail layout and which addenda an entry may carry.
| SEC | Name | Used for | Moves | Addenda |
|---|---|---|---|---|
| ACK | ACH Payment Acknowledgment | Zero-dollar acknowledgment of a CCD credit, sent by the RDFI. | Zero-dollar | Up to 1 (type 05) |
| ADV | Automated Accounting Advice | Accounting advices an ACH Operator sends to a DFI (Service Class Code 280). | Credits and debits | None |
| ARC | Accounts Receivable Entry | Consumer check received by mail or at a drop box, converted to a one-time debit. | Debits | None |
| ATX | Financial EDI Acknowledgment | Zero-dollar acknowledgment of a CTX credit, sent by the RDFI. | Zero-dollar | Up to 9,999 (type 05) |
| BOC | Back Office Conversion Entry | Check presented in person and converted to a debit in the back office. | Debits | None |
| CCD | Corporate Credit or Debit Entry | Credit or debit between business accounts. | Credits and debits | Up to 1 (type 05) |
| CIE | Customer Initiated Entry | Credit initiated by a consumer, such as an online bill payment. | Credits | Up to 1 (type 05) |
| COR | Notification of Change or Refused Notification of Change | Zero-dollar entry correcting information in an earlier entry. | Zero-dollar | 1 required (type 98) |
| CTX | Corporate Trade Exchange | Business-to-business payment with up to 9,999 addenda of EDI remittance data. | Credits and debits | Up to 9,999 (type 05) |
| DNE | Death Notification Entry | Zero-dollar notice from a Federal Government agency that a benefit recipient has died. | Zero-dollar | 1 required (type 05) |
| ENR | Automated Enrollment Entry | Zero-dollar entry enrolling a beneficiary in Federal Government direct deposit. | Zero-dollar | 1 to 9,999 (type 05) |
| IAT | International ACH Transaction | Entry involving a financial agency outside the United States. | Credits and debits | 7 to 14 (type 10–18) |
| MTE | Machine Transfer Entry | Entry initiated at an ATM or other electronic terminal. | Credits and debits | 1 required (type 02) |
| POP | Point-of-Purchase Entry | Check converted to a debit at the point of purchase. | Debits | None |
| POS | Point-of-Sale Entry | Debit card purchase at an electronic terminal. | Credits and debits | 1 required (type 02) |
| PPD | Prearranged Payment and Deposit Entry | Consumer credit or debit under a standing authorization, e.g. payroll direct deposit. | Credits and debits | Up to 1 (type 05) |
| RCK | Re-presented Check Entry | Returned check re-presented as a debit. | Debits | None |
| SHR | Shared Network Transaction | Point-of-sale entry through a shared network. | Credits and debits | 1 required (type 02) |
| TEL | Telephone-Initiated Entry | Consumer debit authorized orally over the telephone. | Debits | None |
| TRC | Truncated Entry | Debit for a check truncated under a check truncation program. | Debits | None |
| TRX | Truncated Entries Exchange | Batched debit for truncated checks listed in addenda records. | Debits | Up to 9,999 (type 05) |
| WEB | Internet-Initiated/Mobile Entry | Consumer debit authorized online or on a mobile device, or a person-to-person credit. | Credits and debits | Up to 1 (type 05) |
| XCK | Destroyed Check Entry | Debit collecting a check lost or destroyed in transit. | Debits | None |
Service class codes
Company/Batch Header: positions 2–4; Company/Batch Control: positions 2–4. Whether a batch holds credits, debits or both.
| Code | Meaning |
|---|---|
| 200 | ACH entries mixed debits and credits |
| 220 | ACH credits only |
| 225 | ACH debits only |
| 280 | ACH automated accounting advices (ADV) |
Return reason codes
Addenda (type 99): positions 4–6, 57–58 and 77–78. Why an RDFI returned an entry, plus the dishonored and contested return codes.
| Code | Reason | Note |
|---|---|---|
| R01 | Insufficient Funds | |
| R02 | Account Closed | |
| R03 | No Account/Unable to Locate Account | |
| R04 | Invalid Account Number Structure | |
| R05 | Unauthorized Debit to Consumer Account Using Corporate SEC Code | |
| R06 | Returned per ODFI's Request | |
| R07 | Authorization Revoked by Customer | |
| R08 | Payment Stopped | |
| R09 | Uncollected Funds | |
| R10 | Customer Advises Originator is Not Known to Receiver and/or Originator is Not Authorized by Receiver to Debit Receiver's Account | |
| R11 | Customer Advises Entry Not in Accordance with the Terms of the Authorization | |
| R12 | Account Sold to Another DFI | |
| R13 | Invalid ACH Routing Number | |
| R14 | Representative Payee Deceased or Unable to Continue in That Capacity | |
| R15 | Beneficiary or Account Holder (Other Than a Representative Payee) Deceased | |
| R16 | Account Frozen/Entry Returned per OFAC Instruction | |
| R17 | File Record Edit Criteria/Entry with Invalid Account Number Initiated Under Questionable Circumstances/Return of Improperly-Initiated Reversal | |
| R18 | Improper Effective Entry Date | |
| R19 | Amount Field Error | |
| R20 | Non-Transaction Account | |
| R21 | Invalid Company Identification | |
| R22 | Invalid Individual ID Number | |
| R23 | Credit Entry Refused by Receiver | |
| R24 | Duplicate Entry | |
| R25 | Addenda Error | |
| R26 | Mandatory Field Error | |
| R27 | Trace Number Error | |
| R28 | Routing Number Check Digit Error | |
| R29 | Corporate Customer Advises Not Authorized | |
| R30 | RDFI Not Participant in Check Truncation Program | |
| R31 | Permissible Return Entry | CCD and CTX only |
| R32 | RDFI Non-Settlement | |
| R33 | Return of XCK Entry | |
| R34 | Limited Participation DFI | |
| R35 | Return of Improper Debit Entry | |
| R36 | Return of Improper Credit Entry | |
| R37 | Source Document Presented for Payment | |
| R38 | Stop Payment on Source Document | |
| R39 | Improper Source Document/Source Document Presented for Payment | |
| R40 | Return of ENR Entry by Federal Government Agency | ENR only |
| R41 | Invalid Transaction Code | ENR only |
| R42 | Routing Number/Check Digit Error | ENR only |
| R43 | Invalid DFI Account Number | ENR only |
| R44 | Invalid Individual ID Number/Identification Number | ENR only |
| R45 | Invalid Individual Name/Company Name | ENR only |
| R46 | Invalid Representative Payee Indicator | ENR only |
| R47 | Duplicate Enrollment | ENR only |
| R50 | State Law Affecting RCK Acceptance | |
| R51 | Item Related to RCK Entry is Ineligible or RCK Entry is Improper | |
| R52 | Stop Payment on Item Related to RCK Entry | |
| R53 | Item and RCK Entry Presented for Payment | |
| R61 | Misrouted Return | Dishonored return (sent by the ODFI) |
| R62 | Return of Erroneous or Reversing Debit | Dishonored return (sent by the ODFI) |
| R67 | Duplicate Return | Dishonored return (sent by the ODFI) |
| R68 | Untimely Return | Dishonored return (sent by the ODFI) |
| R69 | Field Error(s) | Dishonored return (sent by the ODFI) |
| R70 | Permissible Return Entry Not Accepted/Return Not Requested by ODFI | Dishonored return (sent by the ODFI) |
| R71 | Misrouted Dishonored Return | Contested dishonored return (sent by the RDFI) |
| R72 | Untimely Dishonored Return | Contested dishonored return (sent by the RDFI) |
| R73 | Timely Original Return | Contested dishonored return (sent by the RDFI) |
| R74 | Corrected Return | Contested dishonored return (sent by the RDFI) |
| R75 | Return Not a Duplicate | Contested dishonored return (sent by the RDFI) |
| R76 | No Errors Found | Contested dishonored return (sent by the RDFI) |
| R77 | Non-Acceptance of R62 Dishonored Return | Contested dishonored return (sent by the RDFI) |
| R80 | IAT Entry Coding Error | IAT only |
| R81 | Non-Participant in IAT Program | IAT only |
| R82 | Invalid Foreign Receiving DFI Identification | IAT only |
| R83 | Foreign Receiving DFI Unable to Settle | IAT only |
| R84 | Entry Not Processed by Gateway | IAT only |
| R85 | Incorrectly Coded Outbound International Payment | IAT only |
Change codes (notifications of change)
Addenda (type 98): positions 4–6 and 65–67. What an RDFI is correcting, and how the corrected data is laid out.
| Code | Change | Corrected data |
|---|---|---|
| C01 | Incorrect DFI Account Number | Correct DFI Account Number in the first 17 positions |
| C02 | Incorrect Routing Number | Correct routing number (9 digits, with check digit) in the first 9 positions |
| C03 | Incorrect Routing Number and Incorrect DFI Account Number | Correct routing number (9), three blanks, then the correct DFI Account Number (17) |
| C04 | Incorrect Individual Name/Receiving Company Name | Correct name in the first 22 positions |
| C05 | Incorrect Transaction Code | Correct Transaction Code in the first 2 positions |
| C06 | Incorrect DFI Account Number and Incorrect Transaction Code | Correct DFI Account Number (17) followed by the correct Transaction Code (2) |
| C07 | Incorrect Routing Number, Incorrect DFI Account Number, and Incorrect Transaction Code | Correct routing number (9), DFI Account Number (17) and Transaction Code (2) |
| C08 | Incorrect Receiving DFI Identification (IAT only) | Correct Receiving DFI Identification |
| C09 | Incorrect Individual Identification Number | Correct Individual Identification Number in the first 22 positions |
| C10 | Incorrect Company Name | Correct Company Name in the first 16 positions |
| C11 | Incorrect Company Identification | Correct Company Identification in the first 10 positions |
| C12 | Incorrect Company Name and Company Identification | Correct Company Name (16) and Company Identification (10) |
| C13 | Addenda Format Error | Information that was incorrectly formatted in the addenda |
| C14 | Incorrect SEC Code for Outbound International Payment | "IAT" in the first 3 positions |
| C61 | Misrouted Notification of Change | Refused NOC: sent back by the ODFI |
| C62 | Incorrect Trace Number | Refused NOC: sent back by the ODFI |
| C63 | Incorrect Company Identification Number | Refused NOC: sent back by the ODFI |
| C64 | Incorrect Individual Identification Number/Identification Number | Refused NOC: sent back by the ODFI |
| C65 | Incorrectly Formatted Corrected Data | Refused NOC: sent back by the ODFI |
| C66 | Incorrect Discretionary Data | Refused NOC: sent back by the ODFI |
| C67 | Routing Number Not From Original Entry Detail Record | Refused NOC: sent back by the ODFI |
| C68 | DFI Account Number Not From Original Entry Detail Record | Refused NOC: sent back by the ODFI |
| C69 | Incorrect Transaction Code | Refused NOC: sent back by the ODFI |
Addenda type codes
Addenda: positions 2–3. Each type has its own layout, listed under Addenda Record above.
| Code | Meaning |
|---|---|
| 02 | Point-of-sale terminal information (POS, SHR, MTE) |
| 05 | Payment related information |
| 10 | IAT: transaction type, foreign amount and receiver name |
| 11 | IAT: originator name and street address |
| 12 | IAT: originator city, state, country and postal code |
| 13 | IAT: originating DFI name, identification and branch country |
| 14 | IAT: receiving DFI name, identification and branch country |
| 15 | IAT: receiver identification number and street address |
| 16 | IAT: receiver city, state, country and postal code |
| 17 | IAT: payment related information (optional) |
| 18 | IAT: foreign correspondent bank (optional) |
| 98 | Notification of Change or refused Notification of Change |
| 99 | Return, dishonored return or contested dishonored return |
Other codes
Smaller code lists used by specific fields and entry types.
Originator status codes
Company/Batch Header: position 79
| Code | Meaning |
|---|---|
| 0 | ADV file prepared by an ACH Operator |
| 1 | Depository financial institution bound by the Nacha Rules |
| 2 | Federal Government entity or agency not subject to the Nacha Rules |
Addenda record indicator
Entry Detail: position 79
| Code | Meaning |
|---|---|
| 0 | No addenda record follows |
| 1 | One or more addenda records follow |
Payment type codes
Entry Detail (WEB, TEL): positions 77–78
| Code | Meaning |
|---|---|
| R | Recurring |
| S | Single entry |
| ST | Subsequent entry under a standing authorization |
Card transaction type codes
Entry Detail (POS, SHR): positions 77–78
| Code | Meaning |
|---|---|
| 01 | Purchase of goods or services |
| 02 | Cash |
| 03 | Return reversal |
| 11 | Purchase reversal |
| 12 | Cash reversal |
| 13 | Return |
| 21 | Adjustment |
| 99 | Miscellaneous transaction |
IAT transaction type codes
Addenda (type 10): positions 4–6
| Code | Meaning |
|---|---|
| ANN | Annuity |
| BUS | Business/Commercial |
| DEP | Deposit |
| LOA | Loan |
| MIS | Miscellaneous |
| MOR | Mortgage |
| PEN | Pension |
| REM | Remittance |
| RLS | Rent/Lease |
| SAL | Salary/Payroll |
| TAX | Tax |
| ARC | Accounts Receivable Check |
| BOC | Back Office Conversion |
| MTE | Machine Transfer Entry |
| POP | Point-of-Purchase |
| POS | Point-of-Sale |
| RCK | Re-presented Check |
| SHR | Shared Network Transaction |
| TEL | Telephone-Initiated |
| WEB | Internet-Initiated/Mobile |
Foreign exchange indicators
Company/Batch Header (IAT): positions 21–22
| Code | Meaning |
|---|---|
| FV | Fixed-to-variable: originated as a fixed amount, received after currency conversion |
| VF | Variable-to-fixed: converted at a rate so that a fixed amount is received |
| FF | Fixed-to-fixed: same currency at both ends, no conversion |
Foreign exchange reference indicators
Company/Batch Header (IAT): position 23
| Code | Meaning |
|---|---|
| 1 | Foreign exchange rate |
| 2 | Foreign exchange reference number |
| 3 | Space-filled (no reference) |
ID number qualifiers
Addenda (type 13, type 14, type 18): positions 39–40
| Code | Meaning |
|---|---|
| 01 | National clearing system number |
| 02 | BIC code |
| 03 | IBAN code |
OFAC screening indicators
Entry Detail (IAT): positions 77 and 78
| Code | Meaning |
|---|---|
| 0 | Not flagged by OFAC screening |
| 1 | Flagged as a possible OFAC match |
The official rules
This reference follows the record formats in the Nacha Operating Rules. Nacha publishes the rules and updates them every year; check the current edition before you build or certify a file. NACHA Navigator is independent and not affiliated with Nacha.