Web Services and SuiteTalk
NetSuite Unknown
2026-07-24

Item Supply Plan Record Exposed to REST Web Services

The itemsupplyplan record is now available via SuiteTalk REST API, supporting full CRUD operations including external-ID upserts and the itemsupplyplanorder subrecord for plan order lines.

Affects:SuiteTalk REST APIDemand PlanningItem Supply Plans

What changed

The Item Supply Plan record (record ID itemsupplyplan) is now exposed through the SuiteTalk REST web services framework. This gives integrations full CRUD access to demand-planning supply plans without SuiteScript or SOAP.

Endpoint

/services/rest/record/v1/itemsupplyplan

Supported HTTP methods

  • GET – retrieve by internal ID or external ID (eid:{externalId})
  • POST – create a new plan (required fields: item, location, subsidiary, plus at least one order line)
  • PUT – upsert using an external ID (/services/rest/record/v1/itemSupplyPlan/eid:{externalId})
  • PATCH – update an existing plan by internal ID
  • DELETE – remove by internal ID

Record structure

The record itself is not a subrecord, but it contains one subrecord: itemsupplyplanorder, accessed through the order.items array in JSON payloads. Each order line exposes:

  • orderdate – string, ISO date
  • receiptdate – string, ISO date
  • quantity – number
  • ordertype – accepts either an object ({"id": "PurchOrd", "refName": "Purchase Order"}) or the string shorthand "PurchOrd"
  • orderlineid – integer (set to 0 for new lines)
  • ordercreated – boolean, read-only indicator of whether the downstream transaction has been created

External-ID support

Both PUT (create/upsert) and GET support the eid: prefix in the URL path, enabling external-system-driven key management. Note the casing difference in Oracle's samples: itemSupplyPlan (camelCase) appears in the PUT example while itemsupplyplan (lowercase) is used everywhere else. REST record endpoints in NetSuite are case-insensitive, but be consistent in your integration code to avoid confusion.

Prerequisite

The Demand Planning feature must be enabled at Setup > Company > Enable Features > Items & Inventory before the record is accessible via REST. Calls against a disabled feature will return a 404 or feature-not-enabled error.

What to do

  1. Verify the Demand Planning feature is enabled in your target account if you intend to integrate with item supply plans.
  2. Review the REST API Browser for the full field list and type details — Oracle's release note only covers a subset. Open the browser at /services/rest/record/v1/metadata-catalog/itemsupplyplan to get the complete schema.
  3. Update integrations that currently create or modify item supply plans via SuiteScript or SOAP. REST may offer lower governance overhead and simpler payload structure for external systems.
  4. Test PATCH carefully when adding order lines. The sample shows the full order.items array in the body — confirm whether omitting existing lines from the array causes them to be deleted (replace semantics) or preserved (merge semantics). Oracle’s documentation does not clarify this; test in sandbox.
  5. Use external IDs (eid:) when the source of truth for plan identity lives outside NetSuite. The PUT-with-eid pattern enables idempotent upserts that are safe to retry.

Unknowns

Oracle does not specify which NetSuite release introduced this REST exposure, nor does it document SuiteQL/SuiteScript 2.x support details for this record separately here. The version samples reference May 2025 dates, but the actual release version is unconfirmed. Check the REST API Browser in your account to confirm availability at your account’s version.