Update invoice
An invoice queued for e-invoice delivery cannot be updated or deleted, including while delivery is pending or retrying. The API returns 422 with an error in errors.eInvoice. Use a credit note to correct an invoice that has already been sent.
Updates an existing invoice.
How updates work
- Update uses the same payload contract and the same defaults as the create flow.
- You must send either
clientIdor theclientobject. itemsare always required.- If you omit a field, the backend does not preserve the current value from the invoice. Instead, it resolves the field exactly like in the create flow from the payload, client defaults, and company document settings.
- When updating line items, you may send the original
uuidvalues of existing invoice rows. These UUIDs are available in the invoice detail response. The backend uses them to keep warehouse outbound receipt links stable when allocations or quantities change. In the create flow, itemuuidis not part of the request contract; if you send it, the backend ignores it and generates its own UUID.
Error semantics
422when you explicitly send aclientIdthat does not exist or is outside the token scope.422when you explicitly send abankAccountIdthat does not exist or is outside the token scope.422when the payload fails business validation, for example because the invoice items are invalid.
Authorizations
Body
- Option 1
- Option 2
Payload used to update an invoice. Update uses the same fields, validation rules, and defaults as the create flow. You must send either clientId or the client object. Omitted fields are not copied from the current invoice; the backend resolves them exactly like in the create flow. The only difference compared to create is that line items may additionally carry the original uuid values of existing invoice rows; the create flow ignores them.
Invoice line items. This field stays required on update. If you send the original uuid of an existing line item from the invoice detail response, the backend can preserve warehouse outbound receipt links and synchronize changed allocations on that same logical row.
1 - 100 elementsPayload for a single invoice line item during update. The validation rules are the same as in create, but you may additionally send the original uuid of an existing invoice row. You can obtain that UUID from the invoice detail response. The backend uses it during warehouse allocation and outbound receipt synchronization so it can match the edited line with the original stored line. In the create flow, item uuid is not part of the request contract; if you send it, the backend ignores it.
- Option 1
- Option 2
- Option 3
- Option 4
Delivery method ID from the delivery method reference table. Precedence is payload → client default → company document settings.
1
Payment method ID from the payment method reference table. Precedence is payload → client default → company document settings.
1
Currency ID from the currency reference table. Precedence is payload → client default → company document settings.
1
Language ID from the language reference table. Precedence is payload → client default → company document settings.
1
QR type ID from the QR type reference table. If omitted, the company document settings value is used.
1
Response
Invoice updated.
Invoice.
Delivery method ID from the delivery method reference table.
1
Payment method ID from the payment method reference table.
1
Currency ID from the currency reference table.
1
Language ID from the language reference table.
1
QR type ID from the QR type reference table.
1

