Skip to main content

AI-Process Bank Statement in Make

What this module does

PDF4me AI-Process Bank Statement extracts structured financial data from PDF or image bank statements inside your Make scenario using AI. Supply a statement and the module returns bank name, account details, statement period, opening and closing balances, a complete transactions array, checks paid, recurring payment patterns, and category summary analytics, ready for bank reconciliation, cash-flow forecasting, accounts receivable matching, fraud detection, and lending or credit-decision workflows. No template setup. Works with statements from major US, UK, European, Indian, and Canadian banks, including multi-page statements with 50+ pages of activity.

Related Blog Posts
No blog post yet for this feature — coming soon.
In the meantime, browse the PDF4me blog for tutorials and workflows across every platform.
Visit the blog

Authenticating Your API Request

Every PDF4me module in Make requires a valid Connection. Create or select one that holds your PDF4me API key so the scenario can authenticate AI bank statement extraction requests securely.

Important Facts You Should Not Miss

Full transactions array, every line item across every page
The AI processes the entire PDF as a single coherent statement and returns every transaction in chronological order. Even 50+ page statements with hundreds of transactions are extracted in one call, no manual page splitting required.
Automatic pattern detection for recurring payments
The patterns object identifies subscriptions, payroll runs, regular bills, and other recurring transactions without manual rules. Use for subscription auditing, cash-flow forecasting, and detecting unexpected recurring charges before they snowball.
Works across major global bank formats
Chase, Wells Fargo, HSBC, Barclays, Deutsche Bank, HDFC, ICICI, RBC, and dozens more major banks are supported out of the box. Both online-banking PDF downloads and photographed paper statements are accepted in PDF, PNG, JPG, or JPEG format.
Make PDF4me AI-Process Bank Statement module configured with Connection set to My PDF4me connection, File set to Map with Statement Name and Document mapped from the previous file download step, ready to extract account holder, statement period, balances, transactions, and recurring payment patterns

Set File to Map, wire Statement Name and Document from the prior module. Output exposes the full transactions array, balances, checksPaid, patterns, and summary analytics for reconciliation workflows.

Parameters

Required: Connection, Statement Name, and Document must always be provided. The matching input field (Binary Property, Base64 Content, or Statement URL) is required based on the chosen Input Data Type.

ParameterRequiredWhat it doesExample
ConnectionYesPDF4me API connection. Click Add and paste your API key the first time. Reused automatically across all PDF4me modules in your scenarios.My PDF4me connection
Input Data TypeYesHow the statement file is supplied. Binary Data reads from a previous module (most common). Base64 String accepts encoded payloads. URL downloads from a public link.Binary Data
Input Binary FieldConditionalBinary content of the bank statement. Required when Input Data Type is Binary Data. Wire from Dropbox, Google Drive, OneDrive Data field, or any email/HTTP module that returns file bytes.1. Data
Base64 Statement ContentConditionalBase64-encoded statement content. Required when Input Data Type is Base64 String. Useful for statements arriving via secure webhook or API integration.JVBERi0xLjQK...
Statement URLConditionalPublic URL to the statement file. Required when Input Data Type is URL. The URL must not require authentication.https://example.com/statement.pdf
Statement NameYesFilename of the statement with proper extension (.pdf, .png, .jpg, .jpeg). Used for format detection and AI processing optimization.statement-jan-2024.pdf

Output Fields

FieldTypeWhat it contains
bankNameStringName of the issuing bank as printed on the statement header.
accountHolderNameStringName of the account holder.
accountNumberStringBank account number (may appear masked depending on the bank).
accountTypeStringType of bank account: Checking, Savings, Money Market, Credit Card, etc.
statementPeriodObjectObject with startDate and endDate (ISO 8601) defining the statement window.
balancesObjectObject containing openingBalance, closingBalance, totalDeposits, and totalWithdrawals for the period.
currencyStringCurrency code in ISO 4217 format (USD, EUR, GBP, INR, etc.).
transactionsArrayArray of every transaction in chronological order. Each entry contains date, description, amount, and type (debit or credit).
checksPaidArrayArray of cheques paid during the statement period: useful for cheque-to-statement reconciliation when paired with AI-Process Bank Cheque.
patternsObjectPattern analysis identifying recurring transactions (subscriptions, payroll, regular bills) by merchant, amount, and interval.
summaryObjectSummary analytics with category totals (groceries, utilities, payroll, transfers, etc.) and aggregate metrics.
successBooleanTrue if the AI extraction completed successfully; false if it failed.
messageStringHuman-readable status message confirming success or describing the error.

Quick Setup

  1. Add PDF4meAI-Process Bank Statement to your Make scenario.
  2. Select Connection (or click Add to create one with your PDF4me API key).
  3. Choose Input Data Type: Binary Data for files from a previous module, Base64 String, or URL.
  4. Under File, choose Map to reveal Statement Name and Document fields.
  5. Map Statement Name to the filename with extension (.pdf, .png, .jpg, or .jpeg).
  6. Map Document to the binary content from the source module: typically the Data field of Dropbox, Google Drive, OneDrive, or email attachment modules.
  7. Click Save and run the scenario. Wire the output bundle into QuickBooks, Xero, Airtable, Google Sheets, or any reconciliation system. Use an Iterator over transactions to process each line individually.

Workflow Examples

Workflow ExamplesCommon Make scenario patterns using AI-Process Bank Statement.
Monthly statement → AI parse → automated reconciliation
  1. A scheduled trigger fires on the 5th of every month to process the previous month's bank statement after it has been downloaded to Dropbox.
  2. AI-Process Bank Statement extracts balances, transactions, and checksPaid for the full period.
  3. A Make Iterator loops over transactions. For each transaction, a QuickBooks search step looks for a matching transaction by amount and approximate date.
  4. Matched transactions are marked Reconciled in QuickBooks. Unmatched transactions are routed to a Google Sheets exceptions tab for the bookkeeper to review.
  5. A Slack summary message reports the reconciliation outcome, total matched, total unmatched, and any patterns detected (e.g. new recurring charges that need investigation).
Lending application → bank statement parse → credit decision
  1. An applicant uploads 3 months of bank statements via a lending portal webhook into Make.
  2. AI-Process Bank Statement runs on each statement. The summary object provides category totals (income, rent, debt service); the patterns object identifies recurring income and obligations.
  3. A Tools Set Variable step calculates a debt-to-income ratio from the extracted recurring income vs recurring debt payments.
  4. A Router branches on the DTI ratio. Applications under 35% auto-approve; 35-45% require manual review; above 45% auto-decline with a follow-up email explaining requirements.
  5. The full transaction array is stored in Snowflake or BigQuery for compliance audit and the decision rationale is logged with the extracted summary metrics.
Subscription audit → pattern detection → cost-saving report
  1. A finance team uploads the company bank statement to a SharePoint folder once a quarter.
  2. AI-Process Bank Statement returns the patterns object listing every recurring charge with merchant, amount, and frequency detected.
  3. A Make Iterator compares each pattern against an Airtable register of approved SaaS subscriptions. Unknown recurring charges flag as potential shadow IT or duplicate subscriptions.
  4. A consolidated report is generated showing total monthly recurring spend, approved vs unapproved subscriptions, and an estimated annual cost-saving from cancelling duplicates.
  5. The report is emailed to the CFO; high-value unapproved subscriptions trigger Slack approval requests to the department heads for review and either approval or cancellation.

Frequently Asked Questions

What bank statement fields does AI-Process Bank Statement extract?+
The module returns a complete statement payload: bankName, accountHolderName, accountNumber, accountType (Checking, Savings, Money Market, Credit Card), statementPeriod with startDate and endDate, balances object (opening, closing, total deposits, total withdrawals), currency in ISO 4217 format, a transactions array with date, description, amount, and type (debit or credit) per row, a checksPaid array, a patterns object identifying recurring payments, and a summary object with category totals and analytics.
Does the parser detect recurring payments and patterns automatically?+
Yes. The patterns object in the output identifies recurring transactions: same merchant, similar amount, regular interval, without manual rules. This is useful for subscription auditing, cash-flow forecasting, identifying duplicate SaaS subscriptions, and detecting unexpected recurring charges before they accumulate. The summary object aggregates spend by category (groceries, utilities, payroll, transfers, etc.) for budgeting and financial analysis workflows.
Can the module handle multi-page bank statements?+
Yes. The AI processes the entire PDF: header, opening balance section, all transaction pages, checks paid list, summary section, and closing balance, as a single coherent statement. The transactions array contains every line item across all pages in chronological order. No manual page splitting or merging is required, even for business statements with 50+ pages of activity or three-month consolidated statements.
What banks and statement formats does the module support?+
The AI handles statements from major US banks (Chase, Bank of America, Wells Fargo, Citibank, US Bank), UK banks (HSBC, Barclays, Lloyds, NatWest, Santander), European banks (Deutsche Bank, BNP Paribas, ING, UBS, Credit Suisse), Indian banks (HDFC, ICICI, SBI, Axis, Kotak), Canadian banks (RBC, TD, BMO, Scotiabank), Australian banks (CBA, ANZ, Westpac), and many regional and online banks. Both digital PDFs downloaded from online banking and photographed paper statements are supported in PDF, PNG, JPG, and JPEG formats.
How do I match bank statement transactions to invoices and cheques for reconciliation?+
Add a Make Iterator after AI-Process Bank Statement to loop over the transactions array. For each transaction, run a lookup against your invoice register in Airtable, Google Sheets, QuickBooks, or your accounting API to find an invoice matching the amount and approximate date. The checksPaid array is especially useful: match each entry to records from AI-Process Bank Cheque for end-to-end cheque reconciliation. Unmatched transactions go to an exceptions queue in Slack or Airtable for manual bookkeeper review.

Get Help