Assembly Build API
Build assemblies without work orders for immediate manufacturing. Assembly builds are used for quick, unplanned assembly production that doesn't require the full work order process.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /record/v1/assemblyBuild | Retrieve list of assembly builds |
| GET | /record/v1/assemblyBuild/{id} | Retrieve specific assembly build |
| POST | /record/v1/assemblyBuild | Create new assembly build |
| PATCH | /record/v1/assemblyBuild/{id} | Update existing assembly build |
| DELETE | /record/v1/assemblyBuild/{id} | Delete assembly build |
Key Fields
Header Fields
| Field | Type | Description | Required |
|---|---|---|---|
| item | Object | Assembly item to be built | Yes |
| quantity | Number | Quantity to build | Yes |
| tranDate | Date | Transaction date (format: YYYY-MM-DD) | Yes |
| subsidiary | Object | Subsidiary where assembly is built | Yes |
| location | Object | Inventory location for the assembly | Yes |
| tranId | String | Transaction number (auto-generated if not provided) | No |
| memo | String | Notes or comments about the build | No |
| department | Object | Department reference | No |
| class | Object | Class reference | No |
| postingPeriod | Object | Accounting period for posting | No |
| inventoryDetail | Object | Inventory detail for lot/serial tracking | No |
| binNumbers | Object | Bin location assignments | No |
| billOfMaterials | Object | Bill of materials to use | No |
| revision | Object | BOM revision to use | No |
| total | Number | Total cost of the build | Read-only |
| customForm | Object | Custom form reference | No |
| createdDate | DateTime | Date transaction was created | Read-only |
| lastModifiedDate | DateTime | Date transaction was last modified | Read-only |
Sublist: Component (component)
| Field | Type | Description | Required |
|---|---|---|---|
| item | Object | Component item reference | Yes |
| quantity | Number | Quantity required | Yes |
| quantityPer | Number | Quantity per assembly unit | No |
| units | Object | Unit of measure | No |
| componentInventoryDetail | Object | Lot/serial for component consumption | No |
| binNumbers | Object | Bin locations for component | No |
Example: Create Assembly Build
Request
POST /record/v1/assemblyBuild
Content-Type: application/json
{
"item": {
"id": "800"
},
"quantity": 10,
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1"
},
"location": {
"id": "1"
},
"memo": "Emergency build for customer order",
"department": {
"id": "5"
},
"class": {
"id": "3"
},
"component": {
"items": [
{
"item": {
"id": "789"
},
"quantity": 20,
"quantityPer": 2
},
{
"item": {
"id": "790"
},
"quantity": 10,
"quantityPer": 1
}
]
}
}
Response
{
"id": "7001",
"item": {
"id": "800",
"refName": "Assembly Widget A"
},
"quantity": 10,
"tranDate": "2025-12-25",
"tranId": "ABLD-2025-001",
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"location": {
"id": "1",
"refName": "Main Warehouse"
},
"memo": "Emergency build for customer order",
"department": {
"id": "5",
"refName": "Manufacturing"
},
"class": {
"id": "3",
"refName": "Production"
},
"total": 1250.00,
"postingPeriod": {
"id": "101",
"refName": "Dec 2025"
},
"createdDate": "2025-12-25T11:00:00Z",
"lastModifiedDate": "2025-12-25T11:00:00Z",
"component": {
"items": [
{
"item": {
"id": "789",
"refName": "Component Part A"
},
"quantity": 20,
"quantityPer": 2,
"units": {
"id": "1",
"refName": "Each"
}
},
{
"item": {
"id": "790",
"refName": "Component Part B"
},
"quantity": 10,
"quantityPer": 1,
"units": {
"id": "1",
"refName": "Each"
}
}
]
},
"links": [
{
"rel": "self",
"href": "https://your-account.suitetalk.api.netsuite.com/services/rest/record/v1/assemblyBuild/7001"
}
]
}
Example: Create Build with Lot Tracking
Request
POST /record/v1/assemblyBuild
Content-Type: application/json
{
"item": {
"id": "800"
},
"quantity": 5,
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1"
},
"location": {
"id": "1"
},
"memo": "Lot-tracked assembly build",
"inventoryDetail": {
"inventoryAssignment": {
"items": [
{
"issueInventoryNumber": {
"id": "LOT-ASSY-2025-001"
},
"quantity": 5
}
]
}
},
"component": {
"items": [
{
"item": {
"id": "789"
},
"quantity": 10,
"componentInventoryDetail": {
"inventoryAssignment": {
"items": [
{
"issueInventoryNumber": {
"id": "LOT-2025-100"
},
"quantity": 10
}
]
}
}
}
]
}
}
Response
{
"id": "7002",
"tranId": "ABLD-2025-002",
"quantity": 5,
"memo": "Lot-tracked assembly build",
"inventoryDetail": {
"inventoryAssignment": {
"items": [
{
"issueInventoryNumber": {
"id": "LOT-ASSY-2025-001",
"refName": "LOT-ASSY-2025-001"
},
"quantity": 5
}
]
}
},
"component": {
"items": [
{
"item": {
"id": "789",
"refName": "Component Part A"
},
"quantity": 10,
"componentInventoryDetail": {
"inventoryAssignment": {
"items": [
{
"issueInventoryNumber": {
"id": "LOT-2025-100",
"refName": "LOT-2025-100"
},
"quantity": 10
}
]
}
}
}
]
},
"links": [
{
"rel": "self",
"href": "https://your-account.suitetalk.api.netsuite.com/services/rest/record/v1/assemblyBuild/7002"
}
]
}
Example: Update Assembly Build
Request
PATCH /record/v1/assemblyBuild/7001
Content-Type: application/json
{
"memo": "Emergency build for customer order - Expedited shipping",
"component": {
"items": [
{
"item": {
"id": "789"
},
"quantity": 22
},
{
"item": {
"id": "790"
},
"quantity": 10
}
]
}
}
Response
{
"id": "7001",
"memo": "Emergency build for customer order - Expedited shipping",
"lastModifiedDate": "2025-12-25T13:30:00Z",
"component": {
"items": [
{
"item": {
"id": "789",
"refName": "Component Part A"
},
"quantity": 22
},
{
"item": {
"id": "790",
"refName": "Component Part B"
},
"quantity": 10
}
]
},
"links": [
{
"rel": "self",
"href": "https://your-account.suitetalk.api.netsuite.com/services/rest/record/v1/assemblyBuild/7001"
}
]
}
Sublists and Components
Component Items (component)
The component sublist defines the components consumed to build the assembly.
Fields:
item: Reference to the component itemquantity: Total quantity consumedquantityPer: Quantity needed per assembly unitunits: Unit of measurecomponentInventoryDetail: Lot/serial tracking for component consumptionbinNumbers: Bin locations for components
Example:
"component": {
"items": [
{
"item": {"id": "789"},
"quantity": 20,
"quantityPer": 2
}
]
}
Inventory Detail (inventoryDetail)
For lot or serial numbered assembly items, specify the lot/serial numbers being created.
Example:
"inventoryDetail": {
"inventoryAssignment": {
"items": [
{
"issueInventoryNumber": {"id": "LOT-ASSY-2025-001"},
"quantity": 10
}
]
}
}
Component Inventory Detail (componentInventoryDetail)
For lot or serial numbered components, specify which lot/serial numbers are being consumed.
Example:
"componentInventoryDetail": {
"inventoryAssignment": {
"items": [
{
"issueInventoryNumber": {"id": "LOT-2025-100"},
"quantity": 10
}
]
}
}
Query Filters
Filter by Transaction Date
GET /record/v1/assemblyBuild?q=tranDate EQUAL '2025-12-25'
Filter by Date Range
GET /record/v1/assemblyBuild?q=tranDate BETWEEN '2025-12-01' AND '2025-12-31'
Filter by Assembly Item
GET /record/v1/assemblyBuild?q=item EQUAL 800
Filter by Subsidiary and Location
GET /record/v1/assemblyBuild?q=subsidiary EQUAL 1 AND location EQUAL 1
Filter by Component
GET /record/v1/assemblyBuild?q=component.item EQUAL 789
Expand Related Records
GET /record/v1/assemblyBuild/7001?expandSubResources=true
Assembly Build Process
The assembly build transaction performs the following in a single step:
- Consumes Components: Reduces component inventory quantities
- Creates Assembly: Increases assembly item inventory
- Costs Assembly: Calculates assembly cost from component costs
- Updates GL: Posts inventory and cost transactions
- Tracks Lot/Serial: Records lot/serial relationships
Important Notes
-
Immediate Build: Assembly builds are immediate transactions that don't require work order planning or tracking.
-
Assembly Item Type:
- Item must be type "Assembly/Bill of Materials"
- Item must have an active BOM defined
- BOM components are automatically populated
-
Component Requirements:
- Components must have sufficient inventory at the location
- Or components must allow negative inventory
- Component quantities are based on BOM and build quantity
-
BOM Integration:
- If assembly item has a BOM, components are auto-populated
- Component quantities can be manually adjusted
- Multiple BOM revisions: specify which revision to use
-
Inventory Location:
- Assembly is received into the specified location
- Components are consumed from the same location
- Location must allow assembly builds
-
Lot/Serial Tracking:
- If assembly is lot/serial tracked, use
inventoryDetail - If components are lot/serial tracked, use
componentInventoryDetail - Both assembly and component lot/serial can be tracked simultaneously
- If assembly is lot/serial tracked, use
-
Bin Management:
- Specify assembly bin via
binNumberson header - Specify component bins via
binNumberson component lines - All bins must exist in the specified location
- Specify assembly bin via
-
Costing:
- Assembly cost equals sum of component costs
- Additional overhead can be included via costing preferences
- Standard cost items maintain their standard cost
-
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
-
vs Work Orders:
- Use assembly builds for simple, immediate builds
- Use work orders for planned production with scheduling
- Assembly builds don't support routing or advanced MRP
-
Quantity Limits:
- No limit on build quantity
- Limited only by component availability
- Fractional quantities allowed if item supports
-
Reversing Builds:
- Delete the build transaction to reverse
- Use Assembly Unbuild for partial reversal
- Cannot delete if inventory has been further transacted
-
Component Substitution:
- Can override BOM components
- Can add additional components not on BOM
- Affects final assembly cost
-
Multi-Level BOMs:
- Supports assemblies with sub-assemblies
- Sub-assembly components are consumed automatically
- Or build sub-assemblies separately first
-
Custom Forms: Custom assembly build forms may include additional fields.
-
Permissions: Requires "Assembly Build" transaction permission with appropriate access level.
-
Accounting Impact:
- Debits: Finished Goods Inventory (assembly)
- Credits: Raw Materials Inventory (components)
- May include manufacturing overhead accounts
-
Integration: Builds can trigger automated quality checks, labeling, or put-away processes.