v4

latestOpenAPI 3.1.02026-08-032294621.7 MB
Bank Match

Confirm a bank-match

Record that bank-feed row(s) correspond to DualEntry transaction(s)/entry(s). On success each row's matching_status flips to matched, the pairing shows up in the DualEntry reconciliation view, and the response returns the match_group_id.

Pass singular fields for a 1:1 match, or financial_transaction_ids plus transaction_ids/entry_ids for an M:N match.

Constraints (validated server-side and reported as 400 on failure):

  • All bank-feed rows must be on the same financial account as the DualEntry targets' bank/credit-card entries.
  • Amounts must reconcile (sum of bank amounts equals net entry amount) in a single currency.
  • All bank-feed rows must share the same sign; balance alone is not enough.
  • No item may already be part of another match (call /unmatches/ first to redo a pairing).

This endpoint kicks a fresh suggestion run for the org after a successful match so future suggestions reflect the new state.

post/public/v2/bank-match/matches/

Request body

financial_transaction_idinteger nullable

ID of the bank-feed row to match (from /bank-transactions/).

transaction_idinteger nullable

DualEntry transaction id to match against. Pass this or entry_id, not both.

entry_idinteger nullable

DualEntry entry id to match against (use for partial matches like a single line of a journal entry). Pass this or transaction_id.

financial_transaction_idsinteger[] nullable

M:N: bank-feed row ids to match as one group. Same account and same sign.

transaction_idsinteger[] nullable

M:N: DualEntry transaction ids for the group. May be combined with entry_ids.

entry_idsinteger[] nullable

M:N: DualEntry entry ids for the group. May be combined with transaction_ids.

Response

OK

successtrue
errorsobject
match_group_idinteger nullable