Update a credit note
Partial update. The type field is intentionally NOT
updatable. Updating an issued credit note is allowed but
rare — the document has already been accounted for as a
VAT correction.
Authentication
JWT issued via POST /api/v1/auth/sign_in. Used by mobile and SPA clients. Revoked tokens are rejected.
Path parameters
Request
Payment term in days. May be negative — the web form derives it as due_date − issue_date, and neither the model nor the controller constrains the sign.
Decimal rate as document-currency per 1 base-currency. Optional — when creating a foreign-currency document without it, the ECB reference rate for the issue date is filled automatically (supported currencies only; otherwise it stays unset, i.e. 1.0).
Delivery/carrier mode. Permitted by Params::DocumentParams for every document type.
Per-document override for the payment QR code. Stored for any document type, but only invoices and proformas resolve it — a credit note never renders a payment QR.
Project this document belongs to (from the projects API). Must be in this workspace.
Round the payable total to cash granularity (BT-114); the rounding delta is reported in totals.rounding.
Contact ID of the customer (from the contacts endpoints). Resolved to the contact’s legal entity, workspace-scoped. Required.
Optional. Source invoice ID. When provided, a
corrects link is established from the new credit
note back to this invoice — queryable later as
credit_note.invoice.
Response
Credit note lifecycle state: draft, issued, sent,
reopened, or canceled. reopened is where
reopenCreditNote lands a
previously locked document; it is editable again and must be
re-issued. Any settlement information is reported separately
by payment_status.
ISO-4217 currency code.
Derived settlement degree (money is the source of truth). Null for non-payable document types, drafts, canceled documents, and rows created before the payment_status backfill ran.
Credit note number (formatted via number_series, e.g. ‘DOB2026-0001’). Null for drafts.
Tax scheme (UNCL 5153), e.g. “VAT”.
Delivery/carrier mode
Amount settled so far (payments + advance deductions).
Outstanding amount (tax_inclusive − amount_paid).
Origin of the document. null when it was created in Lucanto, in which case totals are Lucanto’s EN 16931 calculation. A non-null value means the document was imported from that system and initially carries the source system’s own figures, preserved verbatim; those may differ by cents from Lucanto’s calculation because systems round VAT at different levels (line vs. category). insight means AI extraction from an uploaded file, not an import from another vendor. This records provenance only, not which calculation is currently in effect — editing line items or document discounts recomputes totals in Lucanto while leaving import_source set. In practice a document only ever carries kros_developer, isdoc, superfaktura or null. kros appears only on rows imported before the writer was renamed, and insight is written by the expense path only. The enum is kept as the union across resources rather than narrowed, so a legacy row cannot fail validation.
The party identity as it appears on a document. On an ISSUED document this is the identity the document was issued with — a snapshot pinned at issue, which does NOT change when the legal entity is later renamed, re-registered, or moved. A draft follows the entity’s current identity. id is the legal entity’s id and is stable across identity changes, so a stored reference keeps resolving. This matches the PDF and the ISDOC export of the same document. vat_period is not part of this projection — a counterparty’s filing period is not knowable.
The party identity as it appears on a document. On an ISSUED document this is the identity the document was issued with — a snapshot pinned at issue, which does NOT change when the legal entity is later renamed, re-registered, or moved. A draft follows the entity’s current identity. id is the legal entity’s id and is stable across identity changes, so a stored reference keeps resolving. This matches the PDF and the ISDOC export of the same document. vat_period is not part of this projection — a counterparty’s filing period is not knowable.

