# List receipts

Operation ID: `receipts`

Group: Inventory › Receipts

[Open in the interactive reference](https://docs.api.lensing.ai/lensing/v1/endpoints/receipts)

`GET /inventory/receipts`

Read-only: Reads and returns; changes nothing.

Lists receipts. The response has each receipt's main fields without its lines. lineCount is the number of lines on each receipt.

The vendor, the vendor's reference number, and the carrier's tracking number are returned but can't be filtered or sorted on here.

To read the lines, use GET inventory/receipts/:id or POST inventory/receipts/search. To filter by vendor, reference number, tracking number, item, or warehouse, use POST inventory/receipts/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, like
- `documentNumber` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `documentStatus` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `documentDate` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between
- `deliveryDate` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between
- `entityId` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `lastModifiedDate` — 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, referenceNumber, trackingNumber, currency, totalAmount, lineCount, notes, createdDate, lastModifiedDate
- `page[size]` — Page size
- `page[cursor]` — Opaque continuation cursor

## Response

`200` Success

Under `data`, an array of receiptsRow:

| 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 receipt. Example: `"6a1f30c9-4d82-4b57-9e60-83c25f0a71b4"`. |
| `documentNumber` | string \| null | no | Exact (`eq`, `ne`), Range (`gt`, `gte`, `lt`, `lte`, `between`), Any of (`in`, `notIn`), Pattern (`like`) | yes | The receipt number, for example 'GR-2291'. Assigned when the receipt is created. Example: `"GR-2291"`. |
| `documentStatus` | string | no | Exact (`eq`, `ne`), Range (`gt`, `gte`, `lt`, `lte`, `between`), Any of (`in`, `notIn`), Pattern (`like`) | yes | The status of the receipt. It is DRAFT when the receipt is created through this API and COMMITTED once you commit it with POST inventory/receipts/:id/commit. The receiving and invoicing processes set the other statuses. Example: `"DRAFT"`. |
| `documentDate` | date | no | Exact (`eq`, `ne`), Range (`gt`, `gte`, `lt`, `lte`, `between`), Any of (`in`, `notIn`) | yes | The date of the receipt. 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 | The date the goods arrived or are expected. Format YYYY-MM-DD. Example: `"2026-08-14"`. |
| `entityId` | string | no | Exact (`eq`, `ne`), Range (`gt`, `gte`, `lt`, `lte`, `between`), Any of (`in`, `notIn`), Pattern (`like`) | no | The legal entity the receipt belongs to. 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 vendor the goods came from. Example: `"b62e4f17-0c93-4a58-8d21-5f70e3b9a4c6"`. |
| `businessPartnerName` | string \| null | no | no | no | The name of that vendor. Example: `"Van Dijk Components B.V."`. |
| `referenceNumber` | string \| null | no | no | no | The vendor's own reference, typically their delivery note number. |
| `trackingNumber` | string \| null | no | no | no | The carrier's tracking number for the inbound shipment. Returned, not filterable: matching it is a search criterion. |
| `currency` | string \| null | no | no | no | ISO 4217 code the receipt is valued in. Example: `"EUR"`. |
| `totalAmount` | decimal \| null | no | no | yes | The total value of the receipt, in the receipt's currency. Example: `"725.00"`. |
| `lineCount` | number \| null | no | no | no | The number of lines on the receipt. Example: `2`. |
| `notes` | string \| null | no | no | no | Free text on the receipt. Example: `"Received at the back dock"`. |
| `createdDate` | date-time \| null | no | no | yes | The date and time the receipt was created, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: `"2026-08-14T09:20: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 receipt last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: `"2026-08-14T09:20:00.000Z"`. |

```json
{
  "data": [
    {
      "id": "6a1f30c9-4d82-4b57-9e60-83c25f0a71b4",
      "documentNumber": "GR-2291",
      "documentStatus": "DRAFT",
      "documentDate": "2026-08-14",
      "deliveryDate": "2026-08-14",
      "entityId": "1a9c4e70-38b5-4d26-9f01-7c2e5b8a6d43",
      "entityName": "Acme Netherlands B.V.",
      "businessPartnerId": "b62e4f17-0c93-4a58-8d21-5f70e3b9a4c6",
      "businessPartnerName": "Van Dijk Components B.V.",
      "referenceNumber": "<referenceNumber>",
      "trackingNumber": "<trackingNumber>",
      "currency": "EUR",
      "totalAmount": "725.00",
      "lineCount": 2,
      "notes": "Received at the back dock",
      "createdDate": "2026-08-14T09:20:00.000Z",
      "lastModifiedDate": "2026-08-14T09:20:00.000Z"
    }
  ],
  "pagination": {
    "hasMore": true,
    "nextCursor": "<nextCursor>"
  }
}
```

## Statuses

- `400` — Invalid request or business failure
- `401` — The request carries no valid access token.
- `403` — Not authorized
- `404` — Not found
- `429` — Too many requests from this client address. The response has no body and no `Retry-After` header.
- `500` — Internal server error
