---
title: "Update an invoice"
method: PATCH
path: "/v1/finance/invoices/{invoiceId}"
tags: ["Invoices"]
---

# Update an invoice

`PATCH /v1/finance/invoices/{invoiceId}`

Update an invoice (required scope finance:write)

## Path parameters

- `invoiceId` integer, required

## Headers

- `Customer-Id` integer, required

## Request body

- UpdateInvoiceModel — Represents a model that holds information about updating an invoice
  - `deliverySiteContactId` integer, nullable — The unique identifier of the delivery site contact associated with this invoice, if applicable<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `clientNotes` string, nullable — Notes on the invoice. Length must not exceed 3000 characters when provided.<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `internalNotes` string, nullable — Internal notes not visible to the client. Length must not exceed 3000 characters when provided.<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `bankAccountId` integer, nullable — The unique identifier of the bank account associated with this invoice, if applicable.<br/>Validation: When provided and not null must be a positive integer within 32-bit bounds and must exist.<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `nominalCodeId` integer, nullable — The unique identifier of the nominal code associated with this invoice, if applicable.<br/>Validation: When provided and not null must be a positive integer within 32-bit bounds and must exist.<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `departmentCodeId` integer, nullable — The unique identifier of the department code associated with this invoice, if applicable.<br/>Validation: When provided and not null must be a positive integer within 32-bit bounds and must exist.<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `reference` string, nullable — The reference code for the invoice.<br/>Validation: When provided and not null, must not be empty and can only contain alphanumeric characters, hyphens, underscores, and forward slashes.<br/><br/>Optional: Omit to retain current value or provide null to unset
  - `customFields` CustomFieldWriteModel[] — Custom fields associated with the invoice.<br/>Omit or use an empty list to retain current values.<br/> <br/>Validation:<br/>- Cannot be null when provided.<br/>- Each custom field must satisfy its definition rules for the invoice type.<br/><br/>Optional: Omit to retain current value
    - `definitionId` integer, required — The unique identifier of the associated custom field definition
    - `value` string, nullable — The value of this custom field. If set to null, any existing value will be unset

## Response `204`

No Content

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `422` — Unprocessable Content
- `500` — Internal Server Error

---

[API](https://skmtc.net/bigchange/apis/bigchange-dx.md) · [All operations](https://skmtc.net/bigchange/apis/bigchange-dx/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bigchange/bigchange-dx/revisions/916e669fc527/schema)
