US banks that offer ACH origination usually let you upload a NACHA-formatted file to pay many people at once – payroll (direct deposit) or suppliers. A NACHA file is plain text: every line ("record") is exactly 94 characters, and the position of each character matters.
1. What your spreadsheet needs
| Column | Notes |
|---|---|
| Name | Receiver's name; only 22 characters fit in the entry record. |
| Routing number | 9-digit ABA routing number of the receiver's bank. |
| Account number | Up to 17 characters. |
| Account type | Checking or savings – it changes the transaction code. |
| Amount | In dollars; stored in cents with no decimal point. |
| ID (optional) | Employee or invoice number, up to 15 characters. |
You also need details your bank gives you when it enables ACH: the immediate destination (usually the bank's routing number), your company ID (often "1" followed by your 9-digit EIN, but use exactly what the bank tells you) and the SEC code: PPD for payments to consumers (payroll) or CCD for payments to businesses.
2. The five record types
| Record | Starts with | Purpose |
|---|---|---|
| File header | 1 | Who the file is for and from, creation date and time |
| Batch header | 5 | Service class (200 mixed, 220 credits only, 225 debits only), company name and ID, SEC code, entry description (e.g. PAYROLL), effective date |
| Entry detail | 6 | One per payment: transaction code, routing number, account, amount, ID, name, trace number |
| Batch control | 8 | Count of entries, entry hash, total debits and credits |
| File control | 9 | Totals for the whole file and the block count |
Optional addenda records (type 7) carry extra remittance information.
3. Transaction codes
22 = credit to a checking account, 27 = debit from checking, 32 = credit to savings, 37 = debit from savings.
4. The three checks banks reject files for
- Routing-number check digit. Multiply the nine digits by 3, 7, 1, 3, 7, 1, 3, 7, 1 and add them up; the total must be a multiple of 10. For example 011000015: 0×3 + 1×7 + 1×1 + 0×3 + 0×7 + 0×1 + 0×3 + 1×7 + 5×1 = 20 ✓.
- Entry hash. Add up the first 8 digits of every receiver's routing number in the batch and keep the rightmost 10 digits.
- Blocking. The number of records must be a multiple of 10; the file is padded with lines of 94 nines.
5. Balanced or unbalanced?
Some banks want an unbalanced file (only the credits; the bank debits your account itself). Others want a balanced file with an offsetting debit to your own account. Ask your bank which one; our generator supports both.
6. Upload, then review
Upload the file in your bank's ACH or "file transfer" section and check the totals in the preview before approving. Test with a small file first.
Sources
- Nacha – ACH file format resources
- Federal Reserve – ABA routing numbers (E-Payments Routing Directory)
Related guides
Published 2026-10-02 by Karuna Labs. Our tools check file structure and checksums; always review outputs (and payment files in your bank's preview) before relying on them. This is general information, not financial, tax or legal advice.