AI-powered bank statement analysis & transaction categorization
Needs changesWhat this workflow does
This workflow has 9 nodes and runs when an HTTP GET request hits its webhook URL. Along the way it connects Postgres.
How it runs
Trigger: When an HTTP GET request hits its webhook URL.
- File Handler (Code): runs custom JavaScript code
- Check File Type (If): checks a condition and branches into true / false
- Extract PDF Text (Extract from File): extracts data from a file (extract text)
- Parse Excel/CSV (Spreadsheet File): reads or writes a spreadsheet file (legacy node)
- AI Data Extractor (OpenAI): uses OpenAI
- Process & Summarize (Code): runs custom JavaScript code
- Save to Database (Postgres): insert (database)
- Send Response (Respond to Webhook): sends the response back to the webhook caller
Services it uses
Before you upgrade to n8n 3.0
1 thing in this workflow is removed in n8n 3.0. Fix it before you upgrade:
- OpenAI (legacy) in AI Data Extractor: replace with OpenAI node (AI section).
- Also check Spreadsheet File: Convert to File / Extract from File.
Rather not rewrite it? Many of these flows can be rebuilt in Make (free plan).
| Removed in 3.0 | Replace with |
|---|---|
| OpenAI (legacy) AI Data Extractor | OpenAI node (AI section) |
Nodes used (8)
- Webhook
n8n-nodes-base.webhook - Code
n8n-nodes-base.code - If
n8n-nodes-base.if - Extract from File
n8n-nodes-base.extractFromFile - Spreadsheet File
n8n-nodes-base.spreadsheetFile - OpenAI
n8n-nodes-base.openAi - Postgres
n8n-nodes-base.postgres - Respond to Webhook
n8n-nodes-base.respondToWebhook
From the author
How it works This workflow automatically processes bank statements from various formats and extracts structured transaction data with intelligent categorization using AI. Key Steps 1. File Upload - Accepts bank statements via webhook upload (PDF, Excel, CSV…