Matches
Allocate a bank line to an invoice, read auto-matches, and change or undo an allocation. Start from invoice number and transaction code, not a match UUID.
What you will find here
A match is an allocation between an invoice and a bank transaction. List and create use the codes you see in Invunion: invoice number and transaction_code. Get, update, reverse, and delete use a match UUID that is not shown in the product. Take that id from List matches, Create match, Get invoice, Get transaction, or a match.created / match.suggested / match.confirmed webhook.
Auto-match writes one live row per pair (confirmed or pending_review). Filter List matches with both codes to find it. Invoice number alone is not enough: one invoice can receive several payments.
Which call to use
Find a live match
GETList matches/api/v1/matchesFilter with invoice number (
invoiceId) and transaction code (transactionId). Usestatus=confirmedfor an auto-match,activefor a manual match, orpending_reviewfor a suggestion. Each item’sidis the UUID for Get, Update, Reverse, and Delete. To read several statuses at once, passstatuses=confirmed,active.Allocate a payment to an invoice
POSTCreate match/api/v1/matchesSend the invoice number, transaction code, and
matchedAmount. This is the public write. The response includesmatch.id.Change the allocated amount on the same pair
PUTUpdate match/api/v1/matches/:idList the pair first, then PUT
matchedAmount. This does not change which invoice or bank line is linked.Confirm a suggestion
PUTUpdate match/api/v1/matches/:idList
pending_reviewfor that pair, then PUTstatus: confirmedwith the itemid.Deny a suggestion
POSTCreate match/api/v1/matchesPOST the invoice number, transaction code, and
status: rejected.matchedAmountis not required. No match UUID.Undo an auto-match
POSTReconcile transaction/api/v1/transactions/:code/reconcilePOST
{ "action": "unlink_all" }on the transaction code. That cancels every live match on the bank line. No match UUID.Point the payment at another invoice
POSTCreate match/api/v1/matchesUnlink with Reconcile transaction
unlink_all, then Create match with the new invoice number, the same transaction code, andmatchedAmount. Do not use Update match.Reverse a wrong payment
POSTReverse match/api/v1/matches/:id/reversePOST
reason(wrong_transaction,wrong_amount,duplicate, orother) and an optionalnoteon the match UUID. Addreplacementwith the right transaction code to match it in the same step. The match is kept as cancelled with who, when, and why, and oneinvoice.settlement_changedwebhook is sent.wrong_transactionalso records the pair as rejected.Delete a suggestion or a rejected pair
DELDelete match/api/v1/matches/:idDELETE by UUID from List matches. Only for
pending_review,rejected, orcancelledrows: an active or confirmed payment returns 409. Reverse it instead.
Do not use Reconcile save to edit an allocation. That path is the Invunion workbench: it needs the match UUID plus counterparty, payment method, invoice, and amount together.