import-statements

Parses MT940 and CSV bank statements into a personal finance transaction database.

Updated Mar 19, 2026
One-click install
npx skills add https://github.com/karimStekelenburg/k3m-marketplace --skill import-statements-karimstekelenburg
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: import-statements
Source: https://github.com/karimStekelenburg/k3m-marketplace/tree/main/plugins/personal-finance/skills/import-statements
Command: npx skills add https://github.com/karimStekelenburg/k3m-marketplace --skill import-statements-karimstekelenburg

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Manually entering bank transactions into a personal finance database is slow and error-prone. This Skill automates the import of bank statement files, handling format detection, bank-specific CSV column mappings, and duplicate detection so your transaction records stay complete and accurate. ## Core Features & Use Cases - Multi-format parsing: Processes MT940 (.mt940/.sta) files and CSV exports with automatic format detection based on file extension. - Bank-specific CSV support: Applies column mappings for ABN AMRO, ING, and Bunq exports via the --bank flag. - Duplicate detection: Warns when transaction IDs already exist in the database and lists skipped IDs instead of silently dropping them. - Use Case: You download a month of statements from ING as CSV and an MT940 file from another account. Point the Skill at the folder, and it parses both files, inserts new transactions into your finance database, and reports a summary table with row counts, date ranges, and parse errors. ## Quick Start Import all bank statement files in my Downloads folder into the finance database, using the ING CSV mapping where needed.

Frequently Asked Questions about import-statements

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

FAQPage Schema
How do I import bank statements into a finance database?▼

Provide a file or directory path containing your statement files, and the Skill detects the format by extension and runs the appropriate parser. MT940 files use the MT940 parser, while CSV files use the CSV parser with optional bank-specific mappings.

How to parse MT940 files from Dutch banks?▼

Files with .mt940 or .sta extensions are automatically routed to the MT940 parser script, which extracts transactions and inserts them into the finance database. No bank flag is needed since MT940 is a standardized format.

Which banks are supported for CSV statement imports?▼

CSV parsing supports ABN AMRO, ING, and Bunq through the --bank flag, which applies bank-specific column mappings. If the bank cannot be detected from CSV headers, you will be prompted to specify it.

What happens when duplicate transactions are imported?▼

Duplicate transaction IDs already in the database are skipped, and the Skill shows an explicit warning with the count and the specific skipped transaction IDs. Duplicates are never silently dropped, so you can verify each one.

Can I use a custom data directory for the finance database?▼

Yes, pass the --data-dir flag with your desired path. Without it, the Skill defaults to ~/Documents/finance-data/ for storing the transaction database.