outstanding).
A bill reaches a zero balance only by having credit applied — bills themselves are never
negative. Every application is reversible, returning the credit to the note.
All requests below require the
x-dolfin-api-key and x-dolfin-organisation-id headers. See
Authentication.Concepts
Lifecycle
A supplier credit note moves through these statuses:1
Create the credit note
POST /v1/suppliers/{supplierId}/credit-notes records the credit in Draft. The amount is the
gross (tax-inclusive) credit; the net/tax split is computed server-side from taxRateId.2
Issue it
POST /v1/supplier-credit-notes/{id}/issue makes the credit available against the supplier.
No bill is touched, and the note becomes immutable. A Draft note can be deleted instead.3
Apply it to a bill
POST /v1/supplier-credit-notes/{id}/applications nets credit against a bill you owe the same
supplier, reducing the bill’s outstanding and drawing down the note’s available balance.
The note moves to PartiallyApplied, then Applied once fully drawn down.4
Reverse if needed
DELETE /v1/supplier-credit-notes/{id}/applications/{applicationId} un-credits the bill and
returns the credit to the note’s available balance.Create a credit note
The amount is the gross (tax-inclusive) credit and must be positive. Pass an optionaltaxRateId to split out tax (omit it for a zero-rated credit), and an optional originalBillId
as header-level provenance for the bill the credit relates to.
201 Created):
While the note is in
Draft you can delete it with DELETE /v1/supplier-credit-notes/{id}.
Issued or applied notes cannot be deleted — reverse their applications instead.Issue the credit note
Issuing makes the credit available against the supplier and freezes the note.status: "Issued" and an issuedAt timestamp. This is when the
supplier_credit_note.issued webhook fires.
Apply credit to a bill
Net (part of) the available credit against a bill you owe the same supplier. The body carries thebillId and the amount to apply.
201 Created):
outstanding drops by the applied amount, the note’s available drops to match, and
both the supplier_credit.applied and bill.credited webhooks fire.
Reverse an application
Reversing un-credits the bill (restoring itsoutstanding) and returns the credit to the note’s
available balance.
204 No Content. A reversal is blocked if the bill is no longer reversible
(SupplierCreditNote.BillNotReversible).
Read endpoints
Supplier balance and ledger
A supplier’s available balance is derived per currency from its issued and partially-applied credit notes — it is never blended across currencies.+) and
applications to bills (−) — newest first, with cursor-based pagination.
entryType (CreditNoteIssued, AppliedToBill, or ApplicationReversed),
a signed amount, the currency, and occurredAt. Application entries also carry billId and
applicationId.
Webhooks
Subscribe to supplier-credit lifecycle changes like any other Dolfin webhook. See the webhooks guide for setup, signature verification, and delivery behaviour.
The
supplier_credit.applied payload carries the credit note plus the billId, amount, and
currency of the application; bill.credited reuses the standard bill payload so subscribers
get the full, now-credited bill.
Notes
- Supplier credit notes are always positive, and bills never go negative — a credit only ever
reduces a bill’s
outstandingtoward zero. - Amounts are gross (tax-inclusive); the net/tax split is computed server-side from
taxRateId. Omit it for a zero-rated credit. - OCR auto-detection of supplier credit notes is coming later; for now, create them explicitly via the API.
Next steps
Quick Start - AP
Upload, review, and approve a bill before crediting it.
Three-way Matching
Match purchase orders to bills and gate approval on variances.