How do I create (or read) an ACH (2024)


If you want to create an ACH file or read an existing ACH file, here's the information you need to know.

Download Free Trial

A quick and easy way to create an ACH file is to use ACH Universal a client-side solution that you can download at your work station.
These links can help you get started creating files:

For QuickBooks users - QuickBooks

QuickBooks online - QuickBooks Online
If you're using Excel or CSV files (and other accounting packages) -Excel, csv files

For SQL users - SQL Insertion

If you're interested in learning the details of an ACH file - or if you want to create your own ACH file without a tool - here's the nitty gritty.

See ACH File Format specifications for Nacha PPD and CCD.

Overview

The ACH file is a fixed-width ASCII text file that is 94 characters in width, in an enveloped/nested format.

Below is a basic layout that might be used for:
--Customer Collections
--Employee Direct Deposit
--Vendor Payments

The number in the first position of each record defines what type of record it is:
1 - File Header
5 - Batch Header
6 - Transactions
7 - Addenda record (optional)
8 - Batch Footer
9 - File Footer

Sample ACH File FormatHow do I create (or read) an ACH (1)

File Headers and Footers - Overview

The file header and footer are marked in yellow:
1 - File Header
9 - File FooterHow do I create (or read) an ACH (2)

File Header (1 record)
PositionsLengthNameContentsDescription
1-11Record Type Code1Constant
2-32Priority Code01Constant
4-1310Immediate DestinationbNNNNNNNNNNTypically your bank's 9 digit ABA Routing number, preceding with a blank space. Determined by your bank.
14-2310Immediate OriginNumericTypically a "1" + your Federal ID number. Determined by your bank.
24-296File Creation DateYYMMDDMust be in YYMMDD format
30-334File Creation TimeHHMMMust be in HHMM format (use 24 hour format)
34-341File ID ModifierAlphanumericAlphanumeric field, upper-case A-Z and 0-9 allowed. Start with A and increment for each file created during the calendar day.
35-373Record Size094Constant
38-392Blocking Factor10Constant
40-401Format Code1Constant
41-6323Immediate Destination NameAlphanumericEnter your bank's name
64-8623Immediate
Origin Name
AlphanumericEnter your company's name
87-948Reference CodeBlank8 blank spaces - constant
File Footer (9 record)
PositionsLengthNameContentsDescription
1-11Record Type Code9Constant
2-76Batch CountNumericNumber of batches in file
8-136Block CountNumericNumber of blocks in file (10 records = 1 block)
14-218Entry/Addenda CountNumericNumber of detail entry (transactions) and addenda records within the file.
22-3110Entry HashNumericSum of the receiving DFI ID (first 8 digits of the other party's ABA routing number) for each entry/transaction within the file. If the sum exceeds 10 places, use the rightmost 10 digits.
32-4312Total Debit Entry Dollar AmountNumericTotal debits for the file. No decimal.
44-5512Total Credit Entry Dollar AmountNumericTotal credits for the file. No decimal.
56-9439ReservedBlankConstant


Note: Padding record - in gray:
ACH files need to be created in multiples of 10 records. In this sample, there are 9 records including the file header and footer noted in yellow. In this case, we needed to add one additional padding record (99999...) to make the file contain a multiple of 10 records.
Therefore, an ACH may have anywhere from no padding (99999...) records up to 9 records.

Batch Header and Footer - Overview

There are two batches in this sample, with the headers and footers marked in in yellow:
5 - Batch Header
8 - Batch Footer
How do I create (or read) an ACH (3)

Batch Header (5 record)
PositionsLengthNameContentsDescription
1-11Record Type Code5Constant
2-43Service Class Code200
220
225

Represents whether the batch contains:
200 Both Debits and Credits, mixed
220 Credits
225 Debits

5-2016Company NameAlphanumeric

Your company name.
Often the same as the ImmediateOrigin Name in the file header.
PRINTED - This value will appear on the other party's bank statement

21-4020Company Discretionary DataAlphanumericOptional. May be instructed by your bank. Otherwise (typically), leave blank
41-5010Company IdentificationNumericTypically a "1" + your Federal ID number. Determined by your bank. Often the same as the ImmediateOrigin ID in the file header. No hyphen, numbers only.
51-533Standard Entry Class Code (SEC)PPD, CCD

3 letter mnemonic which identifies the batch and its' layout.
PPD - used if the other party is an individual (ie. payroll)
CCD - used if the other party is a corporate account (ie. vendor paymentsand customer collections).
Other values (not part of this layout/sample) include ARC, BOC, CTX, IAT, TEL and WEB.

54-6310Company Entry DescriptionAlphanumericA description as to the general nature of the transactions to help the other parties identify the purpose. Examples: Payroll, Payables, etc...
PRINTED - This value will appear on the other party's bank statement
64-696Company Descriptive DateAlphanumeric, often YYMMDD

Optional. Descriptive date - often in YYMMDD with the same value as the effective date. Useful in recurring transaction scenarios, such as payroll.
PRINTED - This value may appear on the other party's bank statement

70-756Effective Entry DateYYMMDDEffective / transaction date. Date the other party is to be debited or credited.
76-783ReservedBlankJulian Settlement Date - left blank. Will be filled in by your bank.
79-791Originator Status Code1Constant
80-878Originating DFI IDNumericEnter the first 8 digits of your ABA routing number
88-947Batch NumberNumericStart with 00000001 and increment by 1 for each batch.
Batch Footer (8 record)
PositionsLengthNameContentsDescription
1-11Record Type Code8Constant
2-43Service Class Code200
220
225

Represents whether the batch contains:
200 Both Debits and Credits, mixed
220 Credits
225 Debits
Must match the entry in the batch header.

5-106Entry/Addenda CountNumeric

Number of detail entry (transactions) and addenda records within the batch.

11-2010Entry HashNumericSum of the receiving DFI ID (first 8 digits of the other party's ABA routing number) for each entry/transaction within the batch. If the sum exceeds 10 places, use the rightmost 10 digits.
21-3212Total Debit Entry Dollar AmountNumericTotal debits for the batch. No decimal.
33-4412Total Credit Entry Dollar AmountNumeric

Total credit for the batch. No decimal.

45-5410Company IdentificationNumericTypically a "1" + your Federal ID number. Determined by your bank.
Must match the entry in the batch header.
55-7319Message Authentication CodeBlank

Blank

74-796ReservedBlankBlank
80-878Originating DFI IDNumericEnter the first 8 digits of your ABA routing number
Must match the entry in the batch header.
88-947Batch NumberNumericStart with 00000001 and increment by 1 for each batch.
Must match the entry in the batch header.

Transactions

There are three transactions (Entry Detail) records in this sample marked in in yellow:
6 - Transactions (Entry Detail)


How do I create (or read) an ACH (4)

Entry Detail / Transaction (6 record)
PositionsLengthNameContentsDescription
1-11Record Type Code6Constant
2-32Transaction Code

22
32
27
37
etc...

Forcredit (ie. payroll, vendor payments)transactions:
22 Checking account
32 Savings account

For debit (ie. collections from a customers) transactions:
27 Checking account
37 Savings account

For pre-notes:
23/28 for checking credit/debit
33/38 for savings debit/credit
See ACH Rules for additional codes.

4-118Receiving DFI IDNumeric

First 8 digits of the other party's ABA routing number

12-121Check DigitNumericLast digit of the other party's ABA routing number
13-2917DFI Account NumberAlphanumericOther party's account number.
Note: This is an alphanumeric field and should be left justified.
30-3910AmountNumeric

Transaction amount. No decimal.

40-5415Identification NumberAlphanumericOptional. Helps the receiver (other party) identify themselves within your system, should they need to contact you. Typically their account number.
PRINTED - This value may appear on the other party's bank statement
55-7622Receiving Company NameAlphanumeric

The other party's company name (in CCD) - or if a consumer transaction (in PPC) such as payroll, the individual's name.

77-782Discretionary DataAlphanumericTypically blank, unless instructed otherwise by your bank.
79-791Addenda Record Indicator0 or 10 - No addenda following
1 - Addenda following
80-9415Trace NumberNumericThe first 8 digits of your Originating DFI number, followed by the entry detail sequence number,

Addenda Records

Addenda Record - optional (7 record)
PositionsLengthNameContentsDescription
1-11Record Type Code7Constant
2-32Addenda Type Code

05

Constant. Only valid value for CCD and PPD originations. Other SEC codes can contain other values.
4-8380Payment Related InformationAlphanumeric

Invoice or other remittance information specific to the entry detail / transaction.
PRINTED - This value may appear on the other party's bank statement
Note: Do NOT rely on the other party obtaining this information. Most bank's require an election for additional services to receive this.

84-874Addenda Sequence Number0001As PPD and CCD codes only support 1 addenda record, this will always be 0001.
88-947Entry Detail Sequence NumberNumericThis 7 digit field contains the last 7 digits of the related (preceding) entry detail / transaction record's trace number.

Notes:

The screen shots on this page contain text describing fields for PPD and CCD transactions, using common-use terms and descriptions, along with fictitious routing & account numbers and typical use examples/formats.NACHA field names and rules follow each illustration.

Numeric fields - Right justified, zero padded.
Alphanumeric fields - Left justified, blank padded.

Offset Records - Balanced files
Some banks will require a balanced file - where the debits and credits need to be equal. To do this, you will need to add an offset record to balance the file. Therefore, if the file has $1,000 in debits and $10,00 in credits, you will need to create a debit offset record of $9,000.

Advanced note: The offsets are calculated by effective date. Therefore, if a file has transactions with multiple effective dates, you will need to group and total the transactions by date - and then create multiple offset transactions - one for each effective date.


Pre-note records
Pre-notes are transactions used to confirm the other party's account. They are $0.00 transactions and can be either debits or credits. It is important to enable the user/system to designate whether they want a debit or credit pre-note - as this should be the same logic as the 'live' transactions will be in the future.
For example, if you want to test the bank account of a new client, you will want to debit pre-note. The reason being, if you use a credit pre-note, and the client has a debit block on their account - the credit pre-note will be successful, however the 'live' transaction might fail.

Encryption
Remember to encrypt all account numbers for data at rest.


Batching Rules
An ACH file has one file header and one file footer, and contains at least one batch.
The batches each have a header and footer.Within each batch are the transactions.
While there can only be one file header and footer, there is no limit to the number of batches or transactions (#1).
How do I create (or read) an ACH (5)

Legal Notice
This information is intended to be an abridged guide with commentary - and is not meant as a substitute for the official Nacha ACH Rules and Regulations publication. For an official copy of the ACH Rules and Regulations, please visit https://www.nacha.org/rules

If you are creating ACH files outside of Treasury Software's ACH Universal and need to troubleshoot the file creation process, we recommend that you import the same data into ACH Universal and compare your results.
For rules clarification and explanation, please contact your bank, NACHA or a regional payment association directly.

Footnotes:
1 - There is no limit to the number of transactions, but with certain ACH SEC codes not covered here (ie CTX), there is a limit to 9,999records.

How do I create (or read) an ACH (2024)
Top Articles
Retirement planning: Amount you need to save in 10 years to create a Rs 10 crore retirement corpus
Top 10 Benefits of Computer-Assisted Coding Software
NOAA: National Oceanic & Atmospheric Administration hiring NOAA Commissioned Officer: Inter-Service Transfer in Spokane Valley, WA | LinkedIn
Koopa Wrapper 1 Point 0
Regal Amc Near Me
Archived Obituaries
Robot or human?
East Cocalico Police Department
Caroline Cps.powerschool.com
Academic Integrity
Legacy First National Bank
Citi Card Thomas Rhett Presale
Www.paystubportal.com/7-11 Login
Johnston v. State, 2023 MT 20
OpenXR support for IL-2 and DCS for Windows Mixed Reality VR headsets
Jack Daniels Pop Tarts
Marion County Wv Tax Maps
Wilmot Science Training Program for Deaf High School Students Expands Across the U.S.
Louisiana Sportsman Classifieds Guns
Webcentral Cuny
Elemental Showtimes Near Cinemark Flint West 14
Foxy Brown 2025
Promiseb Discontinued
Wemod Vampire Survivors
2013 Ford Fusion Serpentine Belt Diagram
Craigslist Maryland Trucks - By Owner
Ecampus Scps Login
Bellin Patient Portal
How Taraswrld Leaks Exposed the Dark Side of TikTok Fame
Everything To Know About N Scale Model Trains - My Hobby Models
Apparent assassination attempt | Suspect never had Trump in sight, did not get off shot: Officials
Plost Dental
Creed 3 Showtimes Near Island 16 Cinema De Lux
Enduring Word John 15
Abga Gestation Calculator
Melissa N. Comics
Nacogdoches, Texas: Step Back in Time in Texas' Oldest Town
Leland Nc Craigslist
Clark County Ky Busted Newspaper
Weather Underground Bonita Springs
South Bend Tribune Online
Electronic Music Duo Daft Punk Announces Split After Nearly 3 Decades
Express Employment Sign In
Japanese Big Natural Boobs
The Largest Banks - ​​How to Transfer Money With Only Card Number and CVV (2024)
Kent And Pelczar Obituaries
Gamestop Store Manager Pay
Bf273-11K-Cl
The 5 Types of Intimacy Every Healthy Relationship Needs | All Points North
Thrift Stores In Burlingame Ca
Craigslist Centre Alabama
Texas 4A Baseball
Latest Posts
Article information

Author: Dr. Pierre Goyette

Last Updated:

Views: 5999

Rating: 5 / 5 (50 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Dr. Pierre Goyette

Birthday: 1998-01-29

Address: Apt. 611 3357 Yong Plain, West Audra, IL 70053

Phone: +5819954278378

Job: Construction Director

Hobby: Embroidery, Creative writing, Shopping, Driving, Stand-up comedy, Coffee roasting, Scrapbooking

Introduction: My name is Dr. Pierre Goyette, I am a enchanting, powerful, jolly, rich, graceful, colorful, zany person who loves writing and wants to share my knowledge and understanding with you.