Update an invoice
Partial update: fields omitted from the body keep their stored values (invoice number, dates, client, sender, payment, currency, attachments, ...). Only invoices in draft status can be fully updated. Changing the status field moves the invoice through its lifecycle; status values are case-insensitive. The currency and the rate of an issued or paid invoice, credit note or offer are locked: a different currency or exchangeRate answers 400 CURRENCY_LOCKED (cancel and re-issue instead; before 3.14.0 a different exchangeRate was silently ignored). An unsupported currency answers 400 UNSUPPORTED_CURRENCY (with currency). A foreign-currency invoice in a fiscal year with a booked FX revaluation refuses a change of its total or date with 400 FX_REVALUATION_LIVE (re-run the revaluation after a cancel and re-issue instead).
Request
- Base URL: https://api.lumabill.ch/v1
- URL: https://api.lumabill.ch/v1/invoices/{id}
- Auth: HTTP bearer
Request body
Example request
{
"invoice_number": "INV-2025-0042",
"client_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "draft",
"issue_date": "2025-05-01",
"due_date": "2025-05-31",
"currency": "CHF",
"exchangeRate": 0.9412,
"lines": [
{
"description": "Web development - May 2025",
"quantity": 8,
"price": 150,
"vat_rate": 8.1
}
],
"notes": "Payment within 30 days.",
"payment_terms": "30 days net"
}Response
Updated invoice
Example response
{
"id": "a1b2c3d4-1234-5678-abcd-ef0123456789",
"invoice_number": "INV-2025-0042",
"client_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "sent",
"issue_date": "2025-05-01",
"due_date": "2025-05-31",
"total": 1296,
"currency": "CHF",
"lines": [
{
"description": "Web development - May 2025",
"quantity": 8,
"price": 150,
"vat_rate": 8.1
}
],
"notes": "Payment within 30 days. Thank you for your business.",
"payment_terms": "30 days net",
"created_at": "2025-04-30T08:00:00Z"
}Changes
No recorded changes to this operation across all 1 revision of this API.