Vezmo App

Billing · Invoices

Update invoice

Changes only the fields you send, then emails the updated invoice to the client. A paid or cancelled invoice is final and can’t be changed. Once an invoice has a payment, its amount and currency can’t change.

Authorization

Header

Path parameters

id string Required

The invoice’s id.

Body parameters

lineItems array

Replaces all line items and recalculates amount, discount and tax. Items take the same fields as Create invoice. An invoice linked to a project can’t gain items.

amount number

New total in major units, e.g. 5000.00. Ignored when lineItems is sent.

discount number

Discount amount in major units. Ignored when lineItems is sent.

tax number

Tax amount in major units. Ignored when lineItems is sent.

currency string

USD, EUR, GBP, CAD, AUD, AED, SGD, INR, BDT or BRL.

status enum

DRAFT, PENDING or CANCELLED. Cancelling sends invoice.cancelled. An invoice is PAID only when its payment goes through (that sends invoice.paid); OVERDUE is worked out from the due date and never stored.

dueDate date

ISO 8601 date, e.g. 2027-01-31. null clears it.

description string

A note shown to the client.

clientId string

Moves the invoice to another of your clients.

issuedAt date-time

Issue date, ISO 8601.

country string

Country shown on the invoice.

contractId string

Links the invoice to one of your contracts. Must be of the invoice’s own mode (a sandbox invoice can’t bill a live project or contract): 404 otherwise.

clientProjectId string

Links the invoice to one of your client projects. Must be of the invoice’s own mode (a sandbox invoice can’t bill a live project or contract): 404 otherwise.

metadata object

Your own JSON data. Replaces the stored metadata.

vizibility enum

PUBLIC or PRIVATE. Stored for your records.

partialPayment boolean

Stored for your records; the client still pays the full total.

recurring boolean

Stored for your records; it doesn’t schedule repeat invoices.

quantity number

Whole number stored for your records.

Good to know

  • Every save emails the client the updated invoice, at most once a minute per invoice. An edit inside that minute is saved but sends no email. Cancelling sends no email.
  • paidAt is set by the payment. A value you send is ignored.

Errors

  • 400 “This invoice is paid, so it can’t be changed.” (or “…is cancelled…”): a PAID or CANCELLED invoice is final.
  • 400 “An invoice is marked PAID when its payment goes through; it cannot be set to PAID.”
  • 400 “A bank payment on this invoice is still clearing, so it can’t be cancelled.” or “This invoice already has a payment, so it can’t be cancelled.”