Reconcile an account
Goal: make sure YNAB agrees with your bank, find the cause when it does not, and mark the account reconciled once it does.
Before you start: the balance your bank shows today, and writes enabled to mark the account reconciled (the diagnosis works read-only).
Tool: reconcile_account.
Prompt: reconcile.
The conversation
Section titled “The conversation”-
Ask, with the bank’s balance.
You: My bank shows 3,440.80 on my checking account. Does YNAB agree?
-
The agent compares. It calls
reconcile_accountwith{"plan_id": "last-used", "account_id": "acc-checking", "bank_balance": 3440.80}. avenir-mcp sums the account’s cleared transactions (those the bank has shown) and compares. They differ, so nothing is written:reconcile_account — difference found {"status": "difference_found","message": "YNAB's cleared balance differs from the bank by 112.30. Nothing was changed. Check explained_by, uncleared and possible_duplicates with the user; call again once fixed, or with adjust=true to record the gap as an adjustment.","account": "Checking","analysis": {"account_id": "acc-checking","bank_balance": 3440.8,"cleared_balance": 3328.5,"working_balance": 3328.5,"difference": 112.3,"to_reconcile_count": 54,"uncleared_count": 0,"uncleared": [],"explained_by": [],"possible_duplicates": [["tx-055","tx-056"]]},"adjustment": null,"confirmation": null,"operation_id": null} -
The agent explains the gap.
Claude: YNAB counts 71.86 more than the bank. Two identical Market Fresh payments of 71.86 on 19 September look like one import that came twice.
The answer offers three leads:
explained_by(a pending transaction whose amount is exactly the difference),uncleared(what the bank has not shown yet), andpossible_duplicates(same amount and merchant, at most 3 days apart, over the last 60 days). -
You fix the cause — here, delete the duplicate in YNAB.
-
Ask again. When the balances match, avenir-mcp previews the reconciliation: every cleared transaction of the account becomes reconciled. You confirm; it is applied in one request and journaled.
When the gap cannot be explained
Section titled “When the gap cannot be explained”Sometimes a small difference stays: a fee never imported, an old error. Only if you ask
for it, the agent calls again with adjust=true:
- a transaction Balance adjustment of the difference is created on the account, dated today, in Ready to Assign, with the memo Entered by reconcile_account;
- then the account is reconciled, adjustment included.
undo_operation puts every transaction it reconciled back to cleared and deletes the
adjustment, if one was made. See Undo a change.
Statuses
Section titled “Statuses”status |
Meaning |
|---|---|
difference_found |
balances differ; nothing written; read analysis |
nothing_to_do |
balances match and nothing is left to reconcile |
confirmation_required |
balances match (or adjust was asked); waiting for your yes |
applied |
reconciled; operation_id to undo |
declined |
you said no; nothing written |
How the comparison works: Reconciliation.
Unofficial project. We are not affiliated, associated, or in any way officially connected with YNAB or any of its subsidiaries or affiliates. The official YNAB website can be found at https://www.ynab.com. The names YNAB and You Need A Budget, as well as related names, tradenames, marks, trademarks, emblems, and images are registered trademarks of YNAB. avenir-mcp is provided as is, without warranty, and is not financial advice. Legal notice · Privacy