Generate spending report
generate_spending_reportUse this when the user attaches a bank or credit card statement (text PDF, CSV or Excel export) and asks to turn it into a budget, see where their money goes, find subscriptions or recurring charges, or total spending by category or month. Returns spending by category, income vs spending and net, monthly totals, top merchants, recurring charges with next expected date and cost per year, a list of uncategorized merchants, an Excel workbook and a one-page PDF summary. Transfers between own accounts and credit card payments are not counted as spending. To correct categories, call again with the same file and category_overrides. Does not connect to banks, does not read scanned images (needs OCR first), and does not give financial advice.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"file": "<file>"
},
"name": "generate_spending_report"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The bank or credit card statement: a text PDF from the bank's website, or the CSV or Excel (.xlsx) transaction export, e.g. september-statement.pdf. | |
| date_order | No | Optional: order of numeric dates such as 03/04/2026: MDY (US, default) or DMY (day first). Example: DMY. | |
| flip_signs | No | Optional, CSV/Excel only: true when the export lists purchases as positive numbers and payments as negative (some card exports). Default false. | |
| account_type | No | Optional: bank (checking or savings) or credit_card. Default: detected from the file; pasted rows count as bank. Example: credit_card. | |
| statement_year | No | Optional: the year for dates printed without one, e.g. 2026. | |
| category_overrides | No | Optional: your category for merchants the rules got wrong or left Uncategorized, keyed by the merchant name shown in the result. Example: {"Blue Bottle":"Dining","Riverbend Design":"Income","Venmo":"Transfers"}. Also accepts "Blue Bottle=Dining; Acme=Income". Categories: Groceries, Dining, Transport, Travel, Shopping, Subscriptions, Utilities, Rent & mortgage, Health, Insurance, Entertainment, Cash & ATM, Fees & interest, Payments to people, Income, Transfers (not counted), or a new name such as Pets. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rules | Yes | ||
| months | Yes | ||
| source | Yes | ||
| totals | Yes | ||
| headline | Yes | ||
| warnings | Yes | ||
| downloads | Yes | ||
| recurring | Yes | ||
| categories | Yes | ||
| top_merchants | Yes | ||
| uncategorized | Yes | ||
| overrides_applied | Yes |