Confirm invoice import

POST https://app.speybooks.com/api/v1/invoice-imports/{id}/confirm

Confirm an invoice import, atomically creating invoices with line items, posting contra-wash clearing journal entries, and recording synthetic payments for partially paid invoices.

For each valid row:

  1. Auto-creates the contact if unmatched
  2. Creates the invoice (status based on payment: sent, partial, or paid)
  3. Posts a clearing journal: DR Trade Debtors, CR MC_AR
  4. If partially paid, posts a synthetic payment: DR Suspense (9999), CR Trade Debtors

The clearing zero-sum invariant is verified at commit — if MC_AR does not net to zero, the entire transaction is rolled back.

Path parameters

id string required
Data import ID (e.g. dimp_3). Must be in pending status with canConfirm: true.

Response

200 Import confirmed. Returns documentsCreated, syntheticPaymentsCreated, clearingBalance (should be 0), direction, and engineVersion.
Show response fields
clearingBalance integer
direction string
documentsCreated integer
engineVersion string
syntheticPaymentsCreated integer

Error codes

404 Pending invoice import not found.
409 An active invoice import was confirmed concurrently (singleton violation).
422 Import not confirmable: canConfirm is false, missing accounts, or clearing imbalance on commit.