API Documentation

Account Balance File

A listing of all accounts in CorePro 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
  • Were in an Open status for that entire date
  • Changed from an Open status to a Closed status on that date
i.e. Accounts in this file with a Closed status will not appear in files for subsequent dates.

Account Balance File Definition

This file is created by CorePro on a daily basis. It has the following properties:

  1. Fixed-length. Header row is 129 bytes excluding line endings. Each content row is 576 bytes excluding line endings.
  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
    • The date in the file name is the creation date of the file. The data it contains will typically be from the end of the previous day.
    • For example, if the file name is 201501080015_ACCOUNTBALANCE.TXT, the data it contains will usually -- but not necessarily -- apply to Jan 7 2015.
    • The header record contains an EffectiveDate field. This is the exact date to which the data pertains.
    • Root-relative path on sftp.corepro.io for that file would be: /AccountBalance/201501080015_ACCOUNTBALANCE.TXT

Format Disclaimer
Social Money 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:
  1. yyyyMMddhhmm_ACCOUNTBALANCE.TXT
  2. Example: 201410210148_ACCOUNTBALANCE.TXT
RecordCount integer (10) Right 52 The number of records represented within the file.
NOTE: This field is zero-padded on the left side. e.g.: 0000000872
FileCreatedDate datetime (34) Right 62 The date the file was created.
Follows same format as API e.g.: 2014-10-20T10:30:31.456-05:00. See date format details.
FileEffectiveDate datetime (34) Right 96 The date to which the data in the file pertains.
Follows same format as API e.g.: 2014-10-20T23:59:59.999-05:00. See date format details.

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.
NOTE: This field is zero-padded on the left side. e.g.: 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.
NOTE: This field is zero-padded on the left side. e.g.: 0008309285
This is NOT an accountNumber. It is the accountIdof 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 of the account object.
NOTE: This field is zero-padded on the left side, and two decimals will be assumed. e.g.: 000000000000832 represents an amount of $8.32.
CreatedDate datetime (34) Left 336 The createdDate property of the account object.
Follows same format as API e.g.: 2014-10-20T10:30:31.456-05:00. See date format details.
ClosedDate datetime (34) Left 370 The closedDate property of the account object.
Follows same format as API e.g.: 2014-10-20T10:30:31.456-05:00. See date format details
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. e.g.: October 10, 2014 would be represented as 20141020.
TargetAmount integer (15) Right 412 The targetAmount property of the account object.
NOTE: 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 e.g.: 2014-10-20T10:30:31.456-05:00. See date format details
TargetMetPercent integer (15) Right 561 The targetMetPercent property of the account object.
NOTE: 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.
NOTE: Y represents Yes (true) and N represents 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.

Example Account Balance File

Content: See 201503290910_ACCOUNTBALANCE.TXT
NOTE: Your browser or text editor may wrap the text to fit the window. Actual source file does not wrap.


Ready to start a conversation?

Email Us