AI-Process Bank Statement using n8n action
PDF4me AI-Process Bank Statement extracts structured data from bank statements using AI-powered machine learning through n8n automation workflows. Process bank statement PDFs or images via n8n triggers, binary data, base64 strings, or public URLs to automatically extract account information, transaction details, balances, fees, interest, recurring payment patterns, unusual transactions, spending analytics, and comprehensive financial insights with high accuracy and intelligent field recognition. This solution is ideal for bank statement processing automation, financial statement digitization, transaction analysis, bank reconciliation, cash flow management, spending analytics, automated accounting, and financial data extraction workflows that require AI-powered extraction with structured output and seamless integration.
Setup
Add the PDF4me "AI-Process Bank Statement" node to your n8n workflow and configure the required parameters. For initial setup instructions, see our n8n Integration Guide.
Prerequisites:
- PDF4me API credentials
- n8n workflow access
Configuration:
- Add PDF4me node to workflow
- Select "AI-Process Bank Statement" action
- Configure input parameters (see below)

Parameters
Complete list of parameters for the AI-Process Bank Statement action. Configure these parameters to control bank statement processing.
Important: Parameters marked with an asterisk (***) are required and must be provided for the action to function correctly.
| Parameter | Type | Description | Example |
|---|---|---|---|
| Input Data Type*** | String | Bank Statement Input Format Selection • Choose the format of your bank statement data input • PDF4me supports multiple input types • Options: Binary Data, Base64 String, or URL | Binary Data |
| Input Binary Field*** | Binary | Binary Bank Statement File Input (Required if Binary Data) • Reference bank statement file (.pdf, .png, .jpg, .jpeg) from previous n8n node or file upload • PDF4me processes binary bank statement files with automatic format detection and AI-powered data extraction • Required when Input Data Type is "Binary Data" | {{ $binary.data }} |
| Base64 Bank Statement Content*** | String | Base64 Encoded Bank Statement Input (Required if Base64 String) • Provide bank statement content (.pdf, .png, .jpg, .jpeg) as base64 encoded string for secure transmission • PDF4me automatically decodes and processes the bank statement content using AI technology • Required when Input Data Type is "Base64 String" | JVBERi0xLjQKJ... |
| Bank Statement URL*** | String | Public Bank Statement URL Input (Required if URL) • Provide a public/open permission URL to the bank statement file (.pdf, .png, .jpg, .jpeg) to be processed • PDF4me downloads and processes the bank statement file from the provided URL using AI technology • Required when Input Data Type is "URL" | https://abc.com/statement.pdf |
| Bank Statement Name*** | String | Bank Statement Input Filename • Specify the name of the input bank statement file with proper extension (.pdf, .png, .jpg, .jpeg) • PDF4me uses this for format detection and AI processing optimization | statement_2024_01.pdf |
| Bank Name | String | Optional Bank Name for Improved Parsing Accuracy • Specify bank name to enhance extraction precision • Helps AI engine optimize field recognition for specific bank formats • Improves accuracy when processing statements from known banks | Chase Bank |
| Analyze Patterns | Boolean | Pattern Analysis Enable • Enable or disable pattern analysis for recurring payments and unusual transactions • Yes = enables advanced pattern recognition and analysis • No = processes statement without pattern analysis • When enabled, extracts recurring payment patterns and identifies unusual transactions | Yes |
| Custom Field Keys | Array | Optional Custom Field Keys List • Optional list of custom field keys to extract from the bank statement • Specify additional fields beyond standard statement data • Supports multiple custom field keys for enhanced data extraction | ["customField1", "customField2"] |
Output
Output Parameters
| Parameter | Type | Description | Example |
|---|---|---|---|
| bankName | String | PDF4me extracted bank name - The name of the bank extracted from the bank statement | Chase Bank |
| accountHolderName | String | PDF4me extracted account holder name - The name of the account holder extracted from the bank statement | John Michael Smith |
| accountNumber | String | PDF4me extracted account number - The bank account number extracted from the bank statement | 1234567890 |
| accountType | String | PDF4me extracted account type - The type of bank account extracted from the statement (e.g., Checking, Savings) | Checking |
| branch | String | PDF4me extracted branch - The branch location or identifier extracted from the bank statement | New York Main Branch |
| statementNumber | String | PDF4me extracted statement number - The statement number or reference identifier extracted from the bank statement | STMT-2024-001 |
| statementPeriod | Object | PDF4me extracted statement period - Object containing statement period information with start date and end date (YYYY-MM-DD format) | {"startDate": "2024-01-01", "endDate": "2024-01-31"} |
| balances | Object | PDF4me extracted balances - Object containing balance information including opening balance, closing balance, total deposits, and total withdrawals | {"openingBalance": 5000.00, "closingBalance": 6750.00} |
| currency | String | PDF4me extracted currency - The currency code (ISO 4217) of the bank statement amounts (e.g., USD, EUR, INR) | USD |
| fees | Number | PDF4me extracted fees - The total fees charged during the statement period, with precise decimal handling | 5.00 |
| interest | Number | PDF4me extracted interest - The total interest earned during the statement period, with precise decimal handling | 2.50 |
| transactions | Array | PDF4me extracted transactions - Array of individual transactions with dates, descriptions, amounts, types, balances, categories, merchants, and reference numbers | [{"transactionDate": "2024-01-05", "description": "Direct Deposit", "amount": 3500.00}] |
| checksPaid | Array | PDF4me extracted checks paid - Array of checks paid during the statement period including check numbers, paid dates, amounts, payees, and descriptions | [{"checkNumber": "1234", "paidDate": "2024-01-12", "amount": 500.00}] |
| patterns | Object | PDF4me extracted patterns - Object containing pattern analysis results including recurring payments and unusual transactions | {"recurringPayments": [...], "unusualTransactions": [...]} |
| summary | Object | PDF4me extracted summary - Object containing summary analytics including total transactions, category summaries, average daily balance, largest credit, and largest debit | {"totalTransactions": 3, "categorySummary": {...}} |
| fallbackUsed | Boolean | PDF4me fallback indicator - Boolean flag indicating whether fallback extraction methods were used during processing | false |
| warnings | Array | PDF4me processing warnings - Array of warning messages indicating potential data quality issues or extraction challenges encountered during processing | [] |
| jobId | String | PDF4me processing job identifier - Unique identifier for the AI processing job, used for tracking and debugging purposes | 00000000-0000-0000-0000-000000000000 |
| jobIdExt | String | PDF4me external job identifier - External job identifier for integration with third-party systems, if applicable | null |
| success | Boolean | PDF4me AI extraction status indicator - Boolean flag indicating the success or failure of the AI-powered bank statement data extraction process. PDF4me returns true for successful extractions and false for any errors | true |
| message | String | PDF4me AI extraction status message - Descriptive message indicating the result of the AI-powered bank statement data extraction process. PDF4me provides clear status messages for successful extractions and detailed error information | Bank statement data extracted successfully using AI technology |
N8N Action Response
The PDF4me AI-Process Bank Statement API returns a JSON response with the following structure:
{
"bankName": "Chase Bank",
"accountHolderName": "John Michael Smith",
"accountNumber": "1234567890",
"accountType": "Checking",
"branch": "New York Main Branch",
"statementNumber": "STMT-2024-001",
"statementPeriod": {
"startDate": "2024-01-01",
"endDate": "2024-01-31"
},
"balances": {
"openingBalance": 5000.00,
"closingBalance": 6750.00,
"totalDeposits": 3500.00,
"totalWithdrawals": 1750.00
},
"currency": "USD",
"fees": 5.00,
"interest": 2.50,
"transactions": [
{
"transactionDate": "2024-01-05",
"description": "Direct Deposit - Salary",
"amount": 3500.00,
"type": "credit",
"balance": 8500.00,
"category": "Income",
"merchant": "Employer Corp",
"referenceNumber": "REF123456"
}
],
"checksPaid": [
{
"checkNumber": "1234",
"paidDate": "2024-01-12",
"amount": 500.00,
"payee": "ABC Corporation",
"description": "Invoice Payment"
}
],
"patterns": {
"recurringPayments": [
{
"merchant": "Electric Company",
"amount": 250.00,
"frequency": "Monthly",
"recurringDates": ["2024-01-10", "2024-02-10", "2024-03-10"]
}
],
"unusualTransactions": []
},
"summary": {
"totalTransactions": 3,
"categorySummary": {
"Income": {
"count": 1,
"totalAmount": 3500.00,
"averageAmount": 3500.00,
"percentage": 66.67
}
},
"averageDailyBalance": 6750.00,
"largestCredit": {
"largestTransactionDate": "2024-01-05",
"amount": 3500.00,
"description": "Direct Deposit - Salary"
},
"largestDebit": {
"largestTransactionDate": "2024-01-12",
"amount": 500.00,
"description": "Check Payment - ABC Corporation"
}
},
"fallbackUsed": false,
"warnings": [],
"jobId": "12345678-1234-1234-1234-123456789012",
"jobIdExt": "STMT-2024-001",
"success": true,
"message": "Bank statement data extracted successfully using AI technology"
}
Use Cases
Enterprise Financial Automation
- Bank Reconciliation: Automate bank reconciliation using extracted statement transactions
- Financial Reporting: Generate financial reports from extracted statement and transaction data
- Cash Flow Management: Monitor and analyze cash flows using extracted balance and transaction information
- Transaction Analysis: Analyze transaction patterns and trends from extracted statement data
AI-Powered Document Processing
- Multi-Format Support: Process PDF, PNG, JPG, and JPEG bank statement formats
- Multi-Language Processing: Extract data from bank statements in various languages
- Intelligent Field Recognition: Automatically identify and extract relevant statement fields
Business Intelligence and Analytics
- Spending Analytics: Analyze spending patterns from extracted transaction and category data
- Financial Dashboards: Build financial dashboards using extracted statement data
- Performance Metrics: Track processing accuracy and efficiency