NACHA ACH File Output Format

ACH records are used when NACHA payments are sent domestically within the United States.
Note: ACH File output format is used for payments from a US company with a domestic currency of USD to a US vendor. If the company domestic currency does not equal USD, then an IAT record is included in the EFT output for NACHA format.

See NACHA IAT File Output Format.

Each record ends with a carriage control (line break) character.

File Header Record

This record includes your company name and company number. It also designates the immediate destination of the entries in the file.

Field Description Position Length Format Field or Notes
Record Type Code 1 1   Value is 1. This identifies the file header record.
Priority Code 2 2   Value is 01. The lower the number, the higher the processing priority. Currently, only 01 is used.
Filler 4 1 Blank Not used.
Destination ID 5 9 Fill with zeros to the left bank_hdr_bank_file_fmt_mst.ach_dest_id - Bank's transit routing number
Company ID 14 10 Left-justified bank_hdr_bank_file_fmt_mst.ach_co_id - Company number. The use of an IRS federal tax ID number is recommended. The company ID is displayed in the output with leading zeros.
Creation Date 24 6 YYMMDD dbo.getsitedate - Date the input file was created.
Creation Time 30 4 HHMM dbo.getsitedate - Time of day the input file was created.
File ID 34 1 Uppercase A-Z Numeric 0-9 Initial value is A. This is a code to distinguish between multiple input files. If more than one file is delivered, they must have different file IDs.
Record Size 35 3   Value is 094 - Number of bytes per record.
Blocking Factor 38 2   Value is 10.
Format Code 40 1   Value is 1.
Destination Name 41 23 Left-justified bank_hdr_mst.name - Name of bank. Form field is 60 characters, but is truncated here to 23.
Company Name 64 23 Left-justified parms_mst.company - Name of your company. Form field is 60 characters, but is truncated here to 23.
Filler 87 8 Blanks Not used.
Note:  There is a space between the File Header Company Name and the Batch Header Record Code.

Batch Header Record

This record contains the effective entry (transaction) date, which is the date the deposits will be settled. The record also identifies your company and contains an entry description for debits and credits in this batch.

Field Description Position Length Format Field or Notes
Record Type Code 1 1   Value is 5. This identifies the batch header record.
Service Class Code 2 3   This value identifies the type of entries in the batch:
  • 200 identifies the type of entries in the batch as mixed debits and credits.
  • 220 indicates that only credits are contained in this batch.
  • 225 indicates that only debits are contained in this batch.
Company Name 5 16 Left-justified, alphanumeric parms_mst.company - Form field is 60 characters, but is truncated here to 16.
Filler 21 20 Blanks Not used.
Company ID 41 10 Left-justified, alphanumeric bank_hdr_bank_file_fmt_mst.ach_co_id - Company number. Value is the same as Company in the file header record, unless multiple companies or divisions are sent in one transmission. The company ID is displayed in the output with leading zeros.
Entry Class 51 3 Alphabetic Value is PPD. This identifies the entries in the class. The standard entry class used here is Prearranged Payments and Deposit entries.
Entry Description 54 10 Left-justified, alphanumeric Value is Vouchers. This is a description of the transaction that may be printed on the receiver's bank statement.
Company Descriptive Date 64 6 MMDDYY dbo.getsitedate. This is the current date, which is used to identify the transactions. It may be printed on the receiver's bank statement.
Effective Entry (Transaction) Date 70 6 YYMMDD dbo.getsitedate. This is the current date, which is used to post the transactions.
Filler 76 3 Blanks Not used.
Originator Status Code 79 1   Value is 1. This identifies the bank as a depository financial institution bound by the rules of the ACH.
Originating ID 80 8 Fill with zeros to left bank_hdr_bank_file_fmt_mst.ach_orig_id - The transit routing number of the originating financial institution.
Batch Sequence Number 88 7 Fill with zeros to left Initial value is 1. Number batches sequentially.

PPD Detail Record

This record contains the information needed to post a deposit to an account, such as the receiver's name, account number, and payment amount.

Field Description Position Length Format Field or Notes
Record Type Code 1 1   Value is 6. This identifies a detail entry record.
Transaction Code 2 2 Numeric Identifies the account type at the receiving financial institution as a deposit destined for a checking account.
Detail Transit 4 8 Fill with zeros to left vendor_mst.transit - Transit routing number of the receiver's financial institution.
Check Digit 12 1 Numeric The ninth digit of the receiving financial institution's transit routing number, calculated by SyteLine.
Account Number 13 17 Left-justified, alphanumeric vendor_mst.account - Receiver's bank account number.
Amount 30 10 Fill with zeros to left (no decimal point) DerDomAmtApplied * 100 - Transaction amount in dollars with two decimal places
Vendor ID 40 15 Left-justified, alphanumeric vendor_mst.vend_num - This vendor number may be printed on the receiver's bank statement.
Vendor Name 55 22 Left-justified, alphanumeric vendaddr_mst.name - Form field is 60 characters, but is truncated here to 22.
Filler 77 2 Blanks Not used.
Addenda 79 1 Numeric Value is 0 - Indicates no addenda records for this transaction.
Detail Orig ID 80 8 Fill with zeros to left bank_hdr_bank_file_fmt_mst.ach_orig_id - This value is the origination ID of the receiver's bank.
Detail Sequence 88 7 Fill with zeros to left Initial value is 1. This value increments for every payment record.

CCD Detail Record

Field Description Position Length Contents Field Inclusion Requirement
Record Type Code 01-01 1 6 M
Transaction Code 02-03 2 Numeric M
Receiving DFI Identification 04-11 8 TTTTAAAA M
Check Digit 2-12 1 Numeric M
DFI Account Number 13-29 17 Alpha-Numeric R
Amount 30-39 10 $$$$$$$$cc M
Identification Number 40-54 15 Alpha- Numeric O
Receiving Company Name 55-76 22 Alpha- Numeric R
Discretionary Data 77-78 2 Alpha- Numeric O
Addenda Record Indicator 77-78 1 Numeric M
Trace Number 80-94 15 Numeric M

Batch Control Total

This record appears at the end of each batch. It holds totals for the batch.

Field Description Position Length Format Field or Notes
Record Type Code 1 1   Value is 8. This identifies a batch control total record.
Service Class 2 3 Numeric This value identifies the type of entries in the batch:
  • 200 identifies the type of entries in the batch as mixed debits and credits.
  • 220 indicates that only credits are contained in this batch.
  • 225 indicates that only debits are contained in this batch.
Entry Count 5 6 Numeric. Fill with zeros to left Total number of detail records processed in the batch.
Entry Hash 11 10 Numeric Value is calculated by SyteLine.
Total Debit Amount 21 12 Numeric. Fill with zeros to left Dollar total of debit entries in the batch.
Total Credit Amount 33 12 Numeric. Fill with zeros to left Sum of DerDomAmtApplied for each payment *100. This is the dollar total of credit entries in the batch.
Company ID 45 10   bank_hdr_bank_file_fmt_mst.ach_co_id - This should match the Company ID used in the batch header. The company ID is displayed in the output with leading zeros.
Filler 55 25 Blanks Not used.
Origination ID 80 8 Numeric. Fill with zeros to left bank_hdr_bank_file_fmt_mst.ach_orig_id - This should be the originating bank's routing number.
Sequence 88 7 Numeric. Fill with zeros to left Initial value is 1. This indicates the number of the batch associated with the control record.

File Control Records

This record provides a final check on the submitted data. It contains block and batch counts and totals for each type of entry.

Field Description Position Length Format Field or Notes
Record Type Code 1 1   Value is 9. This identifies a file control record.
Batch Count 2 6 Numeric. Fill with zeros to left Initial value is 1. This is the total number of batch header records in the file.
Block Count 8 6 Numeric. Fill with zeros to left The system calculates the number of detail records, plus all header and control records, and divides by 10 to get the block count. If there is a remainder, it adds 1 to the block count.
Entry Count 14 8 Numeric. Fill with zeros to left This is the total number of detail records in the file.
Entry Hash 22 10 Numeric. Fill with zeros to left Value is calculated by SyteLine.
Total Debit 32 12 Numeric. Fill with zeros to left Dollar total of debit entries in the file.
Total Credit 44 12 Numeric. Fill with zeros to left Sum of DerDomAmtApplied for every payment * 100. This is the dollar total of credit entries within the file.
Reserved 56 39 Blanks Leave this reserved field blank.