Transactions: Create transaction
create_transaction Create a new transaction.
Args:
account_id: The account ID for this transaction
amount: Transaction amount (positive number)
description: Description of the transaction
transaction_type: 'deposit', 'withdrawal', or 'transfer'.
On asset accounts (checking, savings, cash, investment):
- 'deposit' = money in (pair with an income category like "Salary")
- 'withdrawal' = money out (pair with an expense category like "Groceries")
On debt accounts (credit_card, loan, mortgage, heloc, arm, student_loan):
- 'deposit' = a charge/purchase that INCREASES the debt
(pair with an expense category like "Shopping")
- 'withdrawal' = a payment that DECREASES the debt
(pair with an income category like "Credit Card Payment")
Record a CC purchase as transaction_type='deposit' with an expense
category; record a CC bill payment as transaction_type='withdrawal'
with an income category. The category type is inverted on debt
accounts versus asset accounts — this is by design.
transaction_date: Date in YYYY-MM-DD format (defaults to current UTC date)
category_name: Category name (optional, case-insensitive)
transfer_to_account_id: Destination account ID (required for transfers)
confirm_future: If transaction_date is more than 30 days in the
future, the tool refuses and returns a `requires_confirmation`
error. Resubmit with confirm_future=True to accept — e.g.
scheduled rent a few months out. Defaults to False to catch
fat-fingered dates like "2035-01-01".
Returns:
Created transaction details
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| account_id | Yes | ||
| description | Yes | ||
| category_name | No | ||
| confirm_future | No | ||
| transaction_date | No | ||
| transaction_type | Yes | ||
| transfer_to_account_id | No |