NACHA ACH 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. |
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:
|
|
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.nam e - 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. |
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:
|
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. |