bank-statement-processing

Extract and categorize Wells Fargo statement transactions from PDFs into SerenDB.

2|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/terraleiloa/seren-skills --skill bank-statement-processing
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bank-statement-processing
Source: https://github.com/terraleiloa/seren-skills/tree/main/wellsfargo/bank-statement-processing
Command: npx skills add https://github.com/terraleiloa/seren-skills --skill bank-statement-processing

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pdfplumber, psycopg[binary], requests, python-dateutil, and includes scripts (resource) components.

What problem does it solve?

This Skill removes the manual effort of downloading Wells Fargo statement PDFs, extracting transactions, categorizing them, and loading the results into SerenDB for later analysis.

Core Features & Use Cases

  • Runtime-authenticated PDF retrieval: prompts for Wells Fargo login details (including OTP/passkey/manual handoff) and downloads statements as local PDFs using SerenDesktop Local Playwright MCP.
  • Transaction parsing + normalization: extracts statement metadata and converts statement rows into structured transactions with dates, amounts, and normalized descriptions.
  • Rules-first categorization with optional LLM fallback: applies keyword rules first, then uses heuristic LLM classification, with support for an optional remote LLM endpoint.
  • Masked SerenDB persistence: writes masked account fields and structured statement/transaction data into SerenDB read-only tables and generates reports/JSONL exports for downstream reuse.

Quick Start

Run it to download and process your last 12 months of Wells Fargo statements with: python3 scripts/run.py --config config.json --mode read-only --months 12 --out artifacts/wellsfargo

Frequently Asked Questions about bank-statement-processing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I parse Wells Fargo bank statement PDFs into structured transaction data?

Parsing Wells Fargo bank statement PDFs into structured transaction data uses pdfplumber to extract metadata and normalize rows into dates, amounts, and descriptions. Categorization applies keyword rules first, then uses heuristic LLM classification as a fallback.

Can I automate downloading bank statements using Playwright browser sessions?

Automating bank statement downloads with Playwright browser sessions is supported through SerenDesktop Local Playwright MCP. It handles runtime-authenticated retrieval by prompting for login details, OTP, or manual handoff to securely download statement PDFs.

Does this bank statement processing method work with SerenDB for cashflow reporting?

Bank statement processing works with SerenDB by writing masked account fields and structured transaction data into read-only SQL tables. It generates reports and JSONL exports, creating recurring cashflow datasets for downstream analysis.

What's the best way to categorize extracted transactions from bank statements?

The best way to categorize extracted transactions from bank statements is a rules-first approach using keyword matching, followed by heuristic LLM classification or an optional remote LLM endpoint for uncategorized rows.

Do I need an LLM endpoint to categorize and normalize bank transactions?

You do not need an LLM endpoint to categorize and normalize bank transactions. The process applies keyword rules first and uses heuristic classification as a fallback, with the remote LLM endpoint being entirely optional.

Why does bank statement PDF parsing require runtime-authenticated browser sessions?

Bank statement PDF parsing requires runtime-authenticated browser sessions to securely access Wells Fargo online banking. Playwright MCP prompts for login credentials, OTP, or passkeys to navigate authenticated portals and download statements directly.