Skip to main content

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

MethodEndpointDescription
GET/record/v1/workOrderIssueRetrieve list of work order issues
GET/record/v1/workOrderIssue/{id}Retrieve specific work order issue
POST/record/v1/workOrderIssueCreate 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

FieldTypeDescriptionRequired
createdFromObjectReference to the work orderYes
tranDateDateTransaction date (format: YYYY-MM-DD)Yes
tranIdStringTransaction number (auto-generated if not provided)No
subsidiaryObjectSubsidiary (inherited from work order)Read-only
locationObjectInventory location (inherited from work order)Read-only
memoStringNotes or comments about the issueNo
departmentObjectDepartment referenceNo
classObjectClass referenceNo
postingPeriodObjectAccounting period for postingNo
customFormObjectCustom form referenceNo
createdDateDateTimeDate transaction was createdRead-only
lastModifiedDateDateTimeDate transaction was last modifiedRead-only

Sublist: Item (item)

FieldTypeDescriptionRequired
itemObjectComponent item referenceYes
quantityNumberQuantity to issueYes
unitsObjectUnit of measureNo
descriptionStringItem descriptionNo
inventoryDetailObjectLot/serial tracking detailsNo
binNumbersObjectBin location detailsNo
commitInventoryStringInventory commitment typeNo

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 item
  • quantity: Quantity being issued
  • units: Unit of measure for the item
  • inventoryDetail: Lot/serial number tracking
  • binNumbers: Bin location assignments
  • description: 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
GET /record/v1/workOrderIssue/6001?expandSubResources=true

Work Order Issue Process

The work order issue transaction performs the following:

  1. Decreases Component Inventory: Reduces component quantities from inventory
  2. Records Consumption: Tracks actual component usage against the work order
  3. Updates WIP: Transfers component costs to work-in-process inventory
  4. Releases Commitments: Reduces committed quantities on the work order
  5. Tracks Lot/Serial: Records which lot/serial numbers were consumed

Important Notes

  1. Work Order Status: The work order must be in "Released" or "In Process" status to issue components.

  2. Component Availability:

    • Components must have sufficient available inventory
    • Or items must allow negative inventory
    • Committed quantities are released when components are issued
  3. 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
  4. 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)
  5. Lot/Serial Tracking:

    • If a component is lot or serial tracked, inventoryDetail is required
    • Each lot/serial must exist in inventory
    • Total quantity in inventory detail must equal line quantity
  6. 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
  7. 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
  8. 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
  9. 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
  10. Component Substitution:

    • Items not on the BOM can be issued
    • Useful for component substitutions or additional materials
    • Affects work order costing
  11. Reversing Issues:

    • Delete the issue transaction to reverse
    • Returns components to inventory
    • Cannot delete if work order is closed
  12. WIP Accounting:

    • Issued components increase work-in-process (WIP) account
    • Costs transfer from component inventory to WIP
    • WIP transfers to finished goods on completion
  13. 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
  14. Custom Forms: Custom issue forms may include additional required fields.

  15. Permissions: Requires "Work Order Issue" transaction permission with appropriate access level.

  16. Multi-Currency: Exchange rates are locked at transaction date for foreign currency components.

  17. Integration: Issues can trigger automated replenishment, lot tracing, or quality tracking processes.