List invoices
Operation ID: invoices
Group: Accounting › Invoices
Open in the interactive reference
GET /accounting/invoices
Read-only: Reads and returns; changes nothing.
Lists invoices. The collection doesn't include lines, billToAddress, soldToAddress, purchaseOrders, or externalIdentifiers. To get these fields, use GET accounting/invoices/:id or POST accounting/invoices/search.
To filter by invoiceNumber, customerName, customerNumber, entityName, salesOrderNumber, billToAddress, soldToAddress, invoiceEmail, purchaseOrderOverride, externalInvoiceId, customerMessage, or externalIdentifier, use POST accounting/invoices/search.
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. |
Query surface
id— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeinvoiceDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweendueDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenlastPaidDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweeninvoiceStatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeapprovalStatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likedeliveryStatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likedisputeStatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likedataSource— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecurrency— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likepaymentTermDays— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenexchangeRate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenexcludeFromTaxEngine— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweencustomerId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeentityId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likesalesOrderId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likesubtotal— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweentotalTax— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweentotalDutiesAndCustoms— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweentotalAmount— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweentotalAmountDue— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweentotalCredited— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweentotalLateFeeAmount— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenlineDiscounts— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenoneTimeDiscount— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenpaymentsApplied— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenadjustments— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenlastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, invoiceDate, dueDate, lastPaidDate, invoiceStatus, approvalStatus, deliveryStatus, disputeStatus, dataSource, currency, customerId, entityId, salesOrderId, paymentTermDays, exchangeRate, excludeFromTaxEngine, subtotal, totalTax, totalDutiesAndCustoms, totalAmount, totalAmountDue, totalCredited, totalLateFeeAmount, lineDiscounts, oneTimeDiscount, paymentsApplied, adjustments, lastModifiedDate
- Selectable: id, invoiceNumber, invoiceDate, dueDate, lastPaidDate, invoiceStatus, approvalStatus, deliveryStatus, disputeStatus, dataSource, currency, customerMessage, externalInvoiceId, invoiceEmail, purchaseOrderOverride, paymentTermDays, exchangeRate, excludeFromTaxEngine, customerId, customerName, customerNumber, entityId, entityName, salesOrderId, salesOrderNumber, subtotal, totalTax, totalDutiesAndCustoms, totalAmount, totalAmountDue, totalCredited, totalLateFeeAmount, lineDiscounts, oneTimeDiscount, paymentsApplied, adjustments, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of invoicesRow:
| Field | Type | Required | Filter | Sort | Description |
|---|---|---|---|---|---|
id |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The unique identifier for the invoice. |
invoiceNumber |
string | null | no | no | no | The invoice number, for example 'INV-1', unique within the tenant. Absent while none has been assigned. |
invoiceDate |
date | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
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 | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | 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 | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date the most recent payment was applied. Format YYYY-MM-DD. Absent on an invoice that has never been paid against. |
invoiceStatus |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The settlement status of the invoice. Possible values: 'unpaid', 'partiallyPaid', 'paidInFull', 'creditedInFull', 'isOverdue', 'disputed'. |
approvalStatus |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The finance approval status of the invoice. Possible values: 'draft', 'pendingApproval', 'approved', 'revise', 'rejected'. |
deliveryStatus |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | How far the invoice has got in being sent to the customer. Possible values: 'created', 'toBeSent', 'delivered', 'read', 'failed'. |
disputeStatus |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The dispute status of the invoice, set only when payments against it are under dispute. Possible values: 'disputed', 'chargedBack'. |
dataSource |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | 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 | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
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 | null | no | no | no | A free-form message printed on the invoice for the customer. |
externalInvoiceId |
string | null | no | no | no | The invoice's identifier in an external source system, kept for reconciliation. For identifiers owned by your other systems, prefer externalIdentifiers below. |
invoiceEmail |
string | null | no | no | no | The email address of the business contact that receives this invoice. |
purchaseOrderOverride |
string | null | no | no | no | A manually entered PO number that overrides the sales-order-derived values in purchaseOrders. |
paymentTermDays |
number | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | 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 | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The rate used to convert the invoice's currency to the entity's functional currency. Absent when no conversion applies. |
excludeFromTaxEngine |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Whether the invoice is left out of the tax engine. Derived from the sales order. |
customerId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The customer the invoice is issued to. See id on GET accounting/customers/:id. |
customerName |
string | null | no | no | no | The display name of the customer, as it appears on the document. |
customerNumber |
string | null | no | no | no | The customer number of the customer, unique within the tenant. |
entityId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The legal entity issuing the invoice. See id on GET base/entities. |
entityName |
string | null | no | no | no | The name of the issuing legal entity. |
salesOrderId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The sales order the invoice was billed from. Absent on invoices created directly. See id on GET accounting/sales-orders/:id. |
salesOrderNumber |
string | null | no | no | no | The number of the source sales order. Present whenever salesOrderId is. |
subtotal |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The amount before taxes and discounts, in the invoice currency. Absent when no subtotal has been computed. |
totalTax |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The total tax across all lines, in the invoice currency. |
totalDutiesAndCustoms |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The total duties and customs across all lines, in the invoice currency. |
totalAmount |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The total invoiced, including taxes and duties, in the invoice currency. |
totalAmountDue |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The amount that was due when the invoice was created, in the invoice currency. |
totalCredited |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The total credited back against this invoice by credit memos, in the invoice currency. |
totalLateFeeAmount |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The total late fees charged on this invoice, in the invoice currency. |
lineDiscounts |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The sum of discount amounts across all invoice lines, in the invoice currency. |
oneTimeDiscount |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The one-time discount applied to the invoice as a whole, in the invoice currency. |
paymentsApplied |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The amount settled by payments so far, in the invoice currency. |
adjustments |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The sum of small-balance write-offs and early-payment discounts recorded against this invoice, in the invoice currency. |
lastModifiedDate |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the invoice record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
{
"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",
"invoiceEmail": "<invoiceEmail>",
"purchaseOrderOverride": "<purchaseOrderOverride>",
"paymentTermDays": 0,
"exchangeRate": "19.99",
"excludeFromTaxEngine": true,
"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>",
"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"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<nextCursor>"
}
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error