Retrieve a receipt

Operation ID: getReceipt

Group: Inventory › Receipts

Open in the interactive reference

GET /inventory/receipts/{id}

Read-only: Reads and returns; changes nothing.

Retrieves a receipt. Use the receipt's id, not its documentNumber.

The response includes all of the receipt's lines and their batch, serial, and bin detail. POST inventory/receipts/search returns the same fields. The collection GET inventory/receipts returns the receipt's main fields only, with lineCount instead of the lines.

Read lineType before reading a line. An Inventory line has an item, a warehouse, and a quantity. A Service or Expense line has serviceDescription, an amount, and an expense account instead, and no item or warehouse.

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 receipt you want to retrieve.

Response

200 Success

Under data (getReceiptOutput):

Field Type Required Description
id string yes The unique identifier for the receipt. Example: "6a1f30c9-4d82-4b57-9e60-83c25f0a71b4".
documentNumber string no The receipt number, for example 'GR-2291'. Assigned when the receipt is created. Example: "GR-2291".
documentStatus string 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 yes The date of the receipt. Format YYYY-MM-DD. Example: "2026-08-14".
deliveryDate date no The date the goods arrived or are expected. Format YYYY-MM-DD. Example: "2026-08-14".
entityId string yes The legal entity the receipt belongs to. Example: "1a9c4e70-38b5-4d26-9f01-7c2e5b8a6d43".
entityName string no The name of that legal entity. Example: "Acme Netherlands B.V.".
businessPartnerId string yes The vendor the goods came from. Example: "b62e4f17-0c93-4a58-8d21-5f70e3b9a4c6".
businessPartnerName string no The name of that vendor. Example: "Van Dijk Components B.V.".
referenceNumber string no The vendor's own reference, typically their delivery note number. Example: "DN-77120".
trackingNumber string no The carrier's tracking number for the inbound shipment.
currency string no ISO 4217 code governing every amount on the document. The VENDOR's currency, which need not be the entity's functional one — see functionalUnitPrice on the line. Example: "EUR".
totalAmount decimal no The total value of the receipt, in the receipt's currency. Example: "725.00".
notes string no Free text on the receipt. Example: "Received at the back dock".
createdDate date-time no 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 no The date and time the receipt last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: "2026-08-14T09:20:00.000Z".
lines array<object> yes The lines of the receipt, oldest first. A receipt always has at least one line. Example: [{"id":"8c14a6f2-3b70-4d59-9e02-6f5a1d38b47c","lineType":"Inventory","itemId":"5f21c8b0-9d34-4a76-8e12-04b93c7de5a8","itemCode":"WIDGET-01","itemName":"Standard widget","locationId":"e1d84c07-5b39-4a26-9f70-2c8b613ad495","locationCode":"WH-01","locationName":"Rotterdam Distribution Centre","unitId":"3b7d5e9c-1a24-4f80-9c6d-2e8f70b13a45","unitCode":"EA","quantity":"200.00","inventoryQuantity":"200.00","openQuantity":"200.00","unitPrice":"3.20","lineTotal":"640.00","sourceDocumentLineId":"551043","sourceDocumentLineType":"PurchaseOrderLine","notes":"Two pallets"},{"id":"d0a7e3b5-2f61-4c98-b704-1a5e9c86d243","lineType":"Service","serviceDescription":"Inbound freight","lineTotal":"85.00","expenseAccountId":"4b7c0e29-6d15-4830-9f42-8a3e57c1d604","expenseAccountNumber":"615200","expenseAccountName":"Inbound freight"}].
lines[].id string yes The unique identifier for the line. Use it in updateLines and deleteLines.
lines[].lineType string no The type of the line. Possible values: 'Inventory', 'Service', 'Expense'. Only an Inventory line moves stock. A Service or Expense line records something bought that does not enter a warehouse and has a description instead of an item.
lines[].itemId string no The item received. Absent on a Service or Expense line.
lines[].itemCode string no The short code of that item.
lines[].itemName string no The name of that item.
lines[].serviceDescription string no What a Service or Expense line is for. Absent on an Inventory line.
lines[].locationId string no The warehouse the goods went into. Absent on a Service or Expense line.
lines[].locationCode string no The short code of that warehouse.
lines[].locationName string no The name of that warehouse.
lines[].unitId string no The unit the quantity is counted in.
lines[].unitCode string no The short code of that unit.
lines[].quantity decimal no The quantity received, in the line's unit.
lines[].inventoryQuantity decimal no The same quantity in the item's stocking unit.
lines[].receivedQuantity decimal no The quantity actually received, where the receiving process records it separately.
lines[].openQuantity decimal no The quantity still to be invoiced.
lines[].returnedQuantity decimal no The quantity that has gone back on a purchase return.
lines[].unitPrice decimal no The price of one unit, in the receipt's currency.
lines[].lineTotal decimal no The total for the line, in the receipt's currency.
lines[].functionalUnitPrice decimal no The unit price in the entity's functional currency. Present when the receipt is in another currency.
lines[].functionalLineTotal decimal no The line total in the entity's functional currency.
lines[].expenseAccountId string no The general ledger account a Service or Expense line is charged to. Absent on an Inventory line.
lines[].expenseAccountNumber string no The number of that account.
lines[].expenseAccountName string no The name of that account.
lines[].status string no Where the line is in the receiving process. This is free text, with no fixed set of values.
lines[].sourceDocumentLineId string no The purchase order line this line was received against. It is a numeric id in string form, not a UUID. Purchase order lines are not individually addressable, so there is no endpoint that takes it.
lines[].sourceDocumentLineType any no The kind of source document line this receipt line was created from. One of: "IMInventorySalesOrderLine", "IMInventorySalesDeliveryLine", "IMSalesOrderLine", "IMInventoryPurchaseReturnLine", "IMInventorySalesReturnLine", "IMWarehouseTransferLine", "IMInventoryDecreaseLine", "IMInventoryIncreaseLine", "IMInventoryRevaluationLine", "IMInventoryTransferLine", "IMInventoryAdjustmentLine", "IMInventoryCountLine", "IMInventoryPutAwayTask", "IMInventoryPurchaseReturnReversal", "PurchaseOrderLine", "IMLandedCostAllocationLine", "SalesOrderProductItem", "IMWarehouseTransferOrderLine", "VendorBillItemBase", "InvPurchaseDeliveryLine".
lines[].notes string no Free text on the line.
lines[].batches array<object> no The batches received on this line, for a batch-tracked item. Absent when the item is not batch-tracked.
lines[].batches[].batchNumberId string no The unique identifier for the batch record this entry created or matched.
lines[].batches[].batchNumber string yes The batch number as printed.
lines[].batches[].expirationDate date no The expiration date of the batch. Format YYYY-MM-DD.
lines[].batches[].quantity decimal yes The quantity of this batch received, in the line's unit.
lines[].batches[].inventoryQuantity decimal no The same quantity in the item's stocking unit.
lines[].batches[].openQuantity decimal no The quantity of this batch still to be invoiced.
lines[].batches[].returnedQuantity decimal no The quantity of this batch that has gone back to the vendor.
lines[].batches[].unitCost decimal no The cost of one unit of this batch, in the receipt's currency.
lines[].serials array<object> no The serialized units received, one entry per unit. Absent when the item is not serialized.
lines[].serials[].serialNumberId string no The unique identifier for the serial record this entry created or matched.
lines[].serials[].serialNumber string yes The serial number as stamped on the unit.
lines[].serials[].openQuantity decimal no The quantity of this unit still to be invoiced.
lines[].serials[].returnedQuantity decimal no The quantity of this unit that has gone back to the vendor.
lines[].serials[].unitCost decimal no The cost of this unit, in the receipt's currency.
lines[].binLocations array<object> no The bins the goods went into, in a bin-tracked warehouse. One flat array per line: an entry that names a batchNumber or serialNumber belongs to that batch or unit, and one that names neither belongs to the line.
lines[].binLocations[].binLocationId string yes The bin the goods went into.
lines[].binLocations[].binLocationCode string no The short code of that bin.
lines[].binLocations[].quantity decimal yes The quantity put into this bin, in the line's unit.
lines[].binLocations[].inventoryQuantity decimal no The same quantity in the item's stocking unit.
lines[].binLocations[].batchNumber string no The batch this bin entry belongs to, when it belongs to one of the line's batches.
lines[].binLocations[].serialNumber string no The serialized unit this bin entry belongs to, when it belongs to one of the line's units.
{
  "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": "DN-77120",
    "trackingNumber": "<trackingNumber>",
    "currency": "EUR",
    "totalAmount": "725.00",
    "notes": "Received at the back dock",
    "createdDate": "2026-08-14T09:20:00.000Z",
    "lastModifiedDate": "2026-08-14T09:20:00.000Z",
    "lines": [
      {
        "id": "8c14a6f2-3b70-4d59-9e02-6f5a1d38b47c",
        "lineType": "Inventory",
        "itemId": "5f21c8b0-9d34-4a76-8e12-04b93c7de5a8",
        "itemCode": "WIDGET-01",
        "itemName": "Standard widget",
        "locationId": "e1d84c07-5b39-4a26-9f70-2c8b613ad495",
        "locationCode": "WH-01",
        "locationName": "Rotterdam Distribution Centre",
        "unitId": "3b7d5e9c-1a24-4f80-9c6d-2e8f70b13a45",
        "unitCode": "EA",
        "quantity": "200.00",
        "inventoryQuantity": "200.00",
        "openQuantity": "200.00",
        "unitPrice": "3.20",
        "lineTotal": "640.00",
        "sourceDocumentLineId": "551043",
        "sourceDocumentLineType": "PurchaseOrderLine",
        "notes": "Two pallets"
      },
      {
        "id": "d0a7e3b5-2f61-4c98-b704-1a5e9c86d243",
        "lineType": "Service",
        "serviceDescription": "Inbound freight",
        "lineTotal": "85.00",
        "expenseAccountId": "4b7c0e29-6d15-4830-9f42-8a3e57c1d604",
        "expenseAccountNumber": "615200",
        "expenseAccountName": "Inbound freight"
      }
    ]
  },
  "diagnostics": [
    {
      "code": "<code>",
      "message": "<message>",
      "severity": "error",
      "path": [
        "<path>"
      ],
      "details": "<details>"
    }
  ]
}

Errors

Code Status
NOT_FOUND 400

Statuses