top of page

How To Read ACH Files Like A Pro

Updated: Feb 15


Read ACH Files Like a Pro

ACH files may seem too complicated to understand at a glance, but all you need is a little practice. We provide 6 tips below that will help you go from ACH file beginner to pro. Whether you're creating your own files or troubleshooting files created by your customers, we guarantee you'll benefit from the tips below.


Contents



Tip #1: Start with the record type codes


In ACH files, the record type code is a single-digit number that starts each line and identifies the purpose of that line.


Record types (indentation represents repeating groups):

  • 1 = File Header

    • 5 = Batch Header (each file must have one or more batches)

      • 6 = Entry Detail (each file must have one or more entry detail records)

      • 7 = Entry Addenda (some entry details have associated addenda records)

    • 8 = Batch Control

  • 9 = File Control

With this simple trick you can quickly identify several details about an ACH file: Is the file structure correct? How many batches are contained in a file? How many entries are in a file? Do any entries have addenda records?


In the example below, we can answer all of these questions using the record types. The file structure is correct (sequence is 1, 5, 6+, 8, 9). There is one batch containing three entries, none of which have addenda records.

101 026009593 02600959323011300000094101Bank Of America        Bank Of America                
5200Bob's Manufactur                    881234567 CCDPAYMENT         230120   1026009590000001
6270260095931234             0000881644               Bob's Manufacturing     0026009590000001
62202600959311               0000560075               Metal Makers LLC        0026009590000002
62202600959321               0000321569               CNC Today Corp          0026009590000003
82000000030007802877000000881644000000881644881234567                          026009590000001
9000001000001000000030007802877000000881644000000881644                                       


Tip #2: Review the batch headers


The batch header (sometimes called the "5 record") provides a wonderful summary of a batch including the originator's name, company ID (typically EIN), SEC code and a brief description of the purpose of the batch's entries.


Using the example from tip #1, we can quickly see that "Bob's Manufactur" (probably short for "Manufacturing") is the originator and its company ID is "881234567" (typically an EIN), the SEC code is "CCD" which tells us the entries should all be to non-consumer accounts and the entry description is "PAYMENT".



Tip #3: Skim transaction codes to deduce the purpose of a batch/entry


Every entry detail (sometimes called a "6-record") contains a two-digit transaction code immediately following the record type (i.e. "622..."). This transaction code tells you two important details about the entry: 1) the type of account and 2) the type of transaction.


Account Types (first digit of transaction code):

  • 2 = Checking

  • 3 = Savings

  • 4 = General Ledger

  • 5 = Loan

Transaction Types (second digit of transaction code, only common types are listed below):

  • 2 = Credit

  • 3 = Credit Prenote

  • 7 = Debit

  • 8 = Debit prenote

You can combine these rules to determine the destination type and payment intent of every entry you will see in an ACH file (for a complete list, see NACHA's rules). What's more, you can skim the transaction codes of multiple entries to determine the purpose of a batch.


For example, in the file below we can see that there are multiple credits and a single debit. We can also see that the names of the debit recipients appear to be consumers and the name of the credit recipient appears to be a business. The last clue comes from the batch header which tells us this is a PPD batch with a description of "PAYROLL". This example is fairly obvious but the techniques here can be used to troubleshoot issues such as a payroll file where the debit and credit transaction codes are reversed due to user error.

101 026009593 02600959323011300000094101Bank Of America        Bank Of America                
5200Bob's Manufactur                    881234567 PPDPAYROLL         230120   1026009590000001
6270260095931234             0000533507               Bob's Manufacturing     0026009590000001
62202600959311               0000125413emp2           Sally Reynolds          0026009590000002
62202600959321               0000168724emp1           Bob Smith               0026009590000003
62202600959331               0000119684emp3           Joe Edwards             0026009590000004
62202600959341               0000119684emp4           Jim Reynolds            0026009590000005
82000000050013004795000000533507000000533505881234567                          026009590000001
9000001000001000000050013004795000000533507000000533505                                       
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999


Tip #4: Find counts and amount totals in control records


The batch control ("8-record") and file control ("9-record") both contain useful aggregate fields.


In the batch control you can find the combined number of entry details and addenda in a batch, as well as the total dollar amounts of credits and debits.


In the record below, there are 5 entry details/addenda in the batch (yellow), the total debit dollar amount in the batch is $5335.07 (red) and the total credit dollar amount is $6975.32 (blue).

82000000050013004795000000533507000000697532881234567                          026009590000001

In the file control you can find the number of batches in a file, the combined number of entry details and addenda in all batches and the total dollar amounts of credits and debits in all batches.


In the record below, there is 1 batch (teal), 5 entry details/addenda in the file (yellow), the total debit dollar amount in the file is $75130.07 (red) and the total credit dollar amount is $97512.32 (blue).

9000001000001000000050013004795000007513007000009751205                                       


Tip #5: Use a file viewer to quickly find line number and character position


Even a simple tool like Microsoft's Notepad has features that can significantly improve your ability to read and troubleshoot ACH files.


To get started, make sure you have the Status Bar toggled on under View. The Status Bar includes useful information about the line (Ln) and column (Col) position of the cursor, the line endings used and the file's encoding.

Notepad View menu, enable status bar
Notepad Status bar

Notepad cursor position in ACH file

Using the status bar you can quickly determine what line number and character position your cursor is at. Since NACHA files are fixed width this is invaluable for determining what field you're looking at and if it's formatted correctly.


Here, our cursor is at character 4 (indicated by Col 4 in status bar) of an entry detail record, the start of the Receiving DFI Identification field.




Surprisingly enough, simple highlighting (click and drag to select text) is another valuable tool. The image below highlights (pun intended) a common error in ACH files; missing spaces at the end of a line. Since each line must be 94 characters, line 1 will result in an error in most ACH software. Furthermore, if you're looking at the file without highlighting the missing spaces wouldn't be apparent.

Highlighted ACH file in Notepad

Some tools offer even more features such as counting the number of characters highlighted or colorizing different fields for easy reading.


Tip #6: Use our validator to find errors and field names in an ACH file

Our free ACH file validator is a powerful tool for finding errors in ACH files and identifying different fields within a file. We've published a blog post that explains what it can do and how to use it.


Wrapping Up


We hope these tips make your next ACH file experience more productive. If you're tired of manually creating or fixing ACH files, we recommend you use ACH Pro. It's a powerful tool that combines ACH file creation with recipient and bank management. You can import data and create templates to easily reuse payment information.


And it looks pretty good too...



bottom of page