ynab_reconcile_account
Reconcile a YNAB account by matching bank statement CSV transactions, detecting discrepancies, and optionally auto-creating, updating clearing status, or un-clearing transactions.
Instructions
Guided account reconciliation: match bank CSV transactions to YNAB, detect discrepancies, and optionally execute bulk create/update/unclear operations.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
account_id (string, required): Account UUID to reconcile.
csv_file_path or csv_data (string, required): Bank export file path or inline CSV text.
statement_balance (number, required): Ending balance from the bank statement (dollars). For credit cards and other liability accounts, pass a negative value (e.g. -6143.27 means you owe $6,143.27).
statement_end_date (string, optional): Statement closing date (YYYY-MM-DD). Filters CSV and triggers balance verification. Auto-detected from CSV if omitted.
match_strictness (string, optional): Matching sensitivity — "loose" (more matches), "normal" (default), or "strict" (fewer false positives).
sign_convention (string, optional): How to treat CSV amount signs — "auto" (default, detects from data), "invert" (negate all amounts), "as_is" (use amounts unchanged). Useful when auto-detection fails for liability accounts.
dry_run (boolean, optional): Preview actions without executing. Default: true.
auto_create_transactions (boolean, optional): Auto-create missing transactions. Default: false.
auto_update_cleared_status (boolean, optional): Auto-mark matched transactions as cleared. Default: false.
auto_unclear_missing (boolean, optional): Auto-mark statement-missing cleared transactions as uncleared when reconciliation remains unbalanced. Default: false.
max_suggestions_in_output (number, optional): Limit unmatched items and suggestions shown in the human report. Default: 20.
Returns: human-readable reconciliation narrative + structured JSON (unmatched_bank, unmatched_ynab, suggestions, execution_summary when actions are performed).
Examples:
Preview reconciliation: set dry_run=true (default)
Execute: set dry_run=false and explicitly enable the write flags you want, e.g. auto_update_cleared_status=true
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| budget_id | No | ||
| account_id | Yes | ||
| csv_file_path | No | ||
| csv_data | No | ||
| csv_format | No | ||
| statement_balance | Yes | ||
| statement_end_date | No | ||
| date_tolerance_days | No | ||
| match_strictness | No | normal | |
| auto_create_transactions | No | ||
| auto_update_cleared_status | No | ||
| auto_unclear_missing | No | ||
| auto_adjust_dates | No | ||
| dry_run | No | ||
| sign_convention | No | auto | |
| max_suggestions_in_output | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| human | Yes | ||
| structured | Yes |