Account Balance File

A listing of all accounts in Helix for a given program with these qualities (as of the effective date of the file):

  • Successfully created and moved to an Open status on that date
  • Was in an Open status for that entire date
  • Changed from an Open status to a Closed status on that date
  • Was in a Closed status with a non-zero balance on that date

Accounts in this file with a Closed status and a zero balance will not appear in files for subsequent dates.

Account Balance File Definition

The Account Balance 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 /AccountBalance
  5. File name follows a specific, case-sensitive pattern of: yyyyMMddhhmm_ACCOUNTBALANCE.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

RecordType

string (1)

Left

1

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

FileName

string (50)

Left

2

The name of this request file excluding path. Will be named following this pattern: yyyyMMddhhmm_ACCOUNTBALANCE.TXT
Example: 201410210148_ACCOUNTBALANCE.TXT

RecordCount

integer (10)

Right

52

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

FileCreatedDate

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

FileEffectiveDate

datetime (34)

Left

96

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

Content Row

Property

Data Type (Length)

Alignment

Start Position

Description

CustomerId

integer (10)

Right

1

The unique identifier for the customer who has access to the account. See PrimaryCustomerId for more information. This field is zero-padded on the left side.
Example: 0000000872

CustomerTag

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.

AccountId

integer (10)

Right

61

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

AccountTag

string (50)

Left

71

The tag property of the account object.

AccountName

string (50)

Left

121

The name property of the account object.

AccountNumber

string (50)

Left

171

The accountNumber property of the account object.

AccountType

string (50)

Left

221

The type property of the account object.

AccountStatus

string (50)

Left

271

The status property of the account object.

AccountBalance

integer (15)

Right

321

The accountBalance property of the account object. It is NOT the availableBalance property. This field is zero-padded on the left side, and two decimals will be assumed, e.g., 000000000000832 represents an amount of $8.32. -00000000000832 represents an amount of -$8.32.

CreatedDate

datetime (34)

Left

336

The createdDate property of the account object. Follows same format as API.
Example: 2014-10-20T10:30:31.456-05:00
See data format guidelines

ClosedDate

datetime (34)

Left

370

The closedDate property of the account object. Follows same format as API.
Example: 2014-10-20T10:30:31.456-05:00
See data format guidelines
NOTE: Only accounts which closed on the same day as the EffectiveDate of the file will be included. Accounts which closed on previous dates will not be included.

TargetDate

datetime (8)

Left

404

The targetDate property of the account object. Follows YYYYMMDD format. October 10, 2014, would be represented as 20141020.

TargetAmount

integer (15)

Right

412

The targetAmount property of the account object. This field is zero-padded on the left side and two decimals will be assumed, e.g., 000000000000832 represents an amount of $8.32.

Category

string (50)

Left

427

The category property of the account object.

Subcategory

string (50)

Left

477

The subCategory property of the account object.

TargetMetDate

datetime (34)

Left

527

The targetMetDate property of the account object. Follows same format as API. Example: 2014-10-20T10:30:31.456-05:00
See data format guidelines

TargetMetPercent

integer (15)

Right

561

The targetMetPercent property of the account object. This field is zero-padded on the left side and two decimals will be assumed, e.g., 000000000002570 represents an amount of 25.7%.

IsPrimary

boolean (1)

Left

576

The isPrimary property of the account object.

  • Y: Yes (true)
  • N: No (false).

NOTE: this flag is relevant only if CustomerId matches the PrimaryCustomerId on the same line in the file.

PrimaryCustomerId

integer (10)

Right

577

The PrimaryCustomerId property of the account object. When CustomerId matches PrimaryCustomerId, this means the line represents the account for the primary account owner. When CustomerId does not match PrimaryCustomerId, this means the line represents the account for an alternate account owner.

InterestRate

decimal (15)

Right

587

The interestRate property of the account object applicable for the effective date. Example: 000.01500000000 represents 1.5%

ProductId

integer (10)

Right

602

The productId property of the account object.

AvailableBalance

integer (15)

Right

612

The availableBalance property of the account object. This field is zero-padded on the left side and two decimals will be assumed, e.g., 000000000002130 represents an amount of $21.30. -00000000002130 represents an amount of -$21.30.

PendingBalance

integer (15)

Right

627

The pendingBalance property of the account object. This field is zero-padded on the left side and two decimals will be assumed, e.g., 000000000002130 represents an amount of $21.30. -00000000002130 represents an amount of -$21.30.

AccountLockCode

string (3)

Right

642

The accountLockStatus property of the account object. Potential values:

  • UNL: Unlocked
  • CST: Locked by customer
  • SYS: Locked by system

AccountLockEffectiveDate

datetime (34)

Left

645

The AccountLockCode effective date. Follows same format as API.
Example: 2014-10-20T10:30:31.456-05:00
See data format guidelines