Skip to main content

Non-Inventory Purchase Item API

Items purchased but not stocked (expensed immediately).


Endpoints

MethodEndpointDescription
GET/record/v1/nonInventoryPurchaseItemList non-inventory purchase items
GET/record/v1/nonInventoryPurchaseItem/{id}Get specific item
POST/record/v1/nonInventoryPurchaseItemCreate item
PATCH/record/v1/nonInventoryPurchaseItem/{id}Update item
DELETE/record/v1/nonInventoryPurchaseItem/{id}Delete item

Key Fields

FieldTypeDescriptionRequired
itemIdstringItem name/codeYes (if not auto-numbered)
displayNamestringDisplay nameNo
descriptionstringItem descriptionNo
subsidiaryobjectSubsidiary referenceYes (OneWorld)
expenseAccountobjectExpense accountYes
purchaseDescriptionstringPurchase descriptionNo
costnumberStandard costNo
isInactivebooleanInactive statusNo
taxScheduleobjectTax scheduleNo
vendorobjectPreferred vendorNo
classobjectClass/departmentNo

Example: Create Non-Inventory Purchase Item

Request

POST /record/v1/nonInventoryPurchaseItem
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"itemId": "OFFICE-SUPPLIES",
"displayName": "Office Supplies",
"description": "General office supplies - paper, pens, folders, etc.",
"purchaseDescription": "Office supplies for administrative use",
"subsidiary": {
"id": "1"
},
"expenseAccount": {
"id": "600"
},
"cost": 0,
"taxSchedule": {
"id": "1"
},
"vendor": {
"id": "123"
},
"isInactive": false
}

Response

{
"id": "950",
"itemId": "OFFICE-SUPPLIES",
"displayName": "Office Supplies",
"description": "General office supplies - paper, pens, folders, etc.",
"purchaseDescription": "Office supplies for administrative use",
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"expenseAccount": {
"id": "600",
"refName": "Office Expense"
},
"cost": 0,
"taxSchedule": {
"id": "1",
"refName": "Standard Tax"
},
"vendor": {
"id": "123",
"refName": "Office Depot"
},
"isInactive": false,
"links": [
{
"rel": "self",
"href": "https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/nonInventoryPurchaseItem/950"
}
]
}

Example: Update Non-Inventory Purchase Item

Request

PATCH /record/v1/nonInventoryPurchaseItem/950
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"cost": 50.00,
"description": "General office supplies - paper, pens, folders, staplers",
"vendor": {
"id": "456"
}
}

Response

{
"id": "950",
"itemId": "OFFICE-SUPPLIES",
"cost": 50.00,
"description": "General office supplies - paper, pens, folders, staplers",
"vendor": {
"id": "456",
"refName": "Staples Business"
},
"lastModifiedDate": "2025-12-25T13:00:00Z",
"links": [
{
"rel": "self",
"href": "https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/nonInventoryPurchaseItem/950"
}
]
}

Sublists

Vendor Sublist

FieldTypeDescriptionRequired
vendorobjectVendor referenceYes
vendorCodestringVendor's item codeNo
purchasePricenumberPurchase price from this vendorNo
preferredVendorbooleanMark as preferred vendorNo

Example:

{
"vendorList": {
"items": [
{
"vendor": { "id": "123" },
"vendorCode": "OS-001",
"purchasePrice": 45.00,
"preferredVendor": true
},
{
"vendor": { "id": "456" },
"vendorCode": "SUPPLIES-A1",
"purchasePrice": 50.00,
"preferredVendor": false
}
]
}
}

Subsidiary Sublist

FieldTypeDescriptionRequired
subsidiaryobjectSubsidiary referenceYes

For OneWorld accounts with multiple subsidiaries:

{
"subsidiaryList": {
"items": [
{ "subsidiary": { "id": "1" } },
{ "subsidiary": { "id": "2" } }
]
}
}

Query Filters

Find Active Items

GET /record/v1/nonInventoryPurchaseItem?q=isInactive=false

Find by Name Pattern

GET /record/v1/nonInventoryPurchaseItem?q=itemId LIKE 'OFFICE%'

Find by Display Name

GET /record/v1/nonInventoryPurchaseItem?q=displayName LIKE '%Supplies%'

Find by Vendor

GET /record/v1/nonInventoryPurchaseItem?q=vendor='123'

Find by Expense Account

GET /record/v1/nonInventoryPurchaseItem?q=expenseAccount='600'
GET /record/v1/nonInventoryPurchaseItem/950?expandSubResources=true

Important Notes

Purchase-Only Items

Key Characteristics:

  • Can only be purchased, not sold
  • Not tracked in inventory
  • Expensed when received or purchased
  • No quantity on hand tracking
  • Commonly used for consumables

Use Cases:

  • Office supplies
  • Shipping supplies
  • Cleaning supplies
  • Utilities (expensed services)
  • Repairs and maintenance
  • Professional services purchased
  • One-time purchases

Accounting Treatment

On Purchase Order:

No accounting entry - commitment only

On Item Receipt / Bill:

DR: Expense Account (Office Expense) - $50.00
CR: Accounts Payable - $50.00

On Payment:

DR: Accounts Payable - $50.00
CR: Cash - $50.00

Key Points:

  • Immediately expensed (no asset created)
  • No inventory value
  • Expense hits P&L when received/billed
  • Cannot be sold (purchase only)

vs Other Item Types

Non-Inventory Purchase Item:

  • Purchase only
  • Expensed immediately
  • No inventory tracking
  • No sales capability
  • Example: Office supplies

Non-Inventory Resale Item:

  • Purchase and sell
  • Expensed on purchase, revenue on sale
  • No inventory tracking
  • Used for drop-ship, special orders
  • Example: Custom special order items

Non-Inventory Sale Item:

  • Sale only
  • No purchase capability
  • No inventory tracking
  • Used for services, fees
  • Example: Consulting services

Inventory Item:

  • Purchase and sell
  • Tracked in inventory
  • Asset until sold
  • Quantity on hand tracking
  • Example: Products for resale

Cost Management

Standard Cost:

{
"cost": 50.00
}
  • Optional field for budgeting
  • Used as default on purchase orders
  • Actual cost may vary per purchase
  • Helpful for expense forecasting

Variable Cost:

  • Actual cost recorded on each purchase
  • No standard cost required
  • More accurate expense tracking
  • Better for items with fluctuating prices

Vendor Management

Preferred Vendor:

{
"vendor": {
"id": "123"
},
"vendorList": {
"items": [
{
"vendor": { "id": "123" },
"preferredVendor": true,
"purchasePrice": 45.00
}
]
}
}
  • Set preferred vendor for automatic selection
  • Track multiple vendor options
  • Vendor-specific pricing
  • Vendor-specific item codes

Tax Handling

Taxable Purchases:

{
"taxSchedule": {
"id": "1"
}
}
  • Apply appropriate tax schedule
  • Tax calculated on purchase
  • Tax expense or recoverable based on setup
  • Important for sales tax compliance

Expense Allocation

Department/Class Tracking:

{
"class": {
"id": "10"
},
"department": {
"id": "5"
}
}
  • Allocate expenses to departments
  • Track by class for reporting
  • Useful for cost center analysis
  • Can override on individual transactions

Location-Specific Expenses:

{
"location": {
"id": "1"
}
}
  • Track expenses by location
  • Useful for multi-location operations
  • Location-specific expense reporting

Multi-Subsidiary Usage

OneWorld Setup:

{
"subsidiary": {
"id": "1"
},
"subsidiaryList": {
"items": [
{ "subsidiary": { "id": "1" } },
{ "subsidiary": { "id": "2" } },
{ "subsidiary": { "id": "3" } }
]
}
}
  • Assign to one or more subsidiaries
  • Each subsidiary can expense item
  • Expense accounts must exist in each subsidiary
  • Useful for shared expense items

Common Examples

Office Supplies:

{
"itemId": "OFFICE-SUPPLIES",
"displayName": "Office Supplies",
"expenseAccount": { "id": "600" }
}

Shipping Supplies:

{
"itemId": "SHIPPING-SUPPLIES",
"displayName": "Packing Materials",
"expenseAccount": { "id": "605" }
}

Professional Services:

{
"itemId": "CONSULTING-FEES",
"displayName": "Consulting Services",
"expenseAccount": { "id": "650" }
}

Repairs & Maintenance:

{
"itemId": "EQUIPMENT-REPAIR",
"displayName": "Equipment Repair Services",
"expenseAccount": { "id": "620" }
}

Purchasing Workflow

  1. Create Purchase Order with non-inventory purchase item
  2. Receive Item (creates item receipt)
  3. Record Bill (if not auto-created from receipt)
  4. Expense Posted to designated expense account
  5. Pay Bill to vendor

Expense Tracking

Reporting:

  • View expenses by item
  • Track spending by vendor
  • Analyze by department/class
  • Monitor budget vs actual

Cost Control:

  • Set budgets on expense accounts
  • Track spending trends
  • Compare vendor pricing
  • Identify cost savings opportunities

Permissions Required

  • Create: Non-Inventory Purchase Item > Create permission
  • Edit: Non-Inventory Purchase Item > Edit permission
  • View: Non-Inventory Purchase Item > View permission
  • Delete: Non-Inventory Purchase Item > Delete permission
  • Purchase: Create purchase orders, item receipts, bills

Deletion Constraints

  • Cannot delete with transaction history
  • Must inactivate instead if used in transactions
  • Can delete if no purchase orders or receipts reference it

Best Practices

  1. Descriptive Names: Use clear, searchable item names
  2. Appropriate Accounts: Choose correct expense GL accounts
  3. Vendor Setup: Maintain preferred vendor list
  4. Cost Tracking: Set standard costs for budgeting
  5. Consistent Categories: Group similar expenses under same items
  6. Regular Review: Review and consolidate redundant items
  7. Tax Compliance: Apply correct tax schedules
  8. Documentation: Include detailed descriptions for clarity

See Also