Guide

What is a NACHA file?

A NACHA file, also called an ACH file, is the text file a business sends its bank to pay employees and vendors by direct deposit or to collect payments through the ACH Network.

Note: You need your bank's approval first

To send ACH files, your business needs an agreement with your bank, which binds you to the Nacha Operating Rules.[2] Your bank may also have its own formatting requirements.[1]

Who Nacha is

The ACH Network moves money electronically between bank accounts for businesses, consumers and governments. It's governed by the Nacha Operating Rules, and Nacha manages the network's development, administration and governance.[2]

What the file looks like

An ACH file is a fixed-width ASCII text file. Every line is exactly 94 characters long.[1] Each line is a record, and each record holds fields at set positions.[1] Text fields are left-justified and filled with spaces; number fields are right-justified and filled with zeros.[1]

The first character of each line says what kind of record it is:[1]

ACH record types
Starts withRecordWhat it holds
1File HeaderStarts the file. Includes the routing number of the bank sending the file and a date and time stamp.
5Batch HeaderStarts a batch. Names your company and describes the payments, for example "salary."
6Entry DetailOne payment: who receives it, their account, the amount, debit or credit, and a trace number.
7AddendaOptional extra information about a payment.
8Batch ControlEnds a batch with its entry count, dollar totals and a hash total.
9File ControlEnds the file with counts, debit and credit totals, and another hash total.

Batches

A file holds one or more batches, and each batch holds one or more payments.[1] Payments go in the same batch when they share the same Standard Entry Class (SEC) code, effective date, company ID and batch description.[1] A different description, such as "bonus" instead of "salary," needs its own batch.[1]

PPD and CCD

  • PPD (Prearranged Payment and Deposit) is a credit or debit to a consumer's account, with authorization in writing.[2]
  • CCD (Corporate Credit or Debit) is a credit or debit to a business account. It's commonly used to pay vendors and to move money between a company's own accounts.[2]

Totals and hash totals

Each Batch Control record adds up the count and dollar amount of the batch's payments and carries a hash total, a checksum that helps catch errors.[1] The batch's entry hash is the sum of the Receiving DFI Identification fields, which identify each receiving bank, across the batch's payments.[3] The File Control record carries counts, debit and credit totals, and its own entry hash: the sum of the batch entry hashes.[1][3]

Padding to 10 lines

ACH files have a blocking factor of 10. The file is padded with lines of 9s so the number of lines is a multiple of 10. If it already is, no padding is added.[1]

Dates

The effective date is the day you want the payments to happen. ACH isn't processed on weekends or certain federal holidays, and your bank sets its own deadlines.[1] With Same Day ACH, each payment must be $1,000,000 or less and reach your bank before its Same Day ACH deadline.[1]

Why every character counts

Every field sits at a set position in its 94-character line, so each value has to fit its field exactly.[1] The counts and hash totals in the control records are there to help make sure the file was generated correctly.[1]

The BankFileKit ACH converter is coming.

It will turn an Excel or QuickBooks payment list into a NACHA file in your browser. If you also pay by check, you can make your bank's Positive Pay file today.

Create your Positive Pay file

Sources

  1. ACH File Overview, ACH Guide for Developers, Nacha. https://achdevguide.nacha.org/ach-file-overview. Read 10/26/2026.
  2. How ACH Works, ACH Guide for Developers, Nacha. https://achdevguide.nacha.org/how-ach-works. Read 10/26/2026.
  3. ACH File Details, ACH Guide for Developers, Nacha. https://achdevguide.nacha.org/ach-file-details. Read 10/26/2026.