The six codes you will actually see

CodeMeaningTypical use
22Credit to checkingPayroll direct deposit, vendor payment
23Prenote for a credit to checkingTesting a new payee's checking account
27Debit from checkingBill pay, subscription or loan collection
32Credit to savingsDirect deposit to a savings account
33Prenote for a credit to savingsTesting a new payee's savings account
37Debit from savingsCollection 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 digitAccount
2Checking
3Savings
4General ledger
5Loan
Second digitEntry
1Return or notification of change for a credit
2Credit (deposit)
3Prenote for a credit
4Zero-dollar credit with remittance data (CCD, CTX)
6Return or notification of change for a debit
7Debit (payment)
8Prenote for a debit
9Zero-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

CodeAccountMeaningIn this generator
21CheckingReturn or notification of change for a creditNo
22CheckingCredit (deposit)Yes: payments to checking
23CheckingPrenote for a creditYes: prenotes to checking
24CheckingZero-dollar credit with remittance data (CCD, CTX)No
26CheckingReturn or notification of change for a debitNo
27CheckingDebit (payment)No
28CheckingPrenote for a debitNo
29CheckingZero-dollar debit with remittance data (CCD, CTX)No
31SavingsReturn or notification of change for a creditNo
32SavingsCredit (deposit)Yes: payments to savings
33SavingsPrenote for a creditYes: prenotes to savings
34SavingsZero-dollar credit with remittance data (CCD, CTX)No
36SavingsReturn or notification of change for a debitNo
37SavingsDebit (payment)No
38SavingsPrenote for a debitNo
39SavingsZero-dollar debit with remittance data (CCD, CTX)No
41General ledgerReturn or notification of change for a creditNo
42General ledgerCredit (deposit)No
43General ledgerPrenote for a creditNo
44General ledgerZero-dollar credit with remittance data (CCD, CTX)No
46General ledgerReturn or notification of change for a debitNo
47General ledgerDebit (payment)No
48General ledgerPrenote for a debitNo
49General ledgerZero-dollar debit with remittance data (CCD, CTX)No
51LoanReturn or notification of change for a creditNo
52LoanCredit (deposit)No
53LoanPrenote for a creditNo
54LoanZero-dollar credit with remittance data (CCD, CTX)No
55LoanDebit to a loan account (reversals only)No
56LoanReturn or notification of change for a debitNo

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.