NACHA file examples
Three sample NACHA files built by this generator: a payroll direct deposit, a vendor payment with remittance addenda, and a zero-dollar prenote. Each one passes our ACH validator. Download the raw .ach file, open it in the validator, or read the notes on what each line does.
All names, account numbers and routing numbers are fictional. For the meaning of every field position, see the NACHA file format guide.
PPD payroll direct deposit file
Three employees paid by direct deposit: two to checking (transaction code 22) and one to savings (32). PPD is the entry class for payments to individuals.
101 99000000012345678902610300915A094101EXAMPLE BANK EXAMPLE COMPANY LLC 5220EXAMPLE COMPANY 1234567890PPDPAYROLL 261102 1990000000000001 622990000000100200300 0000184250EMP001 JORDAN EXAMPLE 0990000000000001 63299100000955500017 0000216075EMP002 PRIYA SAMPLE 0990000000000002 62299000000088800042 0000097340EMP003 LEE PLACEHOLDER 0990000000000003 822000000302971000000000000000000000004976651234567890 990000000000001 9000001000001000000030297100000000000000000000000497665 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
- Batch header line 2: service class 220 (credits only), SEC code PPD, entry description PAYROLL.
- Entry lines 3–5: code 22, 32, 22, then routing number, account number, amount in cents and employee ID.
- Batch control line 6: 3 entries, the entry hash (sum of the 8-digit routing prefixes) and the $4,976.65 credit total.
CCD vendor payment file with remittance addenda
Two business-to-business payments, each followed by a type 7 addenda record carrying the invoice numbers the vendor needs to apply the money.
101 99000000012345678902610300915A094101EXAMPLE BANK EXAMPLE COMPANY LLC 5220EXAMPLE COMPANY 1234567890CCDVENDOR PAY 261102 1990000000000001 6229900000004021007788 0001250000V1042 NORTHWIND SUPPLY CO 1990000000000001 705INV 20260418 AND 20260430 NET 30 00010000001 62299100000977310045 0000389915V2210 BLUE RIVER LOGISTICS 1990000000000002 705INV BRL88213 FREIGHT OCTOBER 00010000002 822000000401981000000000000000000000016399151234567890 990000000000001 9000001000001000000040198100000000000000000000001639915 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
- Batch header: SEC code CCD (corporate credit) and entry description VENDOR PAY.
- Each entry has addenda indicator 1 in position 79, and the next line is its 05 addenda with up to 80 characters of remittance text.
- Batch and file control count entries and addenda together: 4 records here, not 2.
Zero-dollar prenote file
The same three employees as test entries with no money: code 23 for checking and 33 for savings. Banks use prenotes to confirm new accounts before the first real payroll.
101 99000000012345678902610300915A094101EXAMPLE BANK EXAMPLE COMPANY LLC 5220EXAMPLE COMPANY 1234567890PPDPRENOTE 261102 1990000000000001 623990000000100200300 0000000000EMP001 JORDAN EXAMPLE 0990000000000001 63399100000955500017 0000000000EMP002 PRIYA SAMPLE 0990000000000002 62399000000088800042 0000000000EMP003 LEE PLACEHOLDER 0990000000000003 822000000302971000000000000000000000000000001234567890 990000000000001 9000001000001000000030297100000000000000000000000000000 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
- Every amount field is ten zeros, so batch and file credit totals are zero.
- Transaction codes move from 22/32 to 23/33; everything else matches the live payroll file.
- Send it a few banking days before the first real file; a returned prenote (for example R03) means the account details are wrong.
What all three files have in common
- Line 1 is the file header: destination routing number, your company's origin ID, the creation date and time, and the bank and company names.
- Line 2 is the batch header with service class 220 (credits only), the SEC code, the entry description the recipient sees on their statement, and the effective date.
- Each entry's trace number is the originating bank's 8-digit routing prefix plus a 7-digit sequence, so it is unique in the file.
- The 8 and 9 records repeat the counts, entry hash and totals so the bank can check nothing was lost. Wrong totals are the most common reason a bank rejects a hand-edited file.
Make your own file
The generator builds the same structure from a spreadsheet: map your columns, enter the header values from your bank, and download. Start from Excel or CSV, use the import template, or send a prenote file first. Already have a file from your payroll or accounting system? Validate it or convert it to Excel.
Questions
What does a NACHA file look like?
A plain text file where every line is exactly 94 characters. It starts with a file header (line beginning with 1), then a batch header (5), the payment entries (6) and optional addenda (7), a batch control (8), a file control (9), and lines of 9s that pad the file to a multiple of ten lines.
Can I upload these sample files to my bank?
No. The routing numbers, company ID and accounts are fictional, so a bank would reject them. Use them to see the layout, to test software that reads ACH files, or as a reference next to a file your own system produced.
What is the difference between the PPD and CCD examples?
PPD is the entry class for payments to individuals, such as payroll. CCD is for payments between businesses, such as paying a vendor, and is where remittance addenda are most common. The record layout is the same; only the SEC code in the batch header changes.
Why are the amounts in the file written without a decimal point?
ACH amounts are stored in cents in a fixed 10-digit field. $1,842.50 is written as 0000184250.
How do I make a real NACHA file like these?
Put your payments in Excel or CSV (name, routing number, account number, account type, amount), upload it to the generator, enter the company and bank details your bank gave you, and download the .ach file. The first export is free.