Models
Bank Statement
Documentation for the Bank Statement document model
Overview
The Bank Statement model (BANK_STATEMENT
) is designed to extract and structure information from US bank statements. It captures key details including bank information, account holder details, account balances, transactions, and checks.
Model Details
- Model ID:
BANK_STATEMENT
- Supported Locales:
en-US
- Version: GA
- Release Date: November 30, 2024
Schema Structure
The Bank Statement model extracts the following information:
Root Level Fields
Field | Type | Description |
---|---|---|
BankName | string | Listed name of the bank |
AccountHolderName | string | Name of the account holder |
AccountHolderAddress | string | Address of the account holder |
StatementStartDate | string (ISO date) | Start date of the bank statement |
StatementEndDate | string (ISO date) | End date of the bank statement |
Accounts | Account[] | Array of accounts on the statement |
Account Fields
Each account in the Accounts
array contains:
Field | Type | Description |
---|---|---|
AccountNumber | string | Account number on the bank statement |
AccountType | string | Type of account (e.g., “Checking”, “Savings”) |
EndingBalance | number | Ending balance for the statement period |
Transactions | Transaction[] | Array of transactions |
Transaction Fields
Each transaction in the Transactions
array contains:
Field | Type | Description |
---|---|---|
Date | string (ISO date) | Transaction date |
Description | string | Transaction description |
DepositAmount | number | undefined | Amount of deposit |
WithdrawalAmount | number | undefined | Amount of withdrawal |
Example Usage
Field Validation Rules
- All monetary amounts (balances, transaction amounts) must be non-negative numbers
- Account numbers and check numbers are stored as strings to preserve leading zeros
- Service fees default to 0 if not specified
- Check numbers in transactions are normalized to undefined if null or empty
- Transactions must have either a deposit amount or withdrawal amount (or neither), but not both