Confirm Transaction
confirm_transactionConfirm a bank transaction by providing distribution rows; set clients_id when missing (e.g. CAMT imports) or approve reassignment when the payer differs from the linked invoice.
Instructions
Confirm a bank transaction by providing distribution rows. If the transaction has no clients_id (common for CAMT imports), pass clients_id — otherwise the API rejects with 'buyer or supplier is missing'. For invoice distributions, clients_id is auto-resolved from the invoice. A transaction whose client differs from the linked invoice's client is refused (linked_invoice_client_mismatch) because the journal takes its client from the transaction; approve the swap with reassign_client_to_invoice. After an invoice-linked confirm the resulting registration journal is re-read and checked against the invoice client and both postings.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Transaction ID | |
| clients_id | No | Client ID to set on the transaction before confirming (required when transaction has no clients_id and distribution is against accounts, not invoices) | |
| distributions | No | Array of distribution rows: [{related_table: 'accounts'|'purchase_invoices'|'sale_invoices', related_id, related_sub_id?, amount}]. related_id is always REQUIRED (the account or invoice DB ID). related_sub_id is REQUIRED when related_table='accounts' and the account has dimensions — pass the dimension ID (e.g. 1360 has one sub-account per person); the API rejects dimensioned postings without it. | |
| block_on_duplicate | No | Refuse an inter-account confirm (distribution to another own bank account) when an existing transfer journal or a possible duplicate bank posting is found (default false: warn only). | |
| reassign_client_to_invoice | No | Explicit approval to replace a differing payer client on the transaction with the linked invoice's client before confirming (default false). Use when a third party paid someone else's invoice: without it the confirm is refused, because the journal's client comes from the transaction and the receivable/payable leg would land in the payer's sub-ledger. bank_account_name (the real payer's name) is never changed. |