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

PropertyData Type (Length)AlignmentStart PositionDescription
RecordTypestring (1)Left1The flag for the header row. Will always be H.
FileNamestring (50)Left2The name of this request file excluding path. Will be named following this pattern: yyyyMMddhhmm_ACCOUNTBALANCE.TXT
Example: 201410210148_ACCOUNTBALANCE.TXT
RecordCountinteger (10)Right52The number of records represented within the file. This field is zero-padded on the left side.
Example: 0000000872
FileCreatedDatedatetime (34)Left62The date the file was created. Follows same format as API. Example: 2014-10-20T10:30:31.456-05:00
See data format guidelines
FileEffectiveDatedatetime (34)Left96The 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

PropertyData Type (Length)AlignmentStart PositionDescription
CustomerIdinteger (10)Right1The 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
CustomerTagstring (50)Left11The 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.
AccountIdinteger (10)Right61The 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.
AccountTagstring (50)Left71The tag property of the account object.
AccountNamestring (50)Left121The name property of the account object.
AccountNumberstring (50)Left171The accountNumber property of the account object.
AccountTypestring (50)Left221The type property of the account object.
AccountStatusstring (50)Left271The status property of the account object.
AccountBalanceinteger (15)Right321The 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.
CreatedDatedatetime (34)Left336The createdDate property of the account object. Follows same format as API.
Example: 2014-10-20T10:30:31.456-05:00
See data format guidelines
ClosedDatedatetime (34)Left370The 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.
TargetDatedatetime (8)Left404The targetDate property of the account object. Follows YYYYMMDD format. October 10, 2014, would be represented as 20141020.
TargetAmountinteger (15)Right412The 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.
Categorystring (50)Left427The category property of the account object.
Subcategorystring (50)Left477The subCategory property of the account object.
TargetMetDatedatetime (34)Left527The targetMetDate property of the account object. Follows same format as API. Example: 2014-10-20T10:30:31.456-05:00
See data format guidelines
TargetMetPercentinteger (15)Right561The 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%.
IsPrimaryboolean (1)Left576The 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.
PrimaryCustomerIdinteger (10)Right577The 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.
InterestRatedecimal (15)Right587The interestRate property of the account object applicable for the effective date. Example: 000.01500000000 represents 1.5%
ProductIdinteger (10)Right602The productId property of the account object.
AvailableBalanceinteger (15)Right612The 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.
PendingBalanceinteger (15)Right627The 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.
AccountLockCodestring (3)Right642The accountLockStatus property of the account object. Potential values:
- UNL: Unlocked
- CST: Locked by customer
- SYS: Locked by system
AccountLockEffectiveDatedatetime (34)Left645The AccountLockCode effective date. Follows same format as API.
Example: 2014-10-20T10:30:31.456-05:00
See data format guidelines

{ "file_type": "fixed_length" }