Classify expense transactions into categories using merchant patterns from expenses_memory.md. Handles refunds, special transactions, and flags uncategorized items. Use when /compile calls it or when the user asks to categorize/classify expenses.
How this skill is triggered — by the user, by Claude, or both
Slash command
/open-personal-finance:categorizeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Classifies expense transactions into categories using merchant-to-category mappings.
Classifies expense transactions into categories using merchant-to-category mappings.
The {household} is a short lowercase name that scopes all data. Determined from context or by asking.
A normalized transaction list for the target month — from CSV files in resources/{household}/{YYYY-MM}/expenses/input/ or from transactions_raw.json.
resources/{household}/expenses_memory.md — Known Merchants table, Manual Overrides, category hierarchy, budget bucket mappingsresources/expenses_memory.md for all merchant-to-category mappings and overrides| Transaction Type | Treatment |
|---|---|
| Aplicacao RDB (small auto) | Investment / Troco Turbo — include in expenses |
| Aplicacao RDB (large, intentional) | Intentional RDB — NOT in expense totals. Threshold defined in expenses_memory.md |
| Estorno / refund | Allocate to original merchant's category as negative amount |
| Reimbursements (e.g. health plan) | Net against the corresponding expense category |
| IOF de compra internacional | Classify as actual expense. Never provision IOF |
Determine source, holder, bank, and account_number from the account/CSV origin:
date,title,amount) -> source: "Credit Card", holder from filename prefix, bank from filenameData,Valor,Identificador,Descricao) -> source: "Savings Account", holder from filename prefix, bank from filenameholder, bank, and account_number are already set in transactions_raw.json — preserve them as-isaccount_name to source/holder per patterns in expenses_memory.md - Parcela from installment descriptions (keep the fraction like 3/6)After classification, update resources/{household}/expenses_memory.md:
Returns categorized expenses (by_category), uncategorized list, investment entries, and intentional RDB entries for /compile to assemble. Each transaction preserves bank and account_number from the normalized input.
npx claudepluginhub icesnow10/personal-finance --plugin open-personal-financeCategorizes uncategorized bank transactions, matches payments to invoices, verifies bookkeeping entries for freelance or SME accounts via Norman Finance APIs. Use for reconciling accounts or expense categorization.
Categorizes financial transactions by matching raw descriptions against configurable taxonomies and rules, with LLM fallback. Emits merchant, category path, recurring flag, and confidence score. Use for bank, credit-card, or brokerage transaction classification.
Auto-categorizes uncategorized financial transactions using vendor/description pattern matching. Applies existing rules, groups unmatched by similarity, suggests categories, and offers spreadsheet formula alternatives.