add_expense
ChatGPTLog an expense. Provide either a single category (categoryId or categoryName) OR splits (2+ lines whose amountCents sum exactly to the total). One purchase/receipt is always ONE add_expense call, even when its items span several categories (e.g. a Walmart or Target receipt with groceries + household + electronics) — use splits for that, never a separate call per category/item. Only call add_expense more than once when there are genuinely separate purchases (different receipts/transactions). Amounts are integer cents in the account's currency (see get_financial_summary). For a purchase on a credit card, pass cardName or cardId (call list_cards first) and optionally alreadyPaid; without a card it is cash or debit. Dated today or earlier, a cash or debit expense is automatically ticked "paid" in the Activity timeline, same as logging it in the app (a card expense is owed on the card until the card bill is paid). To set up a recurring fixed bill, use create_recurring_bill.
add_income
ChatGPTAdd a one-off income entry for a single month (e.g. a freelance payment or bonus). Amounts are integer cents in the account's currency (see get_financial_summary). Dated today or earlier, it's automatically ticked "received" in the Activity timeline, same as logging it in the app. Recurring paychecks are set up in the app, not here.
create_budget
ChatGPTCreate a named budget with a share of the month's total income (percent, 0–100) and/or a fixed monthly amount — store whichever matches the account's current budgeting mode (see list_budgets); the other defaults to 0 but is still saved, so switching modes later doesn't lose it. Optionally move categories into it by id or name. Global and forward-looking; past months stay frozen.
create_category
ChatGPTCreate an expense category. kind is 'spending' (default) or 'fixed'. Optionally roll it up to a budget by budgetId or budgetName. needsWants classifies it for the Needs/Wants breakdown.
create_recurring_bill
ChatGPTSet up a recurring fixed bill (rent, mortgage, loan, insurance, subscription) in the user's account. Resolve the category by id (categoryId) or name (categoryName) first — call list_categories. Amounts are integer cents in the account's currency (see get_financial_summary), per occurrence. If the bill is charged to a credit card, pass cardName or cardId (call list_cards first): each month then counts as owed on the card until marked paid in the app. Editing or removing a bill is done in the app.
delete_budget
ChatGPTDelete a named budget. Its member categories become unassigned (their spend moves to 'Unbudgeted'); no categories or expenses are deleted. Identify it by budgetId or budgetName.
delete_expense
ChatGPTPermanently delete one logged expense by id (get it from list_expenses). Also deletes the expense's receipt image, if any. Does not touch recurring bills — those are managed in the app.
get_financial_summary
ChatGPTThe user's finances for one month: total income, spending by category, fixed bills vs income, budget breakdown (per-budget allocated vs spent + unbudgeted), on-track status, and the month-over-month change vs the same day last month. All amounts are integer cents in the account's currency (returned as currency). Call this for any question about how the user's finances are going, including forward-looking ones (e.g. 'what are my expenses/bills/income next month') — pass a future period; the response then reflects expected recurring bills and income only, since variable spending hasn't happened yet. cardsOwed is what is still owed on credit cards right now (total, next due date, and per card), based on what the user logged. fixedBillsVsIncome and spendingByCategory here are TOTALS only — for the individual bills behind a fixed/utilities/etc. total (or any question about a specific bill), call list_recurring_bills instead.
list_budgets
ChatGPTList the account's named budgets — id, name, mode ("percent" or "fixed" — the account-wide budgeting mode), percent (share of the month's total income, 0–100) and amount (fixed monthly amount, both always present regardless of mode), colorIndex, and the categories that roll up to each. Call before update_budget / delete_budget. The budgeting mode itself is set from the app, not by these tools.
list_cards
ChatGPTList the account's credit cards — id, name, network, last 4, statement closing day and due day, how it is usually paid (defaultSettlement: "now" = paid right away, "later" = statement paid later), whether archived, and what is owed on it right now (owedCents, in the account's currency), with its next due date. Owed is built from what the user logged, not a bank balance. Call before add_expense or create_recurring_bill when the purchase is on a card, so the card name or id is valid.
list_categories
ChatGPTList the account's expense categories — id, name, kind (spending/fixed), needsWants (needs/wants, for the Needs/Wants breakdown), whether archived, and which budget each rolls up to. Call before add_expense so the expense lands in a category that exists.
list_expenses
ChatGPTList the logged, one-off expenses for one month — id, title, amount in cents (negative for a refund), date, category name, whether it has a receipt, note, and the credit card it was charged to (cardName, and settledOn: the day it was paid off, or null while still owed on the card). Pass cardName or cardId to see only that card's expenses. Call this before delete_expense to get the id. Recurring-bill occurrences are NOT included here — call list_recurring_bills for those (e.g. a 'fixed' category like rent or utilities has no entries in list_expenses; its spend comes entirely from recurring bills).
list_recurring_bills
ChatGPTList the account's individual recurring fixed bills (rent, mortgage, loans, insurance, subscriptions, utilities, ...) — id, label, category, amount per occurrence, recurrence schedule, installment status, and which dates in the given month it actually falls on. Call this for any question about a specific fixed bill or about what makes up a fixed/utilities/etc. category's total (get_financial_summary's fixedBillsVsIncome and spendingByCategory only give totals, not the individual bills behind them — logged, one-off expenses show up in list_expenses instead, never here).
update_budget
ChatGPTRename a budget, change its percent (0–100 share of the month's total income), and/or its fixed monthly amount. Identify it by budgetId or budgetName. Global and forward-looking. To change which categories belong to it, use update_category.
update_category
ChatGPTRename a category, change its kind, move it between budgets (budgetId or budgetName, or budgetId=null to unassign), or archive it (the app's soft-delete — logged expenses keep their category; pass archived=false to restore). Identify it by categoryId or categoryName.
add_expense
Claudeadd_income
Claudecreate_budget
Claudecreate_category
Claudecreate_recurring_bill
Claudedelete_budget
Claudedelete_expense
Claudeget_financial_summary
Claudelist_budgets
Claudelist_cards
Claudelist_categories
Claudelist_expenses
Claudelist_recurring_bills
Claudeupdate_budget
Claudeupdate_category
Claude