Skip to main content
Monthly statements are generated as PDF files and stored securely, accessible via the API whenever your customers need them. This guide covers how to configure statement settings, generate statements for specific accounts and time periods, and retrieve existing statements.

What are account statements?

Account statements are monthly documents that summarize account activity for a specific period. Each statement includes account holder information and mailing address, beginning and ending balances for the statement period, and a detailed transaction history with dates, descriptions, and amounts. Statements also include a summary of deposits, withdrawals, and fees; interest earned and Annual Percentage Yield (APY) information where applicable; customer service contact information; and required regulatory disclosures. You can retrieve statements via the API or display them to customers directly through your application.

Key benefits

  • Regulatory compliance: Statements include required disclosures for Regulation E and other banking regulations
  • Customer transparency: Provide customers with a clear record of all account activity
  • Customizable branding: Add your logo, business name, and customer support information
  • Secure delivery: Statements are stored securely and accessed via authenticated API calls

How account statements work

Generate account statements in two steps:
  1. Configure statement settings: Create a Statement Config that defines your branding, contact information, and formatting preferences
  2. Generate statements: Use the Create Statement endpoint to generate statements for specific accounts and time periods
Treasury Prime automatically generates statements for all configured accounts on the 2nd of each month, covering the prior full calendar month. No API call is required.

Statement configuration

Before generating statements, create a statement configuration that includes:
  • Business information: Legal name and physical address
  • Customer support details: Phone number, email address, and support website
  • Branding: Logo file (PNG, JPEG, or TIFF format, scaled to fit 360x54 pixels)
  • APY display: Annual Percentage Yield as a percentage or custom text for tiered rates
  • Formatting options: Timezone for transaction dates, transaction ID display, authorized user display
  • Regulatory text: Footnotes and bank disclosure messages
Statement configurations can be created per account or shared across multiple accounts within your organization.

Generating statements

To generate a statement, call the Create Statement endpoint with:
  • account_id: The account for which to generate the statement
  • type: Statement type (currently only monthly is supported)
  • date: Statement date in YYYY-MM format
  • email_address, phone_number, support_url, org_legal_name: Required branding and contact fields
  • footnote: Required field for regulatory language, including Reg E customer complaint information
  • apy or apy_custom: One of these must be provided
  • interest_earned: Optional field to display interest earned on the account during the statement period
  • statement_template_id: Optional. ID of a custom statement template to use for rendering. Contact your Treasury Prime representative to set one up.
The API returns a statement object containing a url field that points to the generated PDF file.
Example request to generate a monthly statement
curl -X POST \
  -u $API_KEY_ID:$API_SECRET_KEY \
  https://api.treasuryprime.com/account/acct_1029384756/statement \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "monthly",
    "date": "2024-03",
    "email_address": "support@example.com",
    "phone_number": "+1 555-123-4567",
    "support_url": "https://support.example.com",
    "org_legal_name": "Example Financial Inc",
    "apy": "3.50",
    "footnote": "In case of errors or questions about your electronic transfers, call +1 555-123-4567 or write to support@example.com within 60 days of the statement date."
  }'
Example response with statement URL
{
  "account_id": "acct_1029384756",
  "type": "monthly",
  "date": "2024-03",
  "url": "https://api.treasuryprime.com/account/acct_1029384756/statement/file_11jq1f6w3h58v",
  "email_address": "support@example.com",
  "phone_number": "+1 555-123-4567",
  "support_url": "https://support.example.com",
  "org_legal_name": "Example Financial Inc",
  "apy": "3.50",
  "footnote": "In case of errors or questions about your electronic transfers, call +1 555-123-4567 or write to support@example.com within 60 days of the statement date."
}

Retrieving existing statements

To retrieve a previously generated statement, use the Get Statement endpoint:
curl -X GET \
  -u $API_KEY_ID:$API_SECRET_KEY \
  'https://api.treasuryprime.com/account/acct_1029384756/statement?type=monthly&date=2024-03'
The response contains the url field pointing to the PDF file. If no statement exists for the specified date, the API returns a 404 error.

Additional key points about account statements

Transaction display

Statements display transactions in chronological order with the following information:
  • Date: Transaction date in the configured timezone (defaults to UTC)
  • Description: Human-readable transaction description
  • Deposits: Credit amounts (displayed in the deposits column)
  • Withdrawals: Debit amounts (displayed in the withdrawals column)
  • Balance: Running account balance after each transaction
When show_transaction_ids is enabled, the Treasury Prime transaction ID appears alongside each transaction description.

Summary section

Each statement includes a summary showing:
  • Beginning balance at the start of the statement period
  • Total deposits for the period
  • Total withdrawals for the period
  • Total fees charged
  • Interest earned (if applicable)
  • Annual Percentage Yield (if applicable)
  • Ending balance at the end of the statement period

Fee breakdown (optional)

When enabled for your organization, statements can include a detailed fee breakdown table showing overdraft fees and returned item fees for both the current period and year-to-date totals. This feature requires the statement_fee_breakdown setting to be enabled for your organization. The fee breakdown appears as a separate section on the statement with:
  • Overdraft fees (monthly and year-to-date)
  • Returned item fees (monthly and year-to-date)
Contact your Treasury Prime representative to enable this feature for your organization.

Regulatory disclosures

Regulation E error resolution procedures and customer complaint information must be provided in the required footnote parameter, which appears as plain text at the bottom of the statement. The content of this field is subject to approval by your partner bank. The bank disclosure message appears in the footer of each page and defaults to “Account offered by [Bank Name] Member FDIC” unless customized via the bank_disclosure_message parameter.

Page breaks in footnotes

You can insert page breaks within the footnote field to split regulatory disclosures or other footnote content across multiple pages. To create a page break, include a form feed character (\f) in the footnote text at the location where you want the page break to occur. When a form feed character is present in the footnote, the statement generator splits the content at each form feed and places each section on a separate page. This is useful for lengthy regulatory disclosures or when you need to separate different types of footnote content.
Example footnote with page break
{
  "footnote": "First page of regulatory disclosures and important information.\f Second page of additional disclosures and terms."
}
The content before \f appears on one page, and the content after \f appears on the next page. You can include multiple form feed characters to create multiple page breaks.

Important considerations

  1. Automatic generation: Treasury Prime automatically generates statements for all ledger accounts on the 2nd of each month, covering the prior full calendar month. If you manually generate a statement for a specific month before the automatic generation runs, the system skips automatic generation for that account and month to prevent duplicates.
  2. Statement period: Monthly statements cover transactions from the first day to the last day of the specified month. The statement date parameter uses YYYY-MM format.
  3. Future dates not allowed: Statements cannot be generated for future months. Requests with future dates return an error.
  4. Configuration requirements: A statement configuration is required for automatic monthly generation on the 2nd of each month. When manually generating statements via the API, you can either use an existing statement configuration or provide all required fields directly in the request body.
  5. APY requirements: Either apy or apy_custom must be provided when generating statements. Use apy for simple percentage rates or apy_custom for tiered or complex rate structures.
  6. Logo format: Logo files must be PNG, JPEG, or TIFF format. Images are automatically scaled to fit within a 360x54 pixel region while preserving aspect ratio.
  7. Timezone handling: Transaction timestamps are formatted according to the timezone parameter (defaults to UTC). Use canonical timezone strings from the tz database (e.g., America/New_York).
  8. Authorized users: When display_authorized_user is enabled, persons with the authorized_user role appear above the owner name on the statement in the format [Authorized User Name], Representative Payee for [Owner Name].
  9. Bank approval required: Statement content, including footnotes and disclosure messages, is subject to approval by your partner bank.
  10. Sandbox testing: In the Sandbox environment, statements contain example transactions that do not correspond to actual account activity. See Statement Testing for details.
  11. Statement storage: Generated statements are stored securely and remain accessible via the API. Statements are not automatically deleted.