Transactions — Match statement
transactions_match_statementReconcile bank export rows with a YNAB account register, returning matched pairs and labelling leftover rows on each side to expose missing or duplicate transactions.
Instructions
[READ] Pair the rows of a bank export with an account's register, and name what is left over on each side. rows: the statement lines, as objects with date (ISO), amount, and optionally description. amounts_in: 'milliunits' (default, 1000 = $1.00) or 'dollars' if you are passing the CSV's own figures. Either way the sign is YNAB's: negative for money out. An export that writes debits as positive numbers must be negated first, or every row comes back unmatched. date_tolerance_days: how far a posting date may sit from YNAB's date and still match (default 3, which covers a weekend). Matching is on exact amount, one-to-one, closest date first — nothing fuzzy, because a wrong match hides the transaction you were looking for. Returns matched pairs, unmatched_on_statement (the bank saw it and YNAB has no record), and unmatched_in_ynab (the reverse — where duplicates, never-posted card authorisations and bounced payments show up), each labelled with what it looks like. Costs two requests.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | ||
| plan_id | No | ||
| account_id | Yes | ||
| amounts_in | No | milliunits | |
| since_date | No | ||
| date_tolerance_days | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||