Updates an invoice

IMPORTANT: This is a full-replace operation (PUT semantics). All fields must be
included in the request body — omitting any field will set it to null, wiping
existing data. Always call retrieve-an-invoice first to fetch the current record,
then include ALL existing fields in your update request along with your changes.
Exceptions that keep stored data when the field is omitted:

  • metadata: omit it to keep all existing metadata, or send only the keys you want to set or clear.
  • shipping_customer_id, billing_address_id, shipping_address_id: omit them to keep the invoice's current
    ship-to customer and addresses, or send null to clear them. This is for backward compatibility:
    integrations built before these fields existed won't clear them on every update.
  • email_selection: omit it to keep the invoice's current recipients.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

UUID of the invoice to be used in this operation.

Body Params
items
array of objects
required
length ≥ 1
items*
date

If not provided, defaults to the invoice date.

date
required
string
string
uuid
required

The ID for the bank account that should be shown on the invoice. You can also find the ID in the Rillet UI at /settings/bank-accounts.

uuid | null

The customer to ship to. Omit to keep the current ship-to customer. Send null, or the billing customer's ID, to ship to the billing customer instead of a separate shipping customer. When the ship-to customer changes and shipping_address_id is omitted, the first address in the new ship-to customer's shipping_addresses is used. Only standalone invoices can change their ship-to selection; update the contract for contract invoices.

uuid | null

ID of one of the billing customer's billing_addresses. Omit to keep the current billing address while it still exists on the customer. Send null to remove it; rejected when a tax provider is connected.

uuid | null

ID of one of the ship-to customer's shipping_addresses. Omit to keep the current shipping address while it still exists on the ship-to customer (unless shipping_customer_id changes). Send null to remove it. Changing either address recalculates tax.

email_selection
object

Who receives this invoice. Omit to keep the current selection. For an invoice generated by a contract, only the contract's current selection is accepted; change it on the contract instead.

external_references
array of objects, unique
external_references
metadata
object | null

Partial metadata update keyed by definition key. Omitting this property preserves all existing metadata. When supplied, omitted keys remain unchanged; null, empty, or whitespace-only values clear only the named key.

string
Defaults to FULL
Responses

Language
Credentials
Bearer
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json