List sales returns
Operation ID: salesReturns
Group: Inventory › Sales Returns
Open in the interactive reference
GET /inventory/sales-returns
Read-only: Reads and returns; changes nothing.
Lists sales returns, without their lines. Each return comes back with lineCount instead of its lines. To read the lines, use GET inventory/sales-returns/:id or POST inventory/sales-returns/search.
To filter by customer, reference number, tracking number, item, or warehouse, use POST inventory/sales-returns/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, likedocumentNumber— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likedocumentStatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likedocumentDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweendeliveryDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenentityId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likereturnType— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likelastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, documentNumber, documentDate, deliveryDate, documentStatus, totalAmount, createdDate, lastModifiedDate
- Selectable: id, documentNumber, documentStatus, documentDate, deliveryDate, entityId, entityName, businessPartnerId, businessPartnerName, currency, totalAmount, returnFeeAmount, returnType, lineCount, referenceNumber, trackingNumber, sourceDocumentId, sourceDocumentType, notes, createdDate, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of salesReturnsRow:
| 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 sales return. Example: "5e9b0c74-1a26-4d83-b5f0-73c8e2a91d46". |
documentNumber |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The sales return number, for example 'SR-1042'. Assigned on create. Example: "SR-1042". |
documentStatus |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The status of the return. Possible values: 'DRAFT', 'OPEN', 'COMMITTED', 'RECEIVED', 'INSPECTED', 'PROCESSED', 'COMPLETED', 'CANCELLED'. Example: "DRAFT". |
documentDate |
date | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date the return is dated. Format YYYY-MM-DD. Example: "2026-08-14". |
deliveryDate |
date | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | When the goods are expected back, or came back. Format YYYY-MM-DD. Example: "2026-08-18". |
entityId |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The unique identifier for the legal entity. See id on GET base/entities. Example: "1a9c4e70-38b5-4d26-9f01-7c2e5b8a6d43". |
entityName |
string | null | no | no | no | The name of that legal entity. Example: "Acme Netherlands B.V.". |
businessPartnerId |
string | no | no | no | The unique identifier for the customer. Despite the name, this is a customer id. See id on GET accounting/customers/:id. Example: "c73f2b81-5d94-4e60-a812-0f9b6d3e45c7". |
businessPartnerName |
string | null | no | no | no | The name of that customer. Example: "Bakker Retail B.V.". |
currency |
string | null | no | no | no | The currency the return is valued in. Format ISO 4217, for example 'EUR'. Example: "EUR". |
totalAmount |
decimal | null | no | no | yes | The total value of the return, in the return's currency. Example: "144.00". |
returnFeeAmount |
decimal | null | no | no | no | The fee withheld across the return, in the document's currency. Example: "0.00". |
returnType |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | How the business classifies the return. |
lineCount |
number | null | no | no | no | How many lines the return has. Published because the lines themselves are not. Example: 1. |
referenceNumber |
string | null | no | no | no | The customer's own reference for the return, for example an RMA number. |
trackingNumber |
string | null | no | no | no | The carrier's tracking number for the returned goods. |
sourceDocumentId |
string | null | no | no | no | The document the goods went out on, where the platform recorded one, as its own numeric id in a string. It is not an identifier this API can look up. The usable link is sourceDocumentLineId on the line, which GET inventory/sales-returns/:id and POST inventory/sales-returns/search return. |
sourceDocumentType |
string | null | no | no | no | What kind of document that id refers to, for example 'SalesDelivery'. |
notes |
string | null | no | no | no | Free text on the document. Example: "Customer reports transit damage". |
createdDate |
date-time | null | no | no | yes | The date and time the return was created, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: "2026-08-14T08:30:00.000Z". |
lastModifiedDate |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the return record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: "2026-08-14T08:30:00.000Z". |
{
"data": [
{
"id": "5e9b0c74-1a26-4d83-b5f0-73c8e2a91d46",
"documentNumber": "SR-1042",
"documentStatus": "DRAFT",
"documentDate": "2026-08-14",
"deliveryDate": "2026-08-18",
"entityId": "1a9c4e70-38b5-4d26-9f01-7c2e5b8a6d43",
"entityName": "Acme Netherlands B.V.",
"businessPartnerId": "c73f2b81-5d94-4e60-a812-0f9b6d3e45c7",
"businessPartnerName": "Bakker Retail B.V.",
"currency": "EUR",
"totalAmount": "144.00",
"returnFeeAmount": "0.00",
"returnType": "<returnType>",
"lineCount": 1,
"referenceNumber": "<referenceNumber>",
"trackingNumber": "<trackingNumber>",
"sourceDocumentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"sourceDocumentType": "<sourceDocumentType>",
"notes": "Customer reports transit damage",
"createdDate": "2026-08-14T08:30:00.000Z",
"lastModifiedDate": "2026-08-14T08: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