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

# Get an invoice

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

Retrieve the details of a single invoice (required scope finance:read)

## Path parameters

- `invoiceId` integer, required

## Headers

- `Customer-Id` integer, required

## Response `200`

OK

- ReadInvoiceModel — Represents a model that holds information about an invoice
  - `id` integer — The unique identifier of the invoice
  - `jobId` integer, nullable — The unique identifier of the job associated with this invoice, if applicable
  - `jobGroupId` integer, nullable — The unique identifier of the job group associated with this invoice, if applicable
  - `contactId` integer — The unique identifier of the contact associated with this invoice
  - `contractId` integer, nullable — The unique identifier of the contract associated with this invoice, if applicable.<br/>Shown even if the contract has been soft deleted
  - `createdAt` string, date-time — The dateTime the invoice was created
  - `dueAt` string, date-time, nullable — The date the invoice is due to be paid, calculated from the issue date and the payment terms.<br/>Null if payment terms have not been set on the invoice
  - `reference` string — The reference of the invoice
  - `currencyCode` 'EUR' | 'AUD' | 'GBP' | 'BGN' | 'CAD' | 'CZK' | 'DKK' | 'HUF' | 'ILS' | 'LVL' | 'LTL' | 'MXN' | 'NZD' | 'NOK' | 'PLN' | 'RON' | 'RUB' | 'ZAR' | 'SEK' | 'CHF' | 'AED' | 'USD' | 'UNKNOWN' — CurrencyCode definitions enum, matches currencies available in the BigChange Client Site with an unknown value to handle unrecognised currencies returned from the database<p>Possible values:</p><ul><li><b>EUR</b>: Euro</li><li><b>AUD</b>: Australian Dollar</li><li><b>GBP</b>: Pound Sterling</li><li><b>BGN</b>: Bulgarian Lev</li><li><b>CAD</b>: Canadian Dollar</li><li><b>CZK</b>: Czech Koruna</li><li><b>DKK</b>: Danish Krone</li><li><b>HUF</b>: Forint</li><li><b>ILS</b>: New Israeli Sheqel</li><li><b>LVL</b>: Latvian Lats - replaced by Euro</li><li><b>LTL</b>: Lithuanian Litas - replaced by Euro</li><li><b>MXN</b>: Mexican Peso</li><li><b>NZD</b>: New Zealand Dollar</li><li><b>NOK</b>: Norwegian Krone</li><li><b>PLN</b>: Zloty</li><li><b>RON</b>: Romanian Leu</li><li><b>RUB</b>: Russian Ruble</li><li><b>ZAR</b>: Rand</li><li><b>SEK</b>: Swedish Krona</li><li><b>CHF</b>: Swiss Franc</li><li><b>AED</b>: UAE Dirham</li><li><b>USD</b>: US Dollar</li><li><b>UNKNOWN</b>: Unknown currency</li></ul>
  - `deliverySiteContactId` integer, nullable — The unique identifier of the delivery site contact associated with this invoice, if applicable
  - `nominalCodeId` integer, nullable — The unique identifier of the nominal code associated with this invoice, if applicable
  - `bankAccountId` integer, nullable — The unique identifier of the bank account associated with this invoice, if applicable
  - `departmentCodeId` integer, nullable — The unique identifier of the department associated with this invoice, if applicable
  - `clientNotes` string — Notes on the invoice
  - `internalNotes` string — Internal notes not visible to the client
  - `sentAt` string, date-time, nullable — The date and time when the invoice was sent, if applicable
  - `cancelledAt` string, date-time, nullable — The date and time when the invoice was cancelled, if applicable
  - `paidAt` string, date-time, nullable — The date and time when the invoice was paid, if applicable
  - `acceptedAt` string, date-time, nullable — The date and time when the invoice was accepted, if applicable
  - `cost` number, double, nullable — The cost of the invoice
  - `totalExclTax` number, double — The total amount excluding tax
  - `totalInclTax` number, double — The total amount including tax
  - `totalPaid` number, double — The total amount paid
  - `paymentLink` string — The payment link associated with the invoice, if applicable
  - `customFields` CustomFieldReadModel[] — Custom fields associated with the invoice
    - `definitionId` integer — The unique identifier of the associated custom field definition
    - `value` string, nullable — The current value set for the custom field
    - `definition` CustomFieldEmbeddedDefinitionModel — Represents the definition of a custom field
      - `caption` string — The caption of a custom field
      - `type` 'boolean' | 'integer' | 'decimal' | 'text' | 'list' | 'statement' | 'date' | 'note' | 'time' | 'systemList' — The type of the custom field. New field types may be added in the future, so integrations should be resilient to this<p>Possible values:</p><ul><li><b>boolean</b>: Indicates a boolean field <i>(Example: "false")</i></li><li><b>integer</b>: Indicates an integer numeric field <i>(Example: "1001")</i></li><li><b>decimal</b>: Indicates a floating point numeric field <i>(Example: "1.42")</i></li><li><b>text</b>: Indicates an editable text field <i>(Example: "Purple")</i></li><li><b>list</b>: Indicates a field with a single value from a predefined list of options <i>(Example: "Purple")</i></li><li><b>statement</b>: Indicates a text field that cannot be edited. The value is always equal to the default value <i>(Example: "By signing this you agree to the following...")</i></li><li><b>date</b>: Indicates a date field, which will be represented as an RFC3339 formatted date string. The default value is not supported for this type and will always be null <i>(Example: "2024-01-31")</i></li><li><b>note</b>: Indicates a multiline, editable text field. Lines are seperated with a line feed character <i>(Example: "This is a note.")</i></li><li><b>time</b>: Indicates a time field, formatted as HH:mm. The default value is not supported for this type and will always be null <i>(Example: "10:30")</i></li><li><b>systemList</b>: Indicates the ID of a related resource, vehicle or web user <i>(Example: "228007")</i></li></ul>
      - `listOptions` string[], nullable — Shows the possible values for a list type custom field. Value will be null if type is not list
      - `isRequired` boolean — Indicates if the field is required in the UI. This is NOT enforced in the API
      - `isEditable` boolean — Indicates if the field is editable
      - `default` string, nullable — The default value of a custom field. Formatted in accordance with the rules of the field type
    - `systemListValueMetadata` SystemListValueMetadataModel — Represents details of custom field value of type system list
      - `label` string, nullable — A descriptive label for the specific resource, vehicle or web user that this system list value relates to
      - `entityType` 'resource' | 'vehicle' | 'webUser' — The type of entity used for custom field value of type system list<p>Possible values:</p><ul><li><b>resource</b></li><li><b>vehicle</b></li><li><b>webUser</b></li></ul>

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `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)
