prepare_split_for_matching
Create an unapproved split transaction to match with an imported bank transaction in YNAB. This prepares the split for manual matching in the YNAB interface, allowing you to categorize different portions of a single transaction.
Instructions
Prepare a split transaction to match with an existing imported transaction.
This tool fetches an existing transaction's details and creates a new UNAPPROVED split
transaction with the same date, amount, account, and payee. You can then manually match
them together in the YNAB web or mobile UI.
Use this when you want to split an imported bank transaction - the new split will be
created as unapproved so you can match it with the original in YNAB's UI.
Args:
budget_id: The ID of the budget (use 'last-used' for default budget)
transaction_id: The ID of the existing transaction to split
subtransactions: JSON string containing array of subtransactions. Each subtransaction should have:
- amount (required): The subtransaction amount
- category_id (optional): Category ID for this split
- payee_id (optional): Payee ID for this split
- memo (optional): Memo for this split
Example: '[{"amount": -50.00, "category_id": "cat1", "memo": "Groceries"}, {"amount": -30.00, "category_id": "cat2", "memo": "Gas"}]'
Returns:
JSON string with original transaction details, new split transaction details, and instructions
Workflow:
1. This tool fetches the existing transaction details
2. Creates a new unapproved split transaction with those details
3. You manually match them in the YNAB UI
4. YNAB merges them into one split transaction
Note:
- The new split is created as UNAPPROVED for manual matching
- The sum of subtransaction amounts should equal the original transaction amount
- After matching in YNAB UI, the original transaction will become a split transaction
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| budget_id | Yes | ||
| subtransactions | Yes | ||
| transaction_id | Yes |
Input Schema (JSON Schema)
{
"properties": {
"budget_id": {
"title": "Budget Id",
"type": "string"
},
"subtransactions": {
"title": "Subtransactions",
"type": "string"
},
"transaction_id": {
"title": "Transaction Id",
"type": "string"
}
},
"required": [
"budget_id",
"transaction_id",
"subtransactions"
],
"type": "object"
}