ACH Transaction File

📘

This is an extension file

This file is an extension of the master Posted Transaction File and is meant to provide additional data points for ACH transactions. A single event will appear in both files and share the same TransactionId.

ACH Transaction File Definition

The ACH Transaction File is created by Helix on a daily basis. It has the following properties:

  1. Fixed-length
  2. ANSI encoded
  3. Line endings are Windows-style CarriageReturn + LineFeed (\r\n, or 0x0D0A)
  4. File will be available in the relative directory of /AchTransaction
  5. File name follows a specific, case-sensitive pattern of: yyyyMMddhhmm_ACHTRANSACTION.TXT
🚧

Format Disclaimer
Helix reserves the right to append new field(s) to the end of any Header or Content line without notice. This is to allow new data points to be added as needed in a timely fashion.

Implementation Note
Your code should be written such that unexpected characters after the "last" field but prior to the end of each line should be ignored. That is, if the file is documented as being 872 bytes per line, receiving a file with 984 bytes per line should not disrupt your processing. This applies to both Header and Content lines.

File Name Disclaimer
The date in file name should be used as a guideline for human eyes only. Any date-related programmatic dependencies should rely on the FileCreatedDate or FileEffectiveDate contained within the header line of each file, as these will be precise to the second and will be in the appropriate timezone.

Header Row

Property

Data Type (Length)

Alignment

Start Position

Description

Record Type

string (1)

Left

1

The flag for the header row. Will always be H.

File Name

string (50)

Left

2

The name of this request file excluding path.
Format: yyyyMMddhhmm_ACHTRANSACTION.TXT
Example: 201410210215_ACHTRANSACTION.TXT

Record Count

integer (10)

Right

52

The number of records represented within the file. This field is zero-padded on the left side.
Example: 0000000872

File Created Date

datetime (34)

Left

62

The date the file was created. Follows same format as API.
Example: 2014-10-20T10:30:31.456-05:00
See data format guidelines

File Effective Date

datetime (34)

Left

96

The date to which the data in the file pertains. Follows same format as API. Example: 2014-10-20T23:59:59.999-05:00
See data format guidelines

Content Row

Property

Data Type (Length)

Alignment

Start Position

Description

Customer ID

integer (10)

Right

1

The unique identifier for a customer. This field is zero-padded on the left side. e.g.: 0000000872

Customer Tag

string (50)

Left

11

The client-supplied unique identifier for the customer, aka the tag property on the customer object. This may be empty as it is an optional property.

Account ID

integer (10)

Right

61

The unique identifier for the bank account from which funds will be withdrawn. This field is zero-padded on the left side. e.g.: 0008309285. This is NOT an account number. It is the accountId of an account object or an externalAccountId of an externalAccount object.

Account Tag

string (50)

Left

71

The client-supplied unique identifier for the account, aka the tag property on the account object. This may be empty as it is an optional property.

Account Name

string (50)

Left

121

The name of the account or externalAccount.

Transaction ID

long integer (19)

Right

171

The unique identifier for the transaction. This field is zero-padded on the left side. e.g.: 0008309285

Transaction Tag

string (50)

Left

190

The client-supplied unique identifier for the transaction. See transaction object definition for details.

Transaction Type Code

string (6)

Left

240

The typeCode of the transaction object.

Trace Number

string (15)

Left

246

The traceNumber of the Nacha file entry detail record.

Standard Entry Class Code

string (3)

Left

261

The standardEntryClassCode of the Nacha file batch record.

Company Name

string (16)

Left

264

The companyName of the Nacha file batch record.

Company Discretionary Data

string (20)

Left

280

The companyDiscretionaryData of the Nacha file batch record.

Company Entry Description

string (10)

Left

300

The companyEntryDescription of the Nacha file batch record.

Receiving Company Name

string (22)

Left

310

The receivingCompanyName (Individual Name) of the Nacha file entry detail record.

Identification Number

string (15)

Left

332

The identificationNumber of the Nacha file entry detail record, positions 40-54

Is Early Deposit

string(1)

Left

347

The isEarlyDeposit indicator for the Nacha file entry detail record.
N indicates the ACH entry was not posted as an early ACH item
Y indicates the ACH entry was posted as an early ACH item

Amount

string(11)

Right

348

The amount of the Nacha file entry detail record.

Header Company Identification

string(10)

Left

359

The headerCompanyIdentification for the Nacha file entry detail record.

Nacha Settled Date

datetime(34)

Left

369

The nachaSettledDate exists only when IsEarlyDeposit is Y and indicates the Original Nacha Settlement Date from the ACH Batch Header record.

Transaction Settled Date

datetime(34)

Left

403

The date in which the ACH item has settled in the Helix account. This date is also the Nacha Settlement Date from the ACH Batch Header record.

Company Name IAT

string (35)

Left

437

The companyName for the IAT transaction of the Nacha file batch record. This is populated only for ACH transactions with the IAT standard entry class (SEC) code.

Receiving Company Name IAT

string(35)

Left

472

The receivingCompanyName for the IAT transaction (Individual Name) of the Nacha file entry detail record. This is populated only for ACH transactions with the IAT standard entry class (SEC) code.

Nacha Batch ID

integer (19)

Left

507

The TraceNumber of the batch.

Return Code

string (3)

Left

526

Populates the return code only if the transaction is an ACH return. If the transaction is not a return, this field will be empty.

{ "file_type": "fixed_length" }