Bank Statements
A bank statement is a list of all transactions for a bank account over a set period, usually monthly. The statement includes deposits, charges, withdrawals, as well as the beginning and ending balance for the period. This API only supports USA Banks
The
type
parameter isus_bank_statement
for the Upload endpoint.
Field Descriptions:
The model automatically detects data such as:
Information Category | Field Name | Data Type | Description |
---|---|---|---|
Basic Information | Account Name | String | Account holder's name |
Basic Information | Account Number | String | Account number |
Basic Information | Bank Name | String | Bank name |
Basic Information | Opening Balance | Number | Opening account balance |
Basic Information | Closing Balance | Number | Closing account balance |
Basic Information | Start Date | Date | Start date of the account |
Basic Information | End Date | Date | End date of the account |
Basic Information | Account Address | String | Address associated with account |
Basic Information | Account Type | String | Type of account |
Basic Information | Tally Check | String | Tally check |
Basic Information | Document Type | String | Type of document |
Error | Error Message | String | Error message description |
Transactions | Line Items | Table | List of transaction line items |
date | String | Transaction date | |
check_no | String | Check number | |
description | String | Transaction description | |
debit | String | Debit amount | |
credit | String | Credit amount | |
balance | String | Balance after transaction | |
amount | String | Transaction amount | |
type | String | Transaction type | |
category | String | Transaction category | |
subcategory | String | Transaction subcategory | |
merchant | String | Merchant information |
Features and Coverage
Features
- Transaction Tables Recognition: The API accurately identifies and picks up transaction tables from the input data.
- Duplicate Data Removal: The API effectively removes any duplicated check data, ensuring clean and unique information.
- Automated Processing: The API utilizes opening and closing balances to process documents without human intervention, increasing efficiency.
- Balance Tables Utilization: The API also picks up balance tables and uses them for post-processing tasks.
- Comprehensive Checks: The API performs three types of balance checks – daily balance, running balance, and opening/closing balance checks, ensuring accurate and reliable results.
Limitations
- Page Limitations: The API can process individual files with a maximum of 25 pages and combined files with a maximum of 400 pages.
- Table Requirements: Tables must have a Date column and either a Description or Check No. column for the API to recognise and process them.
- Amount Specifications: The API supports three ways of specifying amounts in tables: single amounts with +/- signs, separate debit and credit columns, and amounts with debit or credit specified by the title.
- Title Locations: The API can recognize titles placed above the table, on the left of the table, between lines indicating the type of data that follows, or in a dedicated title column within the table.
- Additional Columns: The API can utilize extra columns for other purposes, such as a balances column for tallying running balances. However, these columns may not be supported for all functionalities.
Our API does not fully support Credit Cards and Credit Unions. Rest assured, our development team is actively working on extending our capabilities to include these financial documents. As we continue to enhance and expand our offerings, we will promptly notify our valued users once support for Credit Cards and Credit Unions is implemented.
Coverage
While we showcase compatibility with a select list of banks, our API is engineered with a generic framework, empowering it to support data extraction from a vast array of financial institutions that we may not have explicitly tested on.
If you encounter a situation where the bank you intend to work with is not listed, or if the extraction process is not functioning as expected, please do not hesitate to reach out to our dedicated support team. We are committed to assisting you with any necessary customizations that will accommodate your specific requests and ensure a seamless integration with the financial institution of your choice.
Actors Federal Credit Union
Addition Financial Credit Union
Affinity Credit Union
Ahli United Bank of Kuwait
All In Credit Union
Ally Bank
Amalgamated Bank
AmegyBank of Texas
American Airlines Credit Union
American Express
Ameriprise Financial
Apple Bank
Arvest
Assiniboine Credit Union
Astoria Bank
ATB Financial
Atlantic Union Bank
axos ΒΑΝΚ
Bank Maybank Indonesia
Bank of America
Bank of Hawaii
Bank of Jersey
Bank of Marin Bancorp
Bank of Montreal
Bank of Scotland
Bank of the West
Bank United
BankPlus
BAR HARBOR BANK & TRUST
Barclays
BB&T (Branch Banking and Trust Company)
BECU
Bethpage Federal Credit Union
Blue Ridge Bank
BMO Bank
BMO Financial Group
BMO Harris Bank
BNY MELLON
Bremer Bank
California Coast Credit Union
Canadian Western Bank
Capital One
Carter Bank & Trust
Carver Federal Savings Bank
Cathay Bank
Cecil Bank
Central Bank
Charles Schwab
Chase
CIBC
Citibank
Citizens Bank
City Employees Credit Union
City National Bank
Coast Central Credit Union
Columbia Bank
Comerica Bank
Commerce Bank
Community America CREDIT UNION
Community FEDERAL CREDIT UNION Kelly
Conexus Credit Union
CONGRESSIONAL FEDERAL
Coutts
Credit Suisse
Credit Union Of Texas
DBank
Delta Community Credit Union
Deutsche Bank
Digital Federal Credit Union
Dime Community Bank
East West Bank
Eastern Bank
Elevations Credit Union
Emprise Bank
ENT
EQ Bank
ESL Federal Credit Union
Federal Savings Bank
Fifth Third Bank
First American Bank
First Citizens Bank
First Farmers Bank and Trust
First Hawaiian Bank
First Horizon Bank
First National Bank
First State Bank
FirstBank Holding Co
FirstOntario
Flushing Bank
Frisco Texas Republic Bank
Frost Bank
Fulton Bank
Gesa Credit Union
Grasshopper Bank
Greeneville Federal Bank
Gulf & Fraser
HALIFAX
HSBC
Huntington National Bank
ID Bank
Innovation Credit Union
JPMORGAN CHASE & Co.
JPMorgan Chase Bank
Key Bank
La Mission Federal Credit Union
Langley Federal Credit Union
LAW ENFORCEMENT
Liberty Bank
Libro Credit Union
Lincoln Savings Bank
Live Oak Bank
LLOYDS BANK
M&T Bank
Marcus By Goldman Sachs
Mascoma Bank
Mcu Municipal Credit Union
Merchants Bank
MERCURY
Meridian Bank
Merrick Bank
Metro Bank
MidFirst Bank
MIDFLORIDA Credit Union
Mission FED CREDIT UNION
Mountain America Credit Union
Municipal Credit Union
NatWest
Navy Federal Credit Union
Nevada State Bank
New York Community Bank
Northrim Bank
Novo
ONE Bank PLC
OREGONIANS CREDIT UNION
Partners Federal Credit Union
Pathward
Peach State Federal Credit Union
PlainsCapital Bank
PNC Bank
PNC Financial Services
Popular Bank
Prosperity Bank
Provident Credit Union
PROVINCIAL CREDIT UNION LIMITED
PSECU
Raymore Credit Union
RBC (Royal Bank of Canada)
RBFCU
Regions Bank
Regions Financial Corp
Ridgewood Savings Bank
Robins Financial Credit Union
Royal Bank of Canada
Salem Five
Santander Bank
Scotiabank
Seattle Credit Union
Servus Credit Union
South State Bank
SPACE COAST CREDIT UNION
STAR ONE CREDIT UNION
Starling Bank
Sterling National Bank
SunTrust
Synchrony
Tampa Bay Federal Credit Union
Tangerine
TD Bank
TDECU YOUR CREDIT UNION
Texas Bank and Trust
Texas Capital Bank
Texas Republic Bank
Texas Trust Credit Union
The Bank of New York Mellon
The Northern Trust Company
TIAA
Travis Credit Union
Truist
Truliant Federal Credit Union
U.S. Bank
UMB
UnionBank
United Bank
United Texas Credit Union
USAA Federal Savings Bank
Utah Community CREDIT UNION
Vancity
Varo Bank
VE DBank Americas Most Convenient Bank
VIRGINIA Credit Union
VyStar Credit Union
Wachovia
Webster Bank
Wells Fargo
WesBanco
West Texas National Bank
Windsor Federal
Woodforest National Bank
Yampa Valley Bank
Version
- 1.1.0
Error Codes
Error | Description | Action |
---|---|---|
Error in Server | Something failed on the server side | Contact the support team |
ERR_TRANSACTION_DISCREPANCY_XX | Discrepancy identified in transactions list | Look for a table with review required cells, correct the value, re-run the validation |
ERR_OPENING_CLOSING_BALANCE_DISCREPANCY | No discrepancy in transactions found, so likely the opening and closing balance was wrong | Update the opening closing balance, re-run the validation |
For Acc: 0 ERR_TALLY_PASSED, For Acc: 1 ERR_TRANSACTION_DISCREPANCY | Account wise error list | Take action according to the error message corresponding to the account |
Error Codes details
Format of the error message:
ERR_<MESSAGE>_<METAINFO>
e.g. ERR_TRANSACTION_DISCREPANCY_01
**Inference -> Document was extracted through bank statement and there was some discrepancy in transaction that was verified.
METAINFO identifies what extractors were used and can be used by developers for quick debugging in case of issues or bugs. For all practical purposes, clients can ignore this metainfo and discard it by discarding last two numeric digits of the error message
Type of Extractor | Code |
---|---|
Bank Statement Extraction | 01 |
Credit Card Extraction | 02 |
Consolidated Extraction | 03 |
Delta Community Special Extraction | 11 |
Waukesha Special Extraction | 12 |
MESSAGE will give more information of the status of the extraction
ERR_TRANSACTION_DISCREPANCY
there was some discrepancy in the transactions which has been marked
ERR_OPENING_CLOSING_BALANCE_DISCREPANCY
the opening and closing balance were not extracted confidently, we were not able to mark the discrepancy in the transactions.
Consolidated Statements -
The error message formatting remains the same. The only difference is that a consolidated statement, will have information pertaining to multiple account types, the error messages would reflect the value for individual account type.
E.g.
Lets say we have two account types in a given document. One account type passed the Tally check while other had issue in transactions, then the message should look like this-
For Acc: 0 ERR_TALLY_PASSED, For Acc: 1 ERR_TRANSACTION_DISCREPANCY
Sample
Sample Json Output
{
"data": {
"Basic Information": {
"Account Name": {
"value": "",
"position": [],
"confidence": 1.0,
"review_required": false
},
"Account Number": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"Bank Name": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"Opening Balance": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"Closing Balance": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"Start Date": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"End Date": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"Account Address": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"Account Type": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"Tally Check": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"Document Type": {
"value": "auto",
"position": [],
"confidence": 1.0,
"review_required": false
}
},
"Error": {
"Error Message": {
"value": "E_FILE_IO",
"position": [],
"confidence": 0,
"review_required": true
}
},
"Transactions": {
"Line Items": [
{
"date": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"check_no": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"description": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"debit": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"credit": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"balance": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"amount": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"type": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"category": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"subcategory": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
},
"merchant": {
"value": "",
"position": [],
"confidence": 0,
"review_required": true
}
}
]
}
}
}
Updated 9 months ago