Skip to main content

Item Receipt API

Record receipt of items from purchase orders.


Endpoints

MethodEndpointDescription
GET/record/v1/itemReceiptList item receipts
GET/record/v1/itemReceipt/{id}Get specific receipt
POST/record/v1/itemReceiptCreate receipt
PATCH/record/v1/itemReceipt/{id}Update receipt
DELETE/record/v1/itemReceipt/{id}Delete receipt

Key Fields

FieldTypeDescriptionRequired
idstringInternal ID-
tranIdstringReceipt numberAuto-generated
entityobjectVendorYes
tranDatestringReceipt dateYes
subsidiaryobjectSubsidiaryYes (OneWorld)
locationobjectReceiving locationNo
memostringReceipt notesNo
departmentobjectDepartmentNo
classobjectClassNo
createdFromobjectSource PONo
landedCostMethodobjectLanded cost methodNo
itemcollectionItems receivedYes

Example: Create Item Receipt from PO

POST /record/v1/itemReceipt
Content-Type: application/json

Request Body

{
"entity": {
"id": "789"
},
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1"
},
"location": {
"id": "1"
},
"department": {
"id": "10"
},
"createdFrom": {
"id": "2001"
},
"memo": "Received shipment - all items in good condition",
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 100,
"itemReceive": true,
"location": { "id": "1" }
},
{
"item": { "id": "790" },
"quantity": 50,
"itemReceive": true,
"location": { "id": "1" }
}
]
}
}

Response

{
"id": "11001",
"tranId": "IR-2025-001",
"entity": {
"id": "789",
"refName": "Acme Suppliers Inc"
},
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"location": {
"id": "1",
"refName": "Main Warehouse"
},
"department": {
"id": "10",
"refName": "Operations"
},
"createdFrom": {
"id": "2001",
"refName": "Purchase Order #PO-2025-001"
},
"memo": "Received shipment - all items in good condition",
"item": {
"items": [
{
"item": { "id": "789", "refName": "Widget A - Standard" },
"quantity": 100,
"quantityRemaining": 0,
"itemReceive": true,
"location": { "id": "1", "refName": "Main Warehouse" }
},
{
"item": { "id": "790", "refName": "Widget B - Premium" },
"quantity": 50,
"quantityRemaining": 0,
"itemReceive": true,
"location": { "id": "1", "refName": "Main Warehouse" }
}
]
},
"links": [
{
"rel": "self",
"href": "https://account.suitetalk.api.netsuite.com/services/rest/record/v1/itemReceipt/11001"
}
]
}

Example: Update Item Receipt

PATCH /record/v1/itemReceipt/11001
Content-Type: application/json

Request Body

{
"memo": "Received shipment - all items inspected and approved",
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 100,
"itemReceive": true,
"location": { "id": "1" }
},
{
"item": { "id": "790" },
"quantity": 45,
"itemReceive": true,
"location": { "id": "1" }
}
]
}
}

Line Items

Item Sublist Fields

FieldTypeDescriptionRequired
itemobjectItem receivedYes
quantitynumberQuantity orderedYes
quantityRemainingnumberQty not yet received (read-only)-
itemReceivebooleanCheck to receive this lineYes
locationobjectReceiving locationNo
binNumbersstringBin locationNo
inventoryDetailobjectSerial/lot numbersNo
descriptionstringLine descriptionNo
departmentobjectDepartmentNo
classobjectClassNo
customerobjectCustomer (for job costing)No

Example: Partial Receipt

Receive only some items from a PO:

POST /record/v1/itemReceipt
Content-Type: application/json

Request Body

{
"entity": {
"id": "789"
},
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1"
},
"location": {
"id": "1"
},
"createdFrom": {
"id": "2002"
},
"memo": "Partial receipt - remaining items backordered",
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 60,
"itemReceive": true
},
{
"item": { "id": "790" },
"quantity": 0,
"itemReceive": false
}
]
}
}

Example: Receipt with Serial Numbers

POST /record/v1/itemReceipt
Content-Type: application/json

Request Body

{
"entity": {
"id": "789"
},
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1"
},
"location": {
"id": "1"
},
"createdFrom": {
"id": "2003"
},
"memo": "Received serialized items",
"item": {
"items": [
{
"item": { "id": "850" },
"quantity": 3,
"itemReceive": true,
"inventoryDetail": {
"inventoryAssignment": {
"items": [
{
"receiptInventoryNumber": "SN-001",
"quantity": 1
},
{
"receiptInventoryNumber": "SN-002",
"quantity": 1
},
{
"receiptInventoryNumber": "SN-003",
"quantity": 1
}
]
}
}
}
]
}
}

Query Filters

Find by Vendor

GET /record/v1/itemReceipt?q=entity='789'

Find by Date Range

GET /record/v1/itemReceipt?q=tranDate BETWEEN '2025-01-01' AND '2025-12-31'

Find by Location

GET /record/v1/itemReceipt?q=location='1'

Find by Purchase Order

GET /record/v1/itemReceipt?q=createdFrom='2001'

Find by Department

GET /record/v1/itemReceipt?q=department='10'

Create Vendor Bill from Receipt

Bill against received items:

POST /record/v1/vendorBill
Content-Type: application/json
{
"createdFrom": {
"id": "11001"
},
"entity": {
"id": "789"
},
"tranDate": "2025-12-26",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
}
}

Inventory Impact

Item receipts have immediate inventory effects:

  • Increase Inventory On Hand - Items are immediately available
  • Create Inventory Asset - Value added to inventory account
  • No AP Impact Yet - Accounts payable not affected until bill is created
  • Perpetual Inventory - Real-time inventory tracking

Important Notes

  • Item receipts increase inventory on-hand quantities immediately, even if not yet billed
  • The itemReceive flag controls which lines are actually received
  • Partial receipts are common - receive what arrives, leave rest for later
  • Multiple receipts can be created against a single PO
  • The quantityRemaining field shows how many items are still unreceived
  • Receipts can be created with or without a source PO
  • When created from PO, item details are automatically populated
  • Serial/lot tracked items require inventory detail specification
  • Bin management requires bin numbers if the feature is enabled
  • Item receipts can be edited to adjust quantities before billing
  • Landed costs can be allocated during receipt or later
  • Receipt date affects inventory valuation for FIFO/LIFO costing
  • Items must be inventory or assembly items to be received
  • Non-inventory purchase items cannot be received via item receipts
  • Location can be set at header level or per line item
  • Department, class, and customer fields support job costing
  • Receiving against closed POs may require reopening the PO first

See Also