Retrieve an invoice

Operation ID: getInvoice

Group: Accounting › Invoices

Open in the interactive reference

GET /accounting/invoices/{id}

Read-only: Reads and returns; changes nothing.

Retrieves an invoice. Use the invoice's id, not its invoiceNumber.

Parameters

Name In Type Required Description
Api-Version header string · v1 yes The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1.
id path string yes The unique identifier of the invoice you want to retrieve.

Response

200 Success

Under data (getInvoiceOutput):

Field Type Required Description
id string yes The unique identifier for the invoice.
invoiceNumber string no The invoice number, for example 'INV-1', unique within the tenant. Absent while none has been assigned.
invoiceDate date yes The date the invoice was issued. Format YYYY-MM-DD. Payment terms and the general ledger impact are both based on this date.
dueDate date no The date payment falls due, the invoice date plus the payment term. Format YYYY-MM-DD. Absent when no term has been resolved.
lastPaidDate date no The date the most recent payment was applied. Format YYYY-MM-DD. Absent on an invoice that has never been paid against.
invoiceStatus string no The settlement status of the invoice. Possible values: 'unpaid', 'partiallyPaid', 'paidInFull', 'creditedInFull', 'isOverdue', 'disputed'.
approvalStatus string no The finance approval status of the invoice. Possible values: 'draft', 'pendingApproval', 'approved', 'revise', 'rejected'.
deliveryStatus string no How far the invoice has got in being sent to the customer. Possible values: 'created', 'toBeSent', 'delivered', 'read', 'failed'.
disputeStatus string no The dispute status of the invoice, set only when payments against it are under dispute. Possible values: 'disputed', 'chargedBack'.
dataSource string no The system the invoice record was imported from, for invoices that arrived through an integration or migration rather than being created in this system. For example 'NetSuite', 'Quickbooks', 'Stripe' or 'MigrationFile'. Absent on invoices created in this system.
currency string yes The currency of the invoice. Format ISO 4217, for example 'USD'. It applies to every amount on the record, on the header and on every line.
customerMessage string no A free-form message printed on the invoice for the customer.
externalInvoiceId string no The invoice's identifier in an external source system, kept for reconciliation. For identifiers owned by your other systems, prefer externalIdentifiers below.
customerId string yes The customer the invoice is issued to. See id on GET accounting/customers/:id.
customerName string no The display name of the customer, as it appears on the document.
customerNumber string no The customer number of the customer, unique within the tenant.
entityId string yes The legal entity issuing the invoice. See id on GET base/entities.
entityName string no The name of the issuing legal entity.
salesOrderId string no The sales order the invoice was billed from. Absent on invoices created directly. See id on GET accounting/sales-orders/:id.
salesOrderNumber string no The number of the source sales order. Present whenever salesOrderId is.
billToAddress object no The bill-to address the invoice is sent to. Absent when the invoice references no bill-to record.
billToAddress.addressId string no The unique identifier for the address record. Absent when none is set.
billToAddress.line1 string yes The first address line: street number and name, or PO box.
billToAddress.line2 string no The second address line: apartment, suite, unit, building or floor.
billToAddress.city string yes The city or locality.
billToAddress.stateProvince string no The state, province or region.
billToAddress.country string yes The country, as a name or ISO 3166-1 code.
billToAddress.zipCode string yes The postal or ZIP code.
soldToAddress object no The sold-to address the product or service was delivered to, used for tax determination. Absent when the invoice references no sold-to record.
soldToAddress.addressId string no The unique identifier for the address record. Absent when none is set.
soldToAddress.line1 string yes The first address line: street number and name, or PO box.
soldToAddress.line2 string no The second address line: apartment, suite, unit, building or floor.
soldToAddress.city string yes The city or locality.
soldToAddress.stateProvince string no The state, province or region.
soldToAddress.country string yes The country, as a name or ISO 3166-1 code.
soldToAddress.zipCode string yes The postal or ZIP code.
invoiceEmail string no The email address of the business contact that receives this invoice.
purchaseOrders array<string> no The purchase order references the customer supplied, derived from the sales order. These are the customer's own document numbers. An empty array when none were supplied.
purchaseOrderOverride string no A manually entered PO number that overrides the sales-order-derived values in purchaseOrders.
paymentTermDays number no The number of days after the invoice date that payment falls due, resolved from the invoice's payment term. The term record itself is not published, only its day count.
exchangeRate decimal no The rate used to convert the invoice's currency to the entity's functional currency. Absent when no conversion applies.
excludeFromTaxEngine boolean no Whether the invoice is left out of the tax engine. Derived from the sales order.
subtotal decimal no The amount before taxes and discounts, in the invoice currency. Absent when no subtotal has been computed.
totalTax decimal no The total tax across all lines, in the invoice currency.
totalDutiesAndCustoms decimal no The total duties and customs across all lines, in the invoice currency.
totalAmount decimal no The total invoiced, including taxes and duties, in the invoice currency.
totalAmountDue decimal no The amount that was due when the invoice was created, in the invoice currency.
totalCredited decimal no The total credited back against this invoice by credit memos, in the invoice currency.
totalLateFeeAmount decimal no The total late fees charged on this invoice, in the invoice currency.
lineDiscounts decimal no The sum of discount amounts across all invoice lines, in the invoice currency.
oneTimeDiscount decimal no The one-time discount applied to the invoice as a whole, in the invoice currency.
paymentsApplied decimal no The amount settled by payments so far, in the invoice currency.
adjustments decimal no The sum of small-balance write-offs and early-payment discounts recorded against this invoice, in the invoice currency.
lastModifiedDate date-time yes The date and time the invoice record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
lines array<object> no The lines of the invoice, each billing one product or free-text item. An empty array when the invoice has no lines. All line amounts are in the invoice currency.
lines[].id string yes The unique identifier for the invoice line.
lines[].invoiceLineNumber string no The sequential line number within the invoice.
lines[].description string no The line description, as shown to the customer.
lines[].lineType string no The kind of charge the line is. Possible values: 'recurring', 'oneTime', 'oneTimeDiscount', 'usageOverage', 'overage', 'payAsYouGo', 'commit', 'lateFee', 'creditCardProcessingFee', 'billableTime', 'billablePassThrough', 'billableTravelExpense'.
lines[].productId string no The billed product. Set only on lines created from a product reference, absent on free-text lines. See id on GET accounting/products/:id.
lines[].productCode string no The product code as it stood when the line was created. A snapshot, so it does not follow later changes to the product.
lines[].productDescription string no The product description as it stood when the line was created. A snapshot, as with productCode.
lines[].quantity decimal no The quantity billed. A count, not an amount, so it has no currency.
lines[].unitOfMeasure string no The unit the quantity is measured in, for example 'each', 'hour' or 'gigabyte'.
lines[].unitPrice decimal no The price per unit actually charged, in the invoice currency.
lines[].listPrice decimal no The undiscounted list price per unit, in the invoice currency.
lines[].totalPrice decimal no The line total excluding tax and duties, in the invoice currency.
lines[].discountAmount decimal no The discount granted on the line, in the invoice currency.
lines[].discountPercentage decimal no The discount granted on the line as a percentage. A rate, not an amount, so it has no currency.
lines[].taxAmount decimal no The tax on the line, in the invoice currency.
lines[].dutiesAndCustomsAmount decimal no The duties and customs charged on the line, in the invoice currency.
lines[].amount decimal no The total billed for the line, including tax and duties, in the invoice currency.
lines[].totalAmountDue decimal no The amount of the line still due, in the invoice currency.
lines[].taxCode string no The tax code applied to the line.
lines[].taxDate date no The date the line's tax was determined on. Format YYYY-MM-DD.
lines[].serviceStartDate date no The first day of the service period the line covers. Format YYYY-MM-DD.
lines[].serviceEndDate date no The last day of the service period the line covers, inclusive. Format YYYY-MM-DD.
externalIdentifiers array<object> no External identifiers owned by your other systems. At most one entry per fieldName. An empty array when the invoice has none.
externalIdentifiers[].fieldName string yes The configured key of the external identifier, a stable camelCase slug such as 'netsuiteInvoiceId', not the human-readable label. It must match an active external-identifier configuration for invoices.
externalIdentifiers[].value string yes The identifier as the source system stores it.
externalIdentifiers[].externalUrl string no An absolute http or https link to the object in the originating system. Absent when none is set.
{
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "invoiceNumber": "<invoiceNumber>",
    "invoiceDate": "2026-01-15",
    "dueDate": "2026-01-15",
    "lastPaidDate": "2026-01-15",
    "invoiceStatus": "<invoiceStatus>",
    "approvalStatus": "<approvalStatus>",
    "deliveryStatus": "<deliveryStatus>",
    "disputeStatus": "<disputeStatus>",
    "dataSource": "<dataSource>",
    "currency": "<currency>",
    "customerMessage": "<customerMessage>",
    "externalInvoiceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "customerName": "<customerName>",
    "customerNumber": "<customerNumber>",
    "entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "entityName": "<entityName>",
    "salesOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "salesOrderNumber": "<salesOrderNumber>",
    "billToAddress": {
      "addressId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "line1": "<line1>",
      "line2": "<line2>",
      "city": "<city>",
      "stateProvince": "<stateProvince>",
      "country": "<country>",
      "zipCode": "<zipCode>"
    },
    "soldToAddress": {
      "addressId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "line1": "<line1>",
      "line2": "<line2>",
      "city": "<city>",
      "stateProvince": "<stateProvince>",
      "country": "<country>",
      "zipCode": "<zipCode>"
    },
    "invoiceEmail": "<invoiceEmail>",
    "purchaseOrders": [
      "<purchaseOrders>"
    ],
    "purchaseOrderOverride": "<purchaseOrderOverride>",
    "paymentTermDays": 0,
    "exchangeRate": "19.99",
    "excludeFromTaxEngine": true,
    "subtotal": "19.99",
    "totalTax": "19.99",
    "totalDutiesAndCustoms": "19.99",
    "totalAmount": "19.99",
    "totalAmountDue": "19.99",
    "totalCredited": "19.99",
    "totalLateFeeAmount": "19.99",
    "lineDiscounts": "19.99",
    "oneTimeDiscount": "19.99",
    "paymentsApplied": "19.99",
    "adjustments": "19.99",
    "lastModifiedDate": "2026-01-15T09:30:00.000Z",
    "lines": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "invoiceLineNumber": "<invoiceLineNumber>",
        "description": "<description>",
        "lineType": "<lineType>",
        "productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "productCode": "<productCode>",
        "productDescription": "<productDescription>",
        "quantity": "19.99",
        "unitOfMeasure": "<unitOfMeasure>",
        "unitPrice": "19.99",
        "listPrice": "19.99",
        "totalPrice": "19.99",
        "discountAmount": "19.99",
        "discountPercentage": "19.99",
        "taxAmount": "19.99",
        "dutiesAndCustomsAmount": "19.99",
        "amount": "19.99",
        "totalAmountDue": "19.99",
        "taxCode": "<taxCode>",
        "taxDate": "2026-01-15",
        "serviceStartDate": "2026-01-15",
        "serviceEndDate": "2026-01-15"
      }
    ],
    "externalIdentifiers": [
      {
        "fieldName": "<fieldName>",
        "value": "<value>",
        "externalUrl": "<externalUrl>"
      }
    ]
  },
  "diagnostics": [
    {
      "code": "<code>",
      "message": "<message>",
      "severity": "error",
      "path": [
        "<path>"
      ],
      "details": "<details>"
    }
  ]
}

Errors

Code Status
NOT_FOUND 400

Statuses