Reconcile statement
reconcile_statementReconcile one account against a bank statement for a period. Give the statement as CSV text or as rows (date, amount, description) you read off a PDF. Reports matched lines, lines the app is missing, ledger rows the bank never saw, and the closing-balance difference. Dry-run unless commit=true; then the missing rows are added as bank-confirmed, the unexplained ledger rows go to the review queue, and the run is recorded.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Period end, inclusive (ISO). Default: latest statement row | |
| csv | No | Statement CSV text, header included | |
| from | No | Period start (ISO). Default: earliest statement row | |
| rows | No | Alternative to csv: rows you extracted yourself | |
| commit | No | Apply: add missing rows, flag unexplained ledger rows. Default false | |
| account_id | Yes | ||
| window_days | No | How far apart a statement date and a ledger date may be to still match. Default 3 | |
| closing_balance | No | The statement's closing balance in major units, to check the ledger's running total | |
| opening_balance | No | Optional; with closing_balance, checks the statement's own arithmetic |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| added | Yes | ||
| counts | Yes | ||
| period | Yes | ||
| run_id | Yes | ||
| account | Yes | ||
| dry_run | Yes | ||
| flagged | Yes | ||
| currency | Yes |