Match transaction
match_transactionDeterministically match one income/expense entry to its bank transaction. Given the entry (name/amount/date/direction) and amount-filtered candidate transactions, returns {transactionid, confidence 0.0-1.0, reason}. confidence >= 0.9 is a confident link; below that, escalate to a human/LLM judge.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | The entry's date (YYYY-MM-DD); used for date-proximity scoring. | |
| name | No | The entry's name/description text; used for text-similarity scoring against each candidate. | |
| amount | No | The entry's amount to match on (required). Compared against each candidate's value. | |
| currency | No | The entry's ISO currency (e.g. ZAR). When given, a candidate in another currency is converted at its own date's rate and kept only within 3% of the amount; such a match is capped below 0.9, carries requires_confirmation=true and the FX gain/loss proposal. Omit for same-currency matching. | |
| direction | Yes | Which side the entry sits on: "expense" or "income" (required). | |
| candidates | No | Candidate bank transactions to weigh, typically from search_amount — each a map with at least id, value, date and description. Required in practice; an empty or absent list yields no match. |