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
  • 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.
  • 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 — Pass 1 (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 as YYYY-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.



  • clientname — The name of your tenanted AWS instance
  • token — The token returned by Get Access Token
  • config — A value provided by Galileo
  • date — Statement date in MMYY format. The month corresponds to the first day of the statement period.
  • statementType — Type of statement to return:
    • G — GPR
    • D — DDA, including overdraft
    • S — Savings
  • outputjson
Example HTTP call

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 number
  • mmyy — 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. 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.
  • 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 or November 2023.
Field nameTypeLengthDescription
acct_noalphanumeric12 (PRN)
16 (PAN)
Either the Galileo PRN (savings) or a masked PAN with the format "XXXXXXXXXXXX9999"
addr1alphanumericAccount holder address, line 1. Example: "93713 Garfield Dr"
addr2alphanumericAccount holder address, line 2. Example: "Apt 814"
adjustmentsdecimal(11, 2)The sum of all adjustments made during the statement period. Can be a positive or negative number. Example: "-28.42"
begin_balancedecimal(11, 2)The account balance at midnight on the first day of the reporting period in Galileo system time. Example: "1498.21"
begin_datelong dateThe first day of the reporting period. Example: "November 01, 2023"
cityalphanumericThe account holder city of residence. Example: "SILENT HILL"
custom_titlealphanumericDefault title: "Account Statement". A custom title can be added to the config file to override this.
depositsdecimal(11, 2)The sum of all deposits (payments) made during the statement period. Always a positive number. Example: "1220.18"
end_balancedecimal(11, 2)The account balance at 23:59:59 on the last day of the reporting period in Galileo system time. Example: "10928.14"
end_datelong dateThe last day of the reporting period. Example: "November 30, 2023"
feesdecimal(11, 2)The sum of all fees charged during the statement period. Always a negative number. Example: "-9.35"
fullnamealphanumericThe account holder's first name followed by the account holder's last name. Example: "Lucy Lovelace"
mmyyinteger4The 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_yearalphanumericThe written-out month and year for the statement. Like the mmdd tag, it is the month that begins the period, when the cycle period spans a month boundary. Example: "November 2023"
prninteger12The PRN of the account. This number is meaningful only within Galileo and is used so that the security and confidentiality of the card PAN is protected. Example: "777777777777"
prog_namealphanumericThe account program description. Example: "Balance Financial by Galileo"
purchasesdecimal(11, 2)The sum of all point-of-sale purchases made during the statement period. Always a negative number. Example: "-19010.17”
statealphanumeric2 or 3The two-letter abbreviation of the account holder state of residence (in the U.S.) or the two-letter country abbreviation. Example: "OH" for Ohio
transactionslist0–n itemsA list of transactions. See the transactions fields table. If there are no transactions during the reporting period, the value is null.
transfersdecimal(11, 2)The sum of all transfers made during the statement period. Can be a positive or negative number. Example: "1013.52"
withdrawalsdecimal(11, 2)The sum of all ATM withdrawals or cash advances made during the statement period. Always a negative number. Example: "-1910.17”
ytd_feesdecimal(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"
zipalphanumericThe cardholder postal code. If there is no postal code on file, this will be an empty string. Example: "84122"

transactions fields

These fields are nested in the transactions object for each transaction, when transactions are present.

Field nameTypeLengthDescription
trans_dtMM/DD/YYYY10Transaction date. The date the transaction posted or settled. Example: "11/01/2023"
trans_descalphanumericTransaction description, such as a description for a point-of-sale purchase. For card transactions this is DE043. Example: "Smokey Kitchens Bakery, Fireweed, GA"
trans_typealphanumericTransaction type. A short description. Corresponds to the activity type. Example: "Visa settle"
amtdecimal(11, 2)Transaction amount. Can be a positive or negative number, depending on the type of transaction. Example: "482.79"
Example JSON statement
  "acct_no": "777777777777",
  "addr1": "70359 Forest Ave",
  "addr2": "Apt 472",
  "adjustments": "152.34",
  "begin_balance": "831.12",
  "begin_date": "November 01, 2023",
  "city": "BUNKER HILL",
  "deposits": "4350.12",
  "end_balance": "4719.03",
  "end_date": "November 30, 2023",
  "fees": "-3.43",
  "fullname": "Katie Carrillo",
  "mmyy": "1123",
  "month_year": "November 2023",
  "prn": "777777777777",
  "prog_name": "Balance Financial by Galileo",
  "purchases": "-442.34",
  "state": "MA",
  "transactions": [
    "amt": "-442.34",
    "trans_desc": "All Terrain Vehicles, Inc. Boston, MA",
    "trans_dt": "11/01/2023",
    "trans_type": "Visa settle"    
    "amt": "4350.12",
    "trans_desc": "Payroll Deposit",
    "trans_dt": "11/02/2023",
    "trans_type": "Payment" 
    "amt": "-3.43",
    "trans_desc": "Card-to-card fee",
    "trans_dt": "11/03/2023",
    "trans_type": "Fee" 
    "amt": "-168.78",
    "trans_desc": "ATM Withdrawal, LEXINGTON, MA US",
    "trans_dt": "11/03/2023",
    "trans_type": "Visa settle"
    "amt": "152.34",
    "trans_desc": "Loyalty Program Cashback",
    "trans_dt": "11/04/2023",
    "trans_type": "Adjustment"
  "transfers": "0.00",
  "withdrawals": "-168.78",
  "ytd_fees": "3.43",
  "zip": "02056"

Converting JSONs to PDFs

One way to convert JSON data to PDFs is to follow these steps:

  1. Convert the JSON into a format that can be used by an HTML Jinja template.
  2. Convert the Jinja template into raw HTML.
  3. 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.