Void a credit note

POSThttps://app.speybooks.com/api/v1/credit-notes/{id}/void

Voids an issued credit note. The note moves to the terminal voided state and a rated reversing journal is posted that undoes the issue journal's ledger and VAT-return effect in full, so issue plus void nets to zero on both. The issue journal and its back-pointer remain for audit; the void is an append-only correction, not an erasure.

Voiding is the error-correction route an erroneously issued credit note takes (VATREC13100): it is outside Regulation 38 and inside the error-correction regulations, an adjustment to the VAT account that restores the true tax. The reversal is RATED, every per-line VAT amount carried, because a return-neutral void would leave output VAT understated, the state HMRC assesses (VATREC13132).

The live allocations must be zero first. A note still crediting an invoice is refused 409 with guidance to reverse its allocations (de-allocation) first; the database guard is the backstop and this precondition its courtesy. Only an issued note can be voided: a draft (which is abandoned, not voided) or an already voided note is refused 409, and a missing note is 404. The reason is required and cannot be blank (400); it is recorded on the note.

Voiding is user-actor only: an API key cannot void and is refused 403. The response carries the note id, its voided status, and the recorded voidReason.

The void posts the rated reversing journal (kind=void) the exact negation of the issue journal, grounded in the VAT Traders' Records Manual (VATREC13050, 13100, 13132). Two idempotencies apply: the request layer under an Idempotency-Key, and the domain layer where a second void returns 409. The Notice 700/45 threshold flag and the matched-adjustment customer notification (VATREC13131) are recorded obligations deferred to a later increment (ADR-020).

Path parameters

idstringrequired

Body parameters

reasonstringrequired
Why the credit note is being voided; recorded on the note
min length: 1

Response

200Default Response
Show response fields
creditNoteIdstring
statusstring
voidReasonstring

Error codes

400Default Response
403The caller is an API key; voiding requires a user.
404Credit note not found.
409The note is not issued, is already voided, or still carries live allocations.