Run register diff
well_run_register_diffDiff a workspace's bank transactions against its accounting-register transactions (e.g. QuickBooks), and persist the result.
Every match — hard evidence (structured reference, IBAN, tax ID) or inference-only (memo/payee reading) — is raised as a review task with the candidate already attached (raised_for_review). Nothing links automatically; resolve with well_resolve_reconciliation_task once a human decides.
Bank transactions with no register counterpart come back as missing_in_register_ids, each also minted as a gap review task (gaps_proposed) — resolve one with well_resolve_register_diff_gap once a human names the two ledger accounts. gaps_already_proposed counts gaps re-surfaced from an earlier run that already have an open, unresolved proposal.
Bank transactions NOT confirmed absent from the register come back as contended_in_register_ids — never minted as a gap. Two cases land here: (1) a plausible match lost to a higher-confidence sibling transaction this run, so the register-side movement is already accounted for by the winner; (2) the matcher couldn't produce a trustworthy answer (an invalid model response or a provider failure), so absence was never confirmed. Re-run the diff later; a genuine gap or duplicate should resolve itself once the winner's review task is handled or the matcher succeeds.
Register entries no bank transaction explains come back as unexplained_in_register_ids.
Returns { enabled: false, ... } with all counts 0 if the workspace's register-diff feature is off.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| since_date | No | Only diff bank transactions on/after this date (YYYY-MM-DD). | |
| workspace_id | No | Target workspace. Omit when the token authorizes one workspace. Required when it authorizes several — a write lands in exactly one workspace and this call would not say which. | |
| idempotency_key | No | Optional client-supplied key. A retried write with the same key returns the original result instead of re-applying the operation. | |
| bank_workspace_connector_id | Yes | The bank connector's workspace_connector_id (e.g. Plaid). | |
| register_workspace_connector_id | Yes | The accounting connector's workspace_connector_id (e.g. QuickBooks). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | ||
| enabled | No | ||
| matched | No | ||
| success | Yes | ||
| gaps_proposed | No | ||
| already_linked | No | ||
| raised_for_review | No | ||
| missing_in_register | No | ||
| contended_in_register | No | ||
| gaps_already_proposed | No | ||
| missing_in_register_ids | No | ||
| unexplained_in_register | No | ||
| contended_in_register_ids | No | ||
| unexplained_in_register_ids | No |