NACHA File Format and the Headache of Payment File Uploads

If you’ve ever tried to send a mass payment batch through a banking portal or a bank API, you’re likely familiar with the headache of uploading and creating payment files. Payment files come in a number of different forms, each with its nuanced details. The variance in file formats and requirements largely depends on whether you’re using an ACH (Automated Clearing House) API, a bank portal, a mass payments platform, or a digital payment solution such as PayPal Mass Pay.

NACHA File Format

One the most common types of payment files is the NACHA file format. A NACHA file is used to execute domestic ACH payments through the Automated Clearing House Network. A NACHA file is a payment instruction file that gets sent or uploaded to a bank portal in order to execute a mass payment batch. NACHA files require unique formatting with particular specifications. While the details of the file format can vary slightly between different financial institutions or banks, there are a number of Standard Entry Class Codes (SEC codes) that relate to ACH payment files.

The reason NACHA files are so common is due to the popularity of ACH as a payment method. ACH is becoming the payment method of choice for B2B payments and mass payments alike because of the low fees, quick delivery, and overall reliability. ACH payments are used to transfer funds from one account to another, leveraging the ACH network to clear those payments. This process is administered by NACHA (previously known as the National Automated Clearing House Association). The ACH network moves over $43 trillion and 25 billion transactions each year.


Download our Global Payment Method Comparison Guide to better understand the pros and cons of ACH, Global ACH, wire transfers, checks, cards, and PayPal.

The Problem with Payment Files

While there is some consistency around the requirements to send a batch of ACH payments, a general lack of standardization around payment files still exists. Different accounting systems will often create different types of payment files, and in many cases, each payment method requires its own type of file. For example, a large corporation or multi-entity organization may use multiple accounting or ERP systems. Multiple systems coupled with the need for multiple payment methods can result in dozens of different payment files and formats.


It’s no secret that payment files can contain sensitive information. The problem is that these files need to be secure enough that data cannot easily be altered or changed, yet accessible enough that approves can view and upload the files.

A payment workflow can easily be broken or flawed. Setting up new users or approvers, leveraging different payment methods, and integrating with a new banking portal are just a few of the processes that can result in errors or payment file rejections. File rejections can not only cause headaches and require additional man-hours, they can also create a frustrated pool of suppliers and, in some cases, result in additional banking fees.

How to Create a NACHA File

As you’ll quickly learn, creating NACHA files is no simple task. Due to the technical and sensitive nature of these payment files, you should consult with your financial institution or payment processor before even attempting to create a NACHA payment file. Wells Fargo, Chase, and Bank of America each have unique processes for the execution of batch payments. Luckily, some banking portals have automated components of the process and remove some of the complexity involved in creating these files. In some cases, an ERP or accounting software can generate the file for you, removing some of the error-prone manual effort associated with payment files.


Below are some definitions of basic terminology relating to ACH payments and NACHA files, followed by an explanation of some common NACHA codes.

ACH and NACHA File Terms

The following terms are not necessarily part of the NACHA file, but are descriptive terms and acronyms associated with the ACH network.


Originator — This is the entity that is making the payment or the payer.

ODFI — The Originating Depository Financial Institution is the bank or institution where the funds are coming from.

ACH Operator — This is a clearing facility that receives and clears batch payments from the ODFI.

RDFI — The Receiving Depository Financial Institution is often the bank of the payee and receives the funds once they are made available by the ACH Operator.


NACHA Standard Entry Class Codes

The following codes typically accompany a NACHA payment file and are included in the batch header to describe the type of payments that are in the file:

ARC — Accounts Receivable Conversion

BOC — Back Office Conversion

CCD — Cash Concentration or Disbursement

CIE  — Customer Initiated Entry

CTX — Corporate Trade Exchange

PPD — Prearranged Payment and Deposit

IAT — International ACH Transaction

POP  — Point of Purchase entry

RCK — Re-presented Check entry

TEL — Telephone-initiated entry

WEB —  Internet-initiated entry

NACHA Format Codes

File header — This provides basic information about the NACHA file including who the payer is and which bank is handling the initial processing.

Batch header — This includes specific information about the payment run including the standard entry class, description of payments, and effective date.

Detailed transaction record — This record contains the payment details and includes information about the payee (banking information) and the amount of payment.

Addendum — This is an optional record that sometimes accompanies NACHA files, primarily for corporate-to-corporate transactions.

Batch control total — This is the total included in each batch.

File control record — This is a final check on the payment batch that includes counts for each type of entry.