bank account statement
extraction api.
A savings, current, CC or OD account statement from an Indian bank: account details at the top, then a table of transactions with a running balance, often followed by a summary of totals. Column names differ by bank (Withdrawal / Debit / Dr, Deposit / Credit / Cr, Balance / Closing Balance). A consolidated statement carries several accounts, each with its own header, table and summary. Pages also carry tables that are not transactions (relationship summaries, linked loans and deposits, reward points), which are left out.
the fields.
Rename any of them, drop the ones you don't need, or add the one your form asks for. Each comes back with the text it was read from.
| field | key | type | notes |
|---|---|---|---|
| Account holder | account_holder | Name | — |
| Bank | bank_name | Text | — |
| Statement from | period_from | Date | — |
| Statement to | period_to | Date | — |
| Accounts | accounts | Table | One row each: Account number, Account type, IFSC, Branch, Opening balance, Closing balance, Total debits, Total credits, Debit count, Credit count |
| Transactions | transactions | Table | One row each: Account, Date, Value date, Narration, Cheque / ref no, Withdrawal, Deposit, Balance |
a bank account statement in,
json back.
Publish the recipe as a workflow and send it files. Each field returns its value, a clean normalised version, its status, the page and the source text.
curl https://api.patrapi.com/v1/workflows/wf_bank/extractions \
-H "Authorization: Bearer $PATRAPI_KEY" \
-F file=@bank-statement.pdf{ "status": "completed",
"document_type": "bank_statement",
"fields": {
"account_holder": { "value": …, "status": "present", "page": 1 },
"bank_name": { "value": …, "status": "present", "page": 1 },
"period_from": { "value": …, "status": "present", "page": 1 },
"period_to": { "value": …, "status": "present", "page": 1 },
… 2 more
} }