Update Draft Invoice
PUT /invoices/{id}
Update an existing invoice. Requires the invoice:create scope. Only invoices in draft state can be updated. Accepts the same payload as Create Invoice. Optionally set calculate_totals.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The UUID of the draft invoice to update.
Request Body
Section titled “Request Body ”object
The address book entry this invoice was issued to. The buyer block stays the authoritative snapshot; this only links them.
Per-invoice override of the save_buyer_contacts setting, so a one-off recipient does not end up in the address book forever.
PDF branding for this invoice. Omitted: the buyer contact’s profile when linked, else the company default. Null: company default.
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Price in cents
object
Item identifiers
object
object
Item classification
object
Item attributes
object
Line allowances
object
Line charges
object
object
Multiple payments
object
object
object
object
Legacy single payment (backwards compatible)
object
object
object
object
object
object
object
object
object
object
object
Sum of line totals (in cents)
Before tax
After tax
object
Base64 encoded (B2B API compat)
UUID of the branding profile used for the invoice PDF (see GET /branding-profiles). null selects the company default. When omitted, the current profile is kept, unless buyer_contact_id changes: then the new contact’s profile applies, else the company default.
Responses
Section titled “ Responses ”Invoice updated successfully.
object
object
Unique invoice identifier (UUID).
UUID of the company that owns this invoice.
UUID of the user who created the invoice, if applicable.
Current workflow state: draft, approved, sending, sent, delivered, failed, or cancelled.
Invoice direction: outgoing (sent by company) or incoming (received).
Invoice total amount in cents.
ISO 4217 currency code (e.g. EUR, USD).
UBL specification version used (2.1, 2.2, or 2.3).
Full invoice data in structured UBL JSON format (header, seller, buyer, items, totals, etc.).
Delivery network used: peppol, ksef, or email.
UUID of the business entity (seller identity) used for this invoice.
UUID of the address book contact this invoice was issued to, if any.
UUID of the branding profile used for the PDF; null means the company default profile.
Public invoice metadata, e.g. the delivery method. Always a JSON object.
object
Delivery method selected when sending: auto, peppol, email, etc.
Final Peppol access-point response for the send attempt.
Timestamp the Message Level Response was forwarded, if any.
Outbound Message Level Response verdict from the recipient’s access point:
- verdict: received_ap (delivered) | received_ab (delivered with note) | received_re (rejected)
- received_at: ISO 8601 timestamp the MLR was processed by the AP
- error_details: rejection reason if verdict is received_re Null until the recipient AP returns an MLR or 72h elapses.
object
object
ISO 8601 timestamp when the invoice was created.
ISO 8601 timestamp when the invoice was last updated.
ISO 8601 timestamp when the invoice was soft-deleted, or null.
ISO 8601 timestamp when the public (signed-URL) link was revoked, or null if active.
Invoice not found or does not belong to your company.
object
Invoice is not in draft state, validation error, or API key not associated with a company.
Server error during invoice update.