Kit Item API
Kits are groups of items sold together (components ship separately, not assembled).
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/kitItem | List kit items |
GET | /record/v1/kitItem/{id} | Get specific kit |
POST | /record/v1/kitItem | Create kit |
PATCH | /record/v1/kitItem/{id} | Update kit |
DELETE | /record/v1/kitItem/{id} | Delete kit |
Key Fields
| Field | Type | Description | Required |
|---|---|---|---|
itemId | string | Item name/SKU | Yes (if not auto-numbered) |
displayName | string | Display name | No |
description | string | Kit description | No |
subsidiary | object | Subsidiary reference | Yes (OneWorld) |
incomeAccount | object | Income/revenue account | Yes |
basePrice | number | Kit selling price | No |
member | collection | Kit components | Yes |
isInactive | boolean | Inactive status | No |
printItems | boolean | Print components on transactions | No |
Example: Create Kit Item
Request
POST /record/v1/kitItem
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"itemId": "KIT-001",
"displayName": "Starter Bundle",
"description": "Complete starter bundle with all essentials",
"salesDescription": "Everything you need to get started - includes 3 premium items",
"subsidiary": {
"id": "1"
},
"incomeAccount": {
"id": "400"
},
"basePrice": 199.99,
"printItems": true,
"member": {
"items": [
{
"item": { "id": "789" },
"quantity": 1,
"description": "Blue Widget - Premium Model"
},
{
"item": { "id": "790" },
"quantity": 2,
"description": "Red Widget - Standard Model"
},
{
"item": { "id": "791" },
"quantity": 1,
"description": "Widget Accessory Pack"
}
]
}
}
Response
{
"id": "900",
"itemId": "KIT-001",
"displayName": "Starter Bundle",
"description": "Complete starter bundle with all essentials",
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"incomeAccount": {
"id": "400",
"refName": "Sales Revenue"
},
"basePrice": 199.99,
"printItems": true,
"links": [
{
"rel": "self",
"href": "https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/kitItem/900"
}
]
}
Example: Update Kit Item
Request
PATCH /record/v1/kitItem/900
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"basePrice": 179.99,
"description": "Complete starter bundle with all essentials - HOLIDAY SALE",
"salesDescription": "SPECIAL OFFER: Everything you need to get started - includes 3 premium items"
}
Response
{
"id": "900",
"itemId": "KIT-001",
"basePrice": 179.99,
"description": "Complete starter bundle with all essentials - HOLIDAY SALE",
"salesDescription": "SPECIAL OFFER: Everything you need to get started - includes 3 premium items",
"lastModifiedDate": "2025-12-25T12:00:00Z",
"links": [
{
"rel": "self",
"href": "https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/kitItem/900"
}
]
}
Sublists
Member Sublist (Kit Components)
| Field | Type | Description | Required |
|---|---|---|---|
item | object | Component item reference | Yes |
quantity | number | Quantity per kit | Yes |
description | string | Component description override | No |
rate | number | Component price (if priced separately) | No |
Example with detailed components:
{
"member": {
"items": [
{
"item": { "id": "789" },
"quantity": 1,
"description": "Blue Widget - Premium Model"
},
{
"item": { "id": "790" },
"quantity": 2,
"description": "Red Widget - Standard Model"
},
{
"item": { "id": "791" },
"quantity": 1,
"description": "Widget Accessory Pack"
}
]
}
}
Pricing Sublist
| Field | Type | Description | Required |
|---|---|---|---|
level | object | Price level reference | Yes |
price | number | Kit price for this level | Yes |
Example:
{
"pricing": {
"items": [
{
"level": { "id": "1" },
"price": 199.99
},
{
"level": { "id": "2" },
"price": 179.99
}
]
}
}
Query Filters
Find Active Kits
GET /record/v1/kitItem?q=isInactive=false
Find by SKU Pattern
GET /record/v1/kitItem?q=itemId LIKE 'KIT%'
Find by Name
GET /record/v1/kitItem?q=displayName LIKE '%Bundle%'
Find by Component
GET /record/v1/kitItem?q=member.item='789'
Find by Price Range
GET /record/v1/kitItem?q=basePrice BETWEEN 100 AND 300
Expand Related Records
GET /record/v1/kitItem/900?expandSubResources=true
Important Notes
Kit vs Assembly
Kit Item:
- Components ship separately as individual items
- No assembly or build process required
- Components maintain their individual identity
- Inventory tracked at component level only
- Customer receives individual parts
Assembly Item:
- Components assembled before shipping
- Requires assembly/build process
- Creates finished goods inventory
- Inventory tracked at assembly level
- Customer receives finished product
Choose Kit when:
- Items bundled for marketing purposes
- No manufacturing/assembly required
- Components ship separately
- Want to track component inventory separately
- Offering bundles or promotional packages
Choose Assembly when:
- Manufacturing/production required
- Components lose individual identity
- Want to track finished goods inventory
- Need to track build costs and time
How Kits Work
Selling Kits:
- Customer orders kit item (e.g., "KIT-001")
- Order shows kit with its components
- At fulfillment, components ship separately
- Each component reduces from its own inventory
- Customer receives all component items
Inventory Impact:
- No separate inventory for the kit itself
- Only component inventory is tracked
- Components must be available to sell kit
- System checks component availability
Pricing:
- Kit has selling price (can be discount from individual prices)
- Can price kit differently from component sum
- Price levels apply to entire kit
- Components priced as part of kit, not individually
Component Availability
Availability Check:
- Kit can only be sold if all components available
- System validates component inventory
- Uses component default locations
- Blocks sale if any component unavailable
Example:
Kit: Starter Bundle requires:
- Blue Widget: 1 unit (10 available) ✓
- Red Widget: 2 units (50 available) ✓
- Accessory Pack: 1 unit (0 available) ✗
Result: Cannot sell kit until Accessory Pack restocked
Print Items Option
Print Components on Documents:
{
"printItems": true
}
When true:
- Components print on sales orders, invoices, packing slips
- Customer sees individual component items
- Useful for transparency
When false:
- Only kit item prints on documents
- Components hidden from customer
- Simpler presentation
Kit Pricing Strategies
Bundle Discount:
{
"basePrice": 179.99
}
Individual component prices:
- Blue Widget: $99.99
- Red Widget: $49.99 × 2 = $99.98
- Accessory Pack: $29.99
Total if sold separately: $229.96
Kit price: $179.99
Savings: $49.97 (22% discount)
Price Level Discounts:
{
"pricing": {
"items": [
{
"level": { "id": "1" },
"price": 199.99
},
{
"level": { "id": "2" },
"price": 179.99
},
{
"level": { "id": "3" },
"price": 159.99
}
]
}
}
- Retail: $199.99
- Wholesale: $179.99
- Preferred: $159.99
Fulfillment Process
Kit Fulfillment:
- Sales order created with kit item
- Kit expands to component items
- Item fulfillment picks each component
- Each component ships separately
- Each component reduces from inventory
- Invoice created for kit price
Partial Fulfillment:
- Can fulfill some components before others
- Track which components shipped
- Complete fulfillment when all components shipped
Dynamic vs Static Kits
Dynamic Kit (Standard):
- Components can change independently
- Update component item = affects all kits using it
- Component price changes don't affect kit price
- Most flexible
Static Kit:
- Kit price updates if component changes
- Maintains relationship to component pricing
- Less common configuration
Component Substitution
For out-of-stock components:
{
"member": {
"items": [
{
"item": { "id": "789" },
"quantity": 1
},
{
"item": { "id": "789-ALT" },
"quantity": 1,
"description": "Alternative - substitute if 789 unavailable"
}
]
}
}
Note: NetSuite doesn't automatically substitute, but you can design kits with alternatives and manually select during fulfillment.
Accounting
Revenue Recognition:
- Revenue recorded at kit price, not component prices
- All revenue to kit's income account
- Components don't generate separate revenue
COGS:
- Each component has its own COGS
- COGS calculated from component costs
- Multiple COGS entries (one per component)
Example:
Kit Sale: $199.99
Revenue: $199.99 to Income Account
COGS:
Blue Widget: $25.00 to COGS Account
Red Widget: $15.00 × 2 = $30.00 to COGS Account
Accessory Pack: $5.00 to COGS Account
Total COGS: $60.00
Gross Profit: $139.99
Multi-Level Kits
Kits containing kits:
{
"member": {
"items": [
{
"item": { "id": "900" },
"quantity": 1,
"description": "Starter Bundle"
},
{
"item": { "id": "791" },
"quantity": 2,
"description": "Extra Accessories"
}
]
}
}
- Parent kit can contain other kits
- Components expand recursively
- All base components must be available
Permissions Required
- Create: Kit Item > Create permission
- Edit: Kit Item > Edit permission
- View: Kit Item > View permission
- Delete: Kit Item > Delete permission
Deletion Constraints
- Cannot delete with transaction history
- Cannot delete if used in other kits
- Must inactivate instead if transactions exist
Best Practices
- Clear Descriptions: Describe what's included in the kit
- Component Availability: Ensure reliable component stock
- Attractive Pricing: Price kits to incentivize bundle purchases
- Print Settings: Choose appropriate printItems setting for customer needs
- Component Selection: Group complementary items
- Promotions: Use kits for seasonal or promotional bundles
- Documentation: Clearly document kit contents for customers
- Inventory Planning: Plan component inventory for kit sales
Use Cases
Product Bundles:
- Starter kits for new customers
- Accessory bundles
- Seasonal gift sets
Promotional Packages:
- Holiday bundles
- Limited-time offers
- Buy-more-save-more deals
Solution Selling:
- Complete solution packages
- Industry-specific bundles
- Curated product sets
Subscription Boxes:
- Monthly subscription contents
- Recurring kit deliveries
- Sample/trial packages
See Also
- Assembly Item - Assembled/manufactured items
- Inventory Item - Individual component items
- Sales Order - Sell kits
- Item Fulfillment - Fulfill kit components
- Price Level - Kit pricing tiers