Numbers / Receivables / Credit Notes
Batch-ingest receivables credit notes and drive their commit/void lifecycle.
/v1/numbers-receivables-credit-notes
/v1/numbers-receivables-credit-notes/{id}/commit
/v1/numbers-receivables-credit-notes/{id}/void
Mirrors the receivables invoices endpoint with two differences: trading legs post on the debit side (reversing the original invoice movement) and the AR counterparty leg posts on the credit side. Document numbers are allocated as CRN-NNNNNN.
Required scope
numbers.receivables-credit-notes.write
Batch request
Same shape as the invoices endpoint plus an optional originating_invoice_identifier for traceability.
{
"schema_version": "1.0.0",
"items": [
{
"external_identifier": "019f0000-aaaa-7bbb-8ccc-cccccccccccc",
"counterparty_identifier": "019f1111-bbbb-7ccc-9ddd-222222222222",
"originating_invoice_identifier": "019f1234-5678-7abc-9def-0123456789ab",
"transaction_date": "2026-06-05",
"transaction_currency": "ZAR",
"narration": "Credit note - returned goods",
"post_status": "committed",
"lines": [
{ "order": 1, "account_number": "4000", "description": "Reversal", "line_amount": "1000.00", "vat201_rate_code": "20180401-1" }
]
}
]
}
originating_invoice_identifier, when supplied, must reference an existing invoice belonging to the same client (source='invoice'); otherwise the item fails with originating-invoice-unknown.
Batch response
Same envelope as the invoices endpoint (ReceivablesBatchResponse in the OpenAPI spec).
Lifecycle
| Endpoint | Transition | Notes |
|---|---|---|
POST /{id}/commit | d → c | 409 state-transition-invalid if not in draft. |
POST /{id}/void | d|c → v | Same lock guards as invoice void (vat-return-locked, asset-register-linked). |
Errors
Same per-item problem types as invoices, with the addition of originating-invoice-unknown.