Reconcile transaction
https://api.invunion.com/api/v1/transactions/:code/reconcile transactions:write
Idempotency-Key
Markdown Ignore, include, or unlink matches on a bank transaction. To allocate a payment to an invoice, use Create match.
This is inbox control for one transaction, identified by transaction_code. It does not create a settlement.
ignore cancels live matches and hides the line from invoice matching. include brings an ignored line back and re-runs matching. unlink_all cancels every live match on the line; set ignore to true to exclude it afterwards. unlink_match cancels one match. save only updates an existing live match (invoice, customer, payment method, and amount together) for the Invunion workbench. matchId is the match UUID, not the transaction code.
See also
- Update match (PUT
/api/v1/matches/:id). Change the amount of one match. - Reverse match (POST
/api/v1/matches/:id/reverse). Reverse one wrong payment with a reason. - Matches . Which call to use for each change.
Path parameters
| Name | Type | Required |
|---|---|---|
codeTransaction code ( Example: TX-8891 | string Max 50 | Required |
Body parameters
| Name | Type | Required |
|---|---|---|
actionignore, include, and unlink_all are the usual public actions. save updates an existing live match and cannot create one; use Create match. | string No maximum | Required |
Allowed values ignoreincludeunlink_allunlink_matchsave | ||
matchIdRequired for save and unlink_match. UUID of a live match on this transaction. Not used for ignore, include, or unlink_all. Example: 1c9e6679-7425-40de-944b-e07fc1f90ae7 | string No maximum | Optional |
counterpartyIdRequired for save. Counterparty code ( Example: CPT-042 | string No maximum | Optional |
paymentMethodIdRequired for save. Catalog payment-method code that belongs to the counterparty. Example: PM-001 | string No maximum | Optional |
invoiceIdRequired for save. Invoice number billed to the counterparty. Example: INV-2026-0042 | string No maximum | Optional |
matchedAmountRequired for save. Positive amount allocated on this match. Example: 1000 | number | Optional |
ignoreFor unlink_all only. If true, also ignore the transaction after unlinking. Allowed values truefalse | boolean | Optional |
Errors
This operation can return the following errors in addition to generic HTTP failures.
| Error | HTTP code | Description |
|---|---|---|
Missing Bearer token | 401 | The Authorization header is missing or is not a Bearer token. |
Invalid or revoked API key | 401 | The API key is unknown, malformed, expired, or has been revoked. |
API key is missing scope transactions:write | 403 | The key does not include transactions:write. A write scope does not imply the matching read scope. |
Too many requests, please try again later | 429 | More than 100 requests in one minute from this API key or IP address. Wait for the Retry-After header (seconds) and retry. |
Validation failed | 400 | The body failed schema validation. details lists field and message. |
Tenant required | 400 | The authenticated credential is not bound to a tenant. |
An ignored transaction cannot be reconciled | 400 | save and unlink_match are refused on an ignored transaction. Use include first. |
Invoice does not belong to the selected counterparty | 400 | invoiceId is not billed to counterpartyId. |
Payment method does not belong to the selected counterparty | 400 | paymentMethodId is not linked to counterpartyId. |
Transaction and invoice currencies must match | 400 | Cross-currency matching needs a conversion rate, or the currencies differ when no rate applies. |
No applicable currency conversion rate is available | 400 | The match needs FX and no rate is stored for that date. |
A live match already exists for this transaction and invoice | 400 | Another active match already links this pair. |
Transaction not found | 404 | No transaction with this code exists in the authenticated tenant. |
Match not found | 404 | matchId is missing, not on this transaction, or not live. |
Invoice not found | 404 | invoiceId does not exist in this tenant. |
Internal server error | 500 | Unexpected server error. The JSON body includes correlationId. Retry with backoff. |
Idempotency-Key must be 8-255 characters: letters, digits, ".", "_", ":" or "-". | 400 | The Idempotency-Key header is present but malformed. |
A request with this Idempotency-Key is still being processed. | 409 | The first request with this key has not finished. Retry after it completes. code is idempotency_in_progress. |
This Idempotency-Key was already used with a different request body. | 422 | Send a new key for a different request. code is idempotency_key_reuse. |