Statements
A statement is an official summary of financial transactions that occurred within a given period for a bank account held by a person or business. Statements are commonly used by account holders to monitor cash flow, check for possible fraudulent transactions, and perform bank reconciliations. Most Galileo clients deliver statements electronically, with some offering a paper option. Issuers in the United States are typically required to send a statement for an account only if one transaction has been made on the account during the statement period.
What's in a statement?
Because a statement is a report of account activity, statements should display activity summaries (debits, credits, fees) as well the details of each transaction that took place during the statement period. Statements should also display the account balance as of the statement date, fee totals, and any interest with the interest rate.
Statement options
As a Galileo client you have these options to provide statements:
- Create statements from the RDFs — Use this option if you want to customize your statements beyond what Galileo offers or to provide statements for credit accounts. See Creating Statements from the RDFs for guidelines.
- Obtain JSON statement data from Galileo — Use this option if you want to create basic statements for debit accounts using JSON files. Continue reading for instructions.
Obtaining statements from Galileo
Galileo currently offers statement data for these account types:
- DDA plus overdraft
- Savings / Interest
- GPR
If account holders have all three account types, for example, then Galileo would generate three statements per month for them.
Keep the following in mind:
- Amounts shown are always in the currency in which the account is based, not the currency at the point of sale.
- Statement periods begin at midnight on the first day of the statement cycle and end at 23:59:59 on the last day according to Galileo system time.
- Galileo stores your statement data for two years.
Retrieving statements on-demand
You can retrieve individual account statement data in your interface by calling Get Access Token and then assembling an HTTP call.
Get Access Token call
These parameters are required for the Get Access Token call:
accountNo
— Use the PRN of the account.type
— Pass1
(account)
Galileo returns these values:
token
— A case-sensitive alphanumeric string, for example,hpSVyayQScHmhJS6_MVXT1WlsFRQoDJrRu_fi_JlX2Jo2dgg5p
expires
— The date/time the token expires, formatted asYYYY-MM-DD hh:mm:ss
The default expiry is 300 seconds and/or 3 attempts. You can change default token-expiry parameters with the TSECV and TUSEC product parameters.
HTTP request for the statement
With the token assemble an HTTP call to retrieve the statement data, as shown in the example. The URL in the example is for an AWS instance that Galileo provisions for each client. If you do not already have an AWS URL, request one from Galileo This example is for the CV environment. For Production change the cv
in the URL to pd
.
https://asset-[clientname].cv.gpsrv.com/asset/statement/account?token=[token]&config=[config]&date=[mmyy]&statementType=[type]&output=json
where:
clientname
— The name of your tenanted AWS instancetoken
— The token returned by Get Access Tokenconfig
— A value provided by Galileodate
— Statement date in MMYY format. The month corresponds to the first day of the statement period.statementType
— Type of statement to return:G
— GPRD
— DDA, including overdraftS
— Savings or interest-bearing account
output
—json
Example HTTP call
https://asset-clientname.cv.gpsrv.com/asset/statement/account?token=qXWUhQL8zwi3uJTykXuInGw7JbVoGf30bhPMNJLlc_nZekwvAQ&config=test&date=0118&statementType=G&output=json
Galileo returns a JSON of the statement data, which you can present electronically or merge into a PDF template. You can print the PDFs on paper for those account holders who have opted out of electronic statements.
Each JSON file name has this format, stmt_PRN_mmyy[_esign].json
, where:
PRN
— The account's payment reference numbermmyy
— The month and year of the starting date of the statement_esign
— Appended when the account holder has opted in to electronic statements
JSON fields
The JSON file that Galileo returns for each statement contains the fields in the table below. Most of the data are formatted as strings (enclosed in double quotation marks), and within those strings are these data types:
- alphanumeric — A–Z, a–z, and 0–9
- $decimal – $999999999.99. Up to nine digits plus two decimal places, making 11 digits total. Specified as (11, 2). No comma separation for thousands. $1000 is formatted as
$1000.00
instead of$1,000.00
, and a negative value is-$1000.00
. - integer — Whole number with no decimal.
- list — Nested JSON list.
long date — A date with the month spelled out and the four-digit year:November 01, 2023
orNovember 2023
.
Field name | Type | Length | Description |
---|---|---|---|
acct_no | alphanumeric | 12 (PRN) 16 (PAN) | Either the Galileo PRN (savings) or a masked PAN with the format "XXXXXXXXXXXX9999" |
addr1 | alphanumeric | Account holder address, line 1. Example: "93713 Garfield Dr" | |
addr2 | alphanumeric | Account holder address, line 2. Example: "Apt 814" | |
bal_id | integer | Balance ID (Galileo account number). The identifier for the account that was transacted on. Example: 3556 | |
begin_balance | $decimal | (11, 2) | The account balance at midnight on the first day of the reporting period in Galileo system time. This is the total of all posted transactions, without pending transactions subtracted out. Example: "$1498.21" |
begin_date | long date | The first day of the reporting period. Example: "November 01, 2023" | |
business_name | VARCHAR2 | Name on the business account. Example: "K&L Nursery" | |
cancel_date | YYYY-MM-DDT00:00:00 | Cancelation date and time. | |
city | alphanumeric | The account holder city of residence. Example: "Silent Hill" | |
deposits | $decimal | (11, 2) | The sum of all deposits (payments) made during the statement period. Always a positive number. Example: "$1220.18" |
end_balance | $decimal | (11, 2) | The account balance at 23:59:59 on the last day of the reporting period in Galileo system time. This is the total of all posted transactions, without pending transactions subtracted out. Example: "$10928.14" |
end_date | long date | The last day of the reporting period. Example: "November 30, 2023" | |
fullname | alphanumeric | The account holder's first name followed by the account holder's last name. Example: "Lucy Lovelace" | |
is_business_prod | alphabetic | 1 | Whether the prod_id is a business product: Y (business product) or N (not a business product. Example: N |
mmyy | integer | 4 | The abbreviated month and year for the statement. For cycle-date statements that span a month boundary, it is the month when the period begins. For example, if the cycle billing period goes from November 5 through December 4, 2023, the value is "1123" , not "1223" . |
month_year | alphanumeric | The written-out month and year for the statement. Like the mmyy field, it is the month that begins the period when the cycle period spans a month boundary. Example: "November 2023" | |
od_per_fees | $decimal | Overdraft fees for the period. Always a negative number. Example: "-$5.00" | |
od_ytd_fees | $decimal | Year-to-date overdraft fees. Always a negative number. "-$10.00" | |
per_beg_dt | YYYY-MM-DDThh:mm:ss | Beginning date for the statement period in Galileo system time. | |
per_end_dt | YYYY-MM-DDThh:mm:ss | Ending date for the statement period in Galileo system time. | |
period_fees | $decimal | Fees paid during the period. Always a negative number. Example: "-$22.50" | |
prn | string | 12 | The PRN of the account. Example: "777777777777" |
prod_id | integer | The number Galileo assigns to the product for this account. Example: 4444 | |
prog_name | alphanumeric | The account program description. Example: "Balance Financial by Galileo" | |
purchases | $decimal | (11, 2) | The sum of all point-of-sale purchases made during the statement period. Always a negative number. Example: "-$19010.17” |
ri_per_fees | $decimal | Returned ACH debit fees for the period. Example: "3.50" | |
ri_ytd_fees | $decimal | Year-to-date returned ACH debit fees. Example: "38.50" | |
start_balance | $decimal | The available balance as of 00:00 on the first day of the statement period. Example: "$245.67" | |
state | alphanumeric | 2 or 3 | The two-letter abbreviation of the account holder state of residence (in the U.S.) or the two-letter country abbreviation. Example: "OH" for Ohio |
statement_title | alphanumeric | Default title: "Account Statement" . A custom title can be added to the config file to override this. | |
stmt_type | alphabetic | 1 | Type of statement: D (debit account), |
suppress_od | Boolean | Whether overdraft is suppressed: true or false | |
transactions | list | 0–n items | A list of transactions. See the transactions fields table. If there are no transactions during the reporting period, this list is not populated. |
ytd_fees | $decimal | (11, 2) | Year-to-date fees. The sum of all fees charged from January 1 through the end of the statement period. Always a negative number. For cycle periods that span a year boundary (Dec to Jan), this field includes only those fees charged from January 1 through the period end date. Example: "-$100.09" |
zip | alphanumeric | The account holder postal code. If there is no postal code on file, this will be an empty string. Example: "84122" |
transactions
fields
transactions
fieldsThese fields are nested in the transactions
object for each transaction, when transactions are present.
Field name | Type | Length | Description |
---|---|---|---|
act_type | alphabetic | 2 | See Activity Type for possible values. Example: "VI" |
amt | $decimal | (11, 2) | Transaction amount. Can be a positive or negative number, depending on the type of transaction. Example: "-$482.79" |
otrans_dt | YYYY-MM-DDThh:mm:ss | The date-time the transaction posted or settled in Galileo system time. Example: "2023-11-01T13:22:45" | |
otype | alphanumeric | 4 | See Transaction Types for possible values. Example: "W" |
running_balance | $decimal | The available balance after this transaction took place. Example: "$75.00" | |
source_id | integer | Identifier that maps back to the original transaction, such as authorization ID, payment ID, adjustment ID or ACH transaction ID. Example: 23944 | |
trans_desc | alphanumeric | Transaction description. For card transactions this is DE043, and for others it corresponds to the act_type . Example: "Smokey Kitchens Bakery, Fireweed, GA" or "Retail Load" | |
trans_dt | MM/DD/YYYY | 10 | Transaction date. The date the transaction posted or settled in Galileo system time. Example: "11/01/2023" |
Example JSON statement
{
"acct_no": "777777777777",
"addr1": "123 Maple St",
"addr2": "",
"bal_id": 88888,
"begin_balance": "$0.00",
"begin_date": "November 23, 2022",
"business_name": null,
"cancel_date": null,
"city": "Oak Park",
"deposits": "$100.00",
"end_balance": "$0.00",
"end_date": "November 30, 2022",
"fullname": "Adela Martinez",
"is_business_prod": "N",
"mmyy": "1122",
"month_year": "November 2022",
"od_per_fees": "$0.00",
"od_ytd_fees": "$0.00",
"per_beg_dt": "2022-11-01T00:00:00",
"per_end_dt": "2022-11-30T23:59:59",
"period_fees": "$0.00",
"prn": "777777777777",
"prod_id": 4444,
"prog_name": "MoneyProgram",
"purchases": "$50.00",
"ri_per_fees": "$0.00",
"ri_ytd_fees": "$0.00",
"start_balance": "$0.00",
"state": "CA",
"statement_title": "Account Statement",
"stmt_type": "D",
"suppress_od": false,
"transactions": [
{
"act_type": "PM",
"amt": "$100.00",
"otrans_dt": "2022-11-23T00:00:00",
"otype": "RL",
"running_balance": "$100.00",
"source_id": 134,
"trans_desc": "Retail Load",
"trans_dt": "11/23/2022"
},
{
"act_type": "VS",
"amt": "-$25.00",
"otrans_dt": "2022-11-23T00:00:00",
"otype": "M",
"running_balance": "$75.00",
"source_id": 286,
"trans_desc": "Eastern Clothier",
"trans_dt": "11/23/2022"
},
{
"act_type": "AD",
"amt": "-$25.00",
"otrans_dt": "2022-11-23T00:00:00",
"otype": "M",
"running_balance": "$50.00",
"source_id": 41,
"trans_desc": "Card to Card to Marco Martinez",
"trans_dt": "11/23/2022"
}
],
"ytd_fees": "$0.00",
"zip": "12345"
}
Converting JSONs to PDFs
One way to convert JSON data to PDFs is to follow these steps:
- Convert the JSON into a format that can be used by an HTML Jinja template.
- Convert the Jinja template into raw HTML.
- Use a third-party tool to convert the HTML to PDF.
You may find other ways to port JSON data to a PDF template as suits your use case. Your JSON-to-PDF conversion must include the following elements: header, footer, and legal disclaimers.
Updated 3 months ago