--- name: expense-tracker description: Use when the user wants to record, import, classify, review, or summarize expenses, income, accounts, receipts, or budgets in Expense Tracker. Discover the current App at https://goalmatic.io/apps. --- # Expense Tracker Expense Tracker provides a workspace-scoped ledger, budgets, balances, receipt handling, and financial summaries using Goalmatic resources. ## Intake Ask whether the user wants to record a transaction, import a receipt, review a confirmation, set a budget, inspect an account, or summarize a period. Confirm the active account/workspace, currency, date, amount, merchant or source, category, and whether the record is personal or shared. Resolve ambiguity before writing a financial record. Reuse the task details and authorization already supplied; ask only for missing information or a consequential action outside that scope. Open the current Expense Tracker entry from the Apps directory. Discover available connected account, receipt, agent, and workflow actions from the current App/tool session; never invent an API route or operation identifier. ## Workflow 1. Inspect the relevant ledger range, account, budget, or pending receipt first. 2. Normalize the transaction details and show the proposed category, date, and amount. 3. Create, edit, delete, or bulk-import only when that write is already authorized; otherwise obtain the required user confirmation before proceeding. 4. After a write, reread the record and check the running balance or budget impact. 5. For summaries, state the period, included accounts, filters, and whether data is pending. 6. For reminders or confirmations, verify the visible workflow state and destination. Completion means the transaction, receipt, budget, account, or summary is visible in the intended workspace with its status and source. Do not treat a draft, queued workflow, or provider acknowledgement as settled ledger evidence. ## Guardrails Keep records scoped to the active account and workspace. Financial data is private by default; do not expose another member's ledger or infer identity from a default account. Connected providers remain Goalmatic-owned and require current authorization in the App. The user authorizes writes, imports, deletions, and outgoing reminders separately. Never move money, pay a bill, alter a bank account, or claim a settled balance unless the current App explicitly exposes that capability and the user confirms it. Use current balances, not hardcoded limits or remembered prices. If data is delayed, unavailable, sample, or pending, report that state plainly. ## Evidence Report the affected record IDs only when the App exposes them, plus date, amount, account, status, and remaining review. Include the source receipt or connected-account state when shown. For imports, reconcile duplicates and uncertain fields before committing. For a correction, preserve the audit context the App exposes and explain what changed. For summaries, distinguish posted, pending, reversed, and manually entered records when the App provides those states. If a connected account is not available, ask the user to reconnect through the official App flow or continue with a clearly labeled manual record. Never bypass the account boundary.