Create money transaction
wave_create_transactionRecord and categorize bank or credit-card transactions in Wave, including split line items, with an optional dry run to validate entries before writing.
Instructions
Record a bank/credit-card transaction and categorize it, as if entered in Wave's Transactions page. Expense paid by card: anchor {accountId: card, direction: WITHDRAWAL}, line {accountId: expense category, balance: INCREASE}. Sale deposited to bank: anchor {bank, DEPOSIT}, line {income account, INCREASE}. Split across several lines; they must total the anchor. Keep the returned id: wave_get_transaction / wave_list_transactions read it back. Use dryRun=true to validate without writing. Wave does not document de-duplication by externalId: if a call timed out, check the Wave web app before retrying.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date, YYYY-MM-DD | |
| notes | No | ||
| anchor | Yes | Bank/card side of the transaction | |
| dryRun | No | ||
| lineItems | Yes | How the amount is categorized; must add up to the anchor amount | |
| businessId | No | Business ID; defaults to the one wave_get_context reports | |
| externalId | No | Your reference for idempotent imports; a UUID is generated when omitted | |
| description | Yes | Shown in Wave's transaction list, e.g. the payee |