ACH transaction codes
Every ACH entry starts with a two-digit transaction code. It says what kind of account the money goes to or comes from and whether the entry is a credit, a debit, a prenote or a return. It sits in positions 2–3 of the entry detail record, right after the record type.
The six codes you will actually see
| Code | Meaning | Typical use |
|---|---|---|
| 22 | Credit to checking | Payroll direct deposit, vendor payment |
| 23 | Prenote for a credit to checking | Testing a new payee's checking account |
| 27 | Debit from checking | Bill pay, subscription or loan collection |
| 32 | Credit to savings | Direct deposit to a savings account |
| 33 | Prenote for a credit to savings | Testing a new payee's savings account |
| 37 | Debit from savings | Collection from a savings account |
How to read any transaction code
The two digits are independent. The first names the account type, the second says what the entry does, so 37 is “savings” plus “debit”.
| First digit | Account |
|---|---|
| 2 | Checking |
| 3 | Savings |
| 4 | General ledger |
| 5 | Loan |
| Second digit | Entry |
|---|---|
| 1 | Return or notification of change for a credit |
| 2 | Credit (deposit) |
| 3 | Prenote for a credit |
| 4 | Zero-dollar credit with remittance data (CCD, CTX) |
| 6 | Return or notification of change for a debit |
| 7 | Debit (payment) |
| 8 | Prenote for a debit |
| 9 | Zero-dollar debit with remittance data (CCD, CTX) |
Second digits 1 and 6 are written by banks when they return an entry or send a notification of change; originators do not use them.
Full list of ACH transaction codes
| Code | Account | Meaning | In this generator |
|---|---|---|---|
| 21 | Checking | Return or notification of change for a credit | No |
| 22 | Checking | Credit (deposit) | Yes: payments to checking |
| 23 | Checking | Prenote for a credit | Yes: prenotes to checking |
| 24 | Checking | Zero-dollar credit with remittance data (CCD, CTX) | No |
| 26 | Checking | Return or notification of change for a debit | No |
| 27 | Checking | Debit (payment) | No |
| 28 | Checking | Prenote for a debit | No |
| 29 | Checking | Zero-dollar debit with remittance data (CCD, CTX) | No |
| 31 | Savings | Return or notification of change for a credit | No |
| 32 | Savings | Credit (deposit) | Yes: payments to savings |
| 33 | Savings | Prenote for a credit | Yes: prenotes to savings |
| 34 | Savings | Zero-dollar credit with remittance data (CCD, CTX) | No |
| 36 | Savings | Return or notification of change for a debit | No |
| 37 | Savings | Debit (payment) | No |
| 38 | Savings | Prenote for a debit | No |
| 39 | Savings | Zero-dollar debit with remittance data (CCD, CTX) | No |
| 41 | General ledger | Return or notification of change for a credit | No |
| 42 | General ledger | Credit (deposit) | No |
| 43 | General ledger | Prenote for a credit | No |
| 44 | General ledger | Zero-dollar credit with remittance data (CCD, CTX) | No |
| 46 | General ledger | Return or notification of change for a debit | No |
| 47 | General ledger | Debit (payment) | No |
| 48 | General ledger | Prenote for a debit | No |
| 49 | General ledger | Zero-dollar debit with remittance data (CCD, CTX) | No |
| 51 | Loan | Return or notification of change for a credit | No |
| 52 | Loan | Credit (deposit) | No |
| 53 | Loan | Prenote for a credit | No |
| 54 | Loan | Zero-dollar credit with remittance data (CCD, CTX) | No |
| 55 | Loan | Debit to a loan account (reversals only) | No |
| 56 | Loan | Return or notification of change for a debit | No |
Which codes a credit file uses
A business paying employees or vendors needs only four codes: 22 and 32 for the payments, 23 and 33 for prenotes. This generator writes exactly those. It picks 22 or 32 from the account type column of your spreadsheet, and the prenote generator writes 23 or 33. Debit codes need a debit authorization and a different origination agreement with your bank, so they are left out on purpose.
The transaction code works together with the batch's SEC code (CCD for businesses, PPD for consumers) and the service class code in the batch header (220 for credits only). If a payment comes back, the reason is a return code, not a transaction code.
Finding the code in a file
In a NACHA file, any line starting with 6 is an entry; characters 2 and 3 are its transaction code. The ACH file format guide annotates a real record, and NACHA to Excel lists every entry of a file with its code explained in a column.
Questions
What is ACH transaction code 22?
Code 22 is a credit (deposit) to a checking account. It is what payroll direct deposits and vendor payments to checking accounts carry.
What is ACH transaction code 27?
Code 27 is a debit to a checking account: money is pulled from the receiver, as with a bill payment or subscription collection.
What do codes 32 and 37 mean?
The same as 22 and 27, but for savings accounts: 32 is a credit to savings, 37 a debit from savings.
What are codes 23 and 33?
Prenotes: zero-dollar test entries for a future credit to checking (23) or savings (33). They let the receiving bank confirm the account exists before real money moves.
Is a transaction code the same as a return code like R22?
No. The transaction code is the two-digit number in every entry saying what kind of account it hits and whether it is a credit or debit. A return code (R01 to R85) is the reason a bank sends an entry back. R22 means an invalid individual ID number and has nothing to do with transaction code 22.