Item Receipt API
Record receipt of items from purchase orders.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/itemReceipt | List item receipts |
GET | /record/v1/itemReceipt/{id} | Get specific receipt |
POST | /record/v1/itemReceipt | Create receipt |
PATCH | /record/v1/itemReceipt/{id} | Update receipt |
DELETE | /record/v1/itemReceipt/{id} | Delete receipt |
Key Fields
| Field | Type | Description | Required |
|---|---|---|---|
id | string | Internal ID | - |
tranId | string | Receipt number | Auto-generated |
entity | object | Vendor | Yes |
tranDate | string | Receipt date | Yes |
subsidiary | object | Subsidiary | Yes (OneWorld) |
location | object | Receiving location | No |
memo | string | Receipt notes | No |
department | object | Department | No |
class | object | Class | No |
createdFrom | object | Source PO | No |
landedCostMethod | object | Landed cost method | No |
item | collection | Items received | Yes |
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
| Field | Type | Description | Required |
|---|---|---|---|
item | object | Item received | Yes |
quantity | number | Quantity ordered | Yes |
quantityRemaining | number | Qty not yet received (read-only) | - |
itemReceive | boolean | Check to receive this line | Yes |
location | object | Receiving location | No |
binNumbers | string | Bin location | No |
inventoryDetail | object | Serial/lot numbers | No |
description | string | Line description | No |
department | object | Department | No |
class | object | Class | No |
customer | object | Customer (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
itemReceiveflag 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
quantityRemainingfield 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
- Purchase Order - Source POs
- Vendor Bill - Bill against receipts
- Inventory Adjustment - Adjust inventory
- Inbound Shipment - Advanced receiving workflow
- Vendor - Vendor records