Work Order Issue API
Issue component materials to work orders for manufacturing. This transaction records the actual consumption of inventory components used in the assembly process.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /record/v1/workOrderIssue | Retrieve list of work order issues |
| GET | /record/v1/workOrderIssue/{id} | Retrieve specific work order issue |
| POST | /record/v1/workOrderIssue | Create new work order issue |
| PATCH | /record/v1/workOrderIssue/{id} | Update existing work order issue |
| DELETE | /record/v1/workOrderIssue/{id} | Delete work order issue |
Key Fields
Header Fields
| Field | Type | Description | Required |
|---|---|---|---|
| createdFrom | Object | Reference to the work order | Yes |
| tranDate | Date | Transaction date (format: YYYY-MM-DD) | Yes |
| tranId | String | Transaction number (auto-generated if not provided) | No |
| subsidiary | Object | Subsidiary (inherited from work order) | Read-only |
| location | Object | Inventory location (inherited from work order) | Read-only |
| memo | String | Notes or comments about the issue | No |
| department | Object | Department reference | No |
| class | Object | Class reference | No |
| postingPeriod | Object | Accounting period for posting | No |
| customForm | Object | Custom form reference | No |
| createdDate | DateTime | Date transaction was created | Read-only |
| lastModifiedDate | DateTime | Date transaction was last modified | Read-only |
Sublist: Item (item)
| Field | Type | Description | Required |
|---|---|---|---|
| item | Object | Component item reference | Yes |
| quantity | Number | Quantity to issue | Yes |
| units | Object | Unit of measure | No |
| description | String | Item description | No |
| inventoryDetail | Object | Lot/serial tracking details | No |
| binNumbers | Object | Bin location details | No |
| commitInventory | String | Inventory commitment type | No |
Example: Create Work Order Issue
Request
POST /record/v1/workOrderIssue
Content-Type: application/json
{
"createdFrom": {
"id": "3001"
},
"tranDate": "2025-12-26",
"memo": "Initial component issue for production run",
"department": {
"id": "5"
},
"class": {
"id": "3"
},
"item": {
"items": [
{
"item": {
"id": "789"
},
"quantity": 200
},
{
"item": {
"id": "790"
},
"quantity": 100
}
]
}
}
Response
{
"id": "6001",
"createdFrom": {
"id": "3001",
"refName": "WO-2025-001"
},
"tranDate": "2025-12-26",
"tranId": "WISS-2025-001",
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"location": {
"id": "1",
"refName": "Main Warehouse"
},
"memo": "Initial component issue for production run",
"department": {
"id": "5",
"refName": "Manufacturing"
},
"class": {
"id": "3",
"refName": "Production"
},
"postingPeriod": {
"id": "101",
"refName": "Dec 2025"
},
"createdDate": "2025-12-26T08:00:00Z",
"lastModifiedDate": "2025-12-26T08:00:00Z",
"item": {
"items": [
{
"item": {
"id": "789",
"refName": "Component Part A"
},
"quantity": 200,
"units": {
"id": "1",
"refName": "Each"
},
"description": "Widget Component A"
},
{
"item": {
"id": "790",
"refName": "Component Part B"
},
"quantity": 100,
"units": {
"id": "1",
"refName": "Each"
},
"description": "Widget Component B"
}
]
},
"links": [
{
"rel": "self",
"href": "https://your-account.suitetalk.api.netsuite.com/services/rest/record/v1/workOrderIssue/6001"
}
]
}
Example: Create Issue with Lot Tracking
Request
POST /record/v1/workOrderIssue
Content-Type: application/json
{
"createdFrom": {
"id": "3001"
},
"tranDate": "2025-12-26",
"memo": "Component issue with lot tracking",
"item": {
"items": [
{
"item": {
"id": "789"
},
"quantity": 200,
"inventoryDetail": {
"inventoryAssignment": {
"items": [
{
"issueInventoryNumber": {
"id": "LOT-2025-100"
},
"quantity": 100
},
{
"issueInventoryNumber": {
"id": "LOT-2025-101"
},
"quantity": 100
}
]
}
}
}
]
}
}
Response
{
"id": "6002",
"tranId": "WISS-2025-002",
"tranDate": "2025-12-26",
"memo": "Component issue with lot tracking",
"item": {
"items": [
{
"item": {
"id": "789",
"refName": "Component Part A"
},
"quantity": 200,
"inventoryDetail": {
"inventoryAssignment": {
"items": [
{
"issueInventoryNumber": {
"id": "LOT-2025-100",
"refName": "LOT-2025-100"
},
"quantity": 100
},
{
"issueInventoryNumber": {
"id": "LOT-2025-101",
"refName": "LOT-2025-101"
},
"quantity": 100
}
]
}
}
}
]
},
"links": [
{
"rel": "self",
"href": "https://your-account.suitetalk.api.netsuite.com/services/rest/record/v1/workOrderIssue/6002"
}
]
}
Example: Update Work Order Issue
Request
PATCH /record/v1/workOrderIssue/6001
Content-Type: application/json
{
"memo": "Initial component issue for production run - Updated quantities",
"item": {
"items": [
{
"item": {
"id": "789"
},
"quantity": 210
},
{
"item": {
"id": "790"
},
"quantity": 100
}
]
}
}
Response
{
"id": "6001",
"memo": "Initial component issue for production run - Updated quantities",
"lastModifiedDate": "2025-12-26T10:15:00Z",
"item": {
"items": [
{
"item": {
"id": "789",
"refName": "Component Part A"
},
"quantity": 210
},
{
"item": {
"id": "790",
"refName": "Component Part B"
},
"quantity": 100
}
]
},
"links": [
{
"rel": "self",
"href": "https://your-account.suitetalk.api.netsuite.com/services/rest/record/v1/workOrderIssue/6001"
}
]
}
Sublists and Components
Item Lines (item)
The item sublist defines the components being issued to the work order.
Fields:
item: Reference to the component itemquantity: Quantity being issuedunits: Unit of measure for the iteminventoryDetail: Lot/serial number trackingbinNumbers: Bin location assignmentsdescription: Item description (auto-populated)
Example:
"item": {
"items": [
{
"item": {"id": "789"},
"quantity": 200,
"units": {"id": "1"}
}
]
}
Inventory Detail (inventoryDetail)
For lot or serial numbered items, specify the lot/serial numbers being issued.
Example:
"inventoryDetail": {
"inventoryAssignment": {
"items": [
{
"issueInventoryNumber": {"id": "LOT-2025-100"},
"quantity": 100
}
]
}
}
Bin Numbers (binNumbers)
For bin-tracked locations, specify which bins components are issued from.
Example:
"binNumbers": {
"items": [
{
"binNumber": {"id": "BIN-A-01"},
"quantity": 100
}
]
}
Query Filters
Filter by Transaction Date
GET /record/v1/workOrderIssue?q=tranDate EQUAL '2025-12-26'
Filter by Date Range
GET /record/v1/workOrderIssue?q=tranDate BETWEEN '2025-12-01' AND '2025-12-31'
Filter by Work Order
GET /record/v1/workOrderIssue?q=createdFrom EQUAL 3001
Filter by Item
GET /record/v1/workOrderIssue?q=item.item EQUAL 789
Filter by Subsidiary
GET /record/v1/workOrderIssue?q=subsidiary EQUAL 1
Expand Related Records
GET /record/v1/workOrderIssue/6001?expandSubResources=true
Work Order Issue Process
The work order issue transaction performs the following:
- Decreases Component Inventory: Reduces component quantities from inventory
- Records Consumption: Tracks actual component usage against the work order
- Updates WIP: Transfers component costs to work-in-process inventory
- Releases Commitments: Reduces committed quantities on the work order
- Tracks Lot/Serial: Records which lot/serial numbers were consumed
Important Notes
-
Work Order Status: The work order must be in "Released" or "In Process" status to issue components.
-
Component Availability:
- Components must have sufficient available inventory
- Or items must allow negative inventory
- Committed quantities are released when components are issued
-
Quantity Tracking:
- Issue quantities can match or differ from BOM requirements
- Multiple issues can be created for the same work order
- Over-issue is allowed unless restricted by preferences
-
Inventory Location:
- Components are issued from the location specified on the work order
- All items must be in stock at that location (or allow negative)
-
Lot/Serial Tracking:
- If a component is lot or serial tracked,
inventoryDetailis required - Each lot/serial must exist in inventory
- Total quantity in inventory detail must equal line quantity
- If a component is lot or serial tracked,
-
Bin Management:
- If bin tracking is enabled, specify source bins via
binNumbers - Bins must exist and have sufficient quantity
- Total bin quantities must equal line quantity
- If bin tracking is enabled, specify source bins via
-
Unit of Measure:
- Units default to the item's stock unit
- Alternate units can be specified if defined for the item
- Quantities are converted to stock unit for inventory updates
-
Backflushing:
- Some implementations use backflushing (automatic component issue on completion)
- Manual issues provide more control over timing and quantities
- Both methods can be used on the same work order
-
Posting Period:
- Transaction posts to the specified accounting period
- If not specified, uses the period for the transaction date
- Period must be open for inventory posting
-
Component Substitution:
- Items not on the BOM can be issued
- Useful for component substitutions or additional materials
- Affects work order costing
-
Reversing Issues:
- Delete the issue transaction to reverse
- Returns components to inventory
- Cannot delete if work order is closed
-
WIP Accounting:
- Issued components increase work-in-process (WIP) account
- Costs transfer from component inventory to WIP
- WIP transfers to finished goods on completion
-
Scrap and Yield:
- Additional issues may be needed if components are scrapped
- Component yield factors are informational on the work order
- Actual consumption is tracked via issue transactions
-
Custom Forms: Custom issue forms may include additional required fields.
-
Permissions: Requires "Work Order Issue" transaction permission with appropriate access level.
-
Multi-Currency: Exchange rates are locked at transaction date for foreign currency components.
-
Integration: Issues can trigger automated replenishment, lot tracing, or quality tracking processes.