Edit transaction
wave_update_transactionEdit Wave transaction date, description, notes, account, amount, category, vendor/customer, split lines, or journal entries; preview changes with dryRun and guard against overwriting newer edits.
Instructions
Edit a transaction as in the Wave web app: date, description, notes, reviewed (verified), bank/card account, total amount, category, vendor or customer, or the full set of split lines. Journal entries (journalEntry: true) have no bank side: edit their lines, keeping debits equal to credits. Single-category transactions: use categoryId / vendorId / customerId / amount / salesTax directly. Split transactions: pass lines (every line to keep, with order from wave_get_transaction; omit order to add a line; lines left out are removed). Line amounts include sales tax and must add up to the amount. Reads the transaction first and sends its current sequence, so it never overwrites a newer edit. dryRun=true shows the change without saving. Confirm with the user before changing amounts or accounts. Uses Wave's web-app API (unofficial), which needs a web session: if it is missing or expired, the user runs node /app/bin/wave-mcp.js login in a terminal on f32f40788a38.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Transaction ID | |
| date | No | Date, YYYY-MM-DD | |
| lines | No | ||
| notes | No | Notes; empty string clears them | |
| amount | No | New total; for split transactions also pass lines | |
| dryRun | No | ||
| salesTax | No | Replace the sales taxes on this line ([] removes them). Line amounts include tax. Omitted: unchanged; Wave recalculates taxes it calculated itself when the amount changes, but keeps manually set ones | |
| vendorId | No | Vendor ID; null clears it | |
| verified | No | Mark as reviewed (true) or not reviewed (false) | |
| accountId | No | Move it to another bank/card account | |
| businessId | No | Business ID; defaults to the one wave_get_context reports | |
| categoryId | No | New category account (single-category transactions) | |
| customerId | No | Customer ID; null clears it | |
| description | No | ||
| lineDescription | No | Description on the category line (single-category transactions) | |
| expectedSequence | No | Fail instead of editing if the transaction changed since you read it (sequence from wave_get_transaction) |