item
masterThe unified item master: one row for every item type — inventory, non-inventory, service, kit, assembly — discriminated by itemtype and subtype, carrying costing, pricing, planning parameters and global quantity rollups.
`location` on the item record is a default assignment, not a balance grain — per-location on hand, cost and planning parameters live on inventoryitemlocations, and no location anchor is emitted here. The quantity columns on this record are global rollups across every location.
hasSubsidiary is false by design: item-to-subsidiary is multi-valued and carried by the itemsubsidiarymap bridge, not by a column. `subsidiary` does appear on the record as a MULTISELECT and is authored below for completeness — it is not an equality filter — but the bridge is the join spine. hasLocation is false for the same class of reason: the `location` column is the item's default site, so anchoring on it would drop every item stocked elsewhere. Filter on itemtype before comparing anything numeric — a service item and an assembly do not share a cost meaning.
What the badges mean
- master
- Data class: what the record holds — master data, transaction documents, control/configuration, or a documented convenience record. NetSuite has no product-family or schema axis, so this is the whole classification.
- Subsidiary-scoped
- The record carries a
subsidiarycolumn that partitions its rows, so the generated SQL anchors it. On a few records the column is a multiselect rather than a scalar foreign key — the table notes say which (see the quirks guide). - Location-scoped
- The record carries a
locationcolumn — an org segment in NetSuite before it is a warehouse — and the generated SQL anchors it the same way. - View
- A documented convenience record rather than a stored one. Land the records it stands in for instead of assuming it extracts as-is — the table notes say where the rows actually live.
Structural facts — how the record is partitioned, not a trap by itself
Join & extract hazards — verify before you rely on this
'T'/'F' string.Business record
The business record this table holds, with Oracle’s own documentation for it: the Analytics Browser page that defines the queryable fields, and the current-release Records Browser page that corroborates it.
- Itemitem
The analytics catalog has ONE item record covering every item type. The script browser has none by that name — its nearest page is inventoryitem, headed "Inventory Part" — so the corroboration link resolves a narrower record than the analytics one.
Fields
18 fields · 1 key
18 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | id | Internal ID | NUMBER | Primary-key field |
| 2 | itemid | Item name/number | VARCHAR | |
| 3 | fullname | Full hierarchical name | VARCHAR | |
| 4 | displayname | Display name/code | VARCHAR | |
| 5 | itemtype | Item type discriminator (internal id) | NUMBER | |
| 6 | subtype | Item subtype (internal id) | NUMBER | |
| 7 | isinactive | Inactive | VARCHAR | |
| 8 | createddate | Date created | TIMESTAMP | |
| 9 | lastmodifieddate | Last modified — the incremental watermark | TIMESTAMP | |
| 10 | parent | Parent item (internal id) | NUMBER | |
| 11 | subsidiary | Subsidiaries — MULTISELECT; the join spine is itemsubsidiarymap | VARCHAR | |
| 12 | location | Default location (internal id) — not the per-location balance grain | NUMBER | |
| 13 | vendor | Preferred vendor (internal id) | NUMBER | |
| 14 | unitstype | Units-of-measure family (internal id) | NUMBER | |
| 15 | stockunit | Stocking unit (internal id) | NUMBER | |
| 16 | costingmethod | Costing method (internal id) — Average, FIFO, LIFO or Standard | NUMBER | |
| 17 | description | Sales description | CLOB | |
| 18 | externalid | External ID | VARCHAR |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading the Connect-landed copy of item on Databricks — dates are real DATE/TIMESTAMP columns and need no conversion, and the partition anchors are already in place. The lastmodifieddate watermark is in place too. Set your Unity Catalog location, schema, and filter values below; they’re substituted into the SQL and the copy button.
4 parameters not filled: <catalog>, <schema>, <id>, <watermark>
-- ============================================================
-- Table : item — The unified item master: one row for every item type — inventory, non-inventory, service, kit, assembly — discriminated by itemtype and subtype, carrying costing, pricing, planning parameters and global quantity rollups.
-- Purpose: Column-selected read of item — auto-generated from field metadata
-- Grain : One row per id
-- Caution: `location` on the item record is a default assignment, not a balance grain — per-location on hand, cost and planning parameters live on inventoryitemlocations, and no location anchor is emitted here. The quantity columns on this record are global rollups across every location.
-- Notes : Auto-generated skeleton for NetSuite data landed in your lakehouse from a SuiteAnalytics Connect (or SuiteQL) extract — it never addresses live NetSuite. Identifiers are lowercase as NetSuite2.com renders them. Select-type columns hold numeric internal ids: BUILTIN.DF() display resolution exists only at extraction time, so decode ids by joining the landed list records; see quirks #display-values. Check-box columns arrive as 'T'/'F' strings; see quirks #tf-booleans.
-- ============================================================
SELECT
t.id AS "Internal ID",
t.itemid AS "Item name/number",
t.fullname AS "Full hierarchical name",
t.displayname AS "Display name/code",
t.itemtype AS "Item type discriminator (internal id)",
t.subtype AS "Item subtype (internal id)",
t.isinactive AS "Inactive", -- 'T'/'F' string — compare = 'T', or CAST via CASE; see quirks #tf-booleans
t.createddate AS "Date created",
t.lastmodifieddate AS "Last modified — the incremental watermark",
t.parent AS "Parent item (internal id)",
t.subsidiary AS "Subsidiaries — MULTISELECT; the join spine is itemsubsidiarymap",
t.location AS "Default location (internal id) — not the per-location balance grain",
t.vendor AS "Preferred vendor (internal id)",
t.unitstype AS "Units-of-measure family (internal id)",
t.stockunit AS "Stocking unit (internal id)",
t.costingmethod AS "Costing method (internal id) — Average, FIFO, LIFO or Standard",
t.description AS "Sales description",
t.externalid AS "External ID"
FROM <catalog>.<schema>.item t
WHERE
1 = 1 -- no partition column on this record; the filters below are optional
-- AND t.id = <id>
-- AND t.lastmodifieddate >= TIMESTAMP '<watermark>' -- inserts and updates only — deletes never appear here; diff deletedrecord, which is itself blind to line-level deletes (see quirks #deletes)
ORDER BY t.id;Verified August 2026 · Analytics Browser 2021.1 · corroborated 2025.2
Select columns hold internal ids, not display text — see decoding display values.
Relationships
Diagram of 1-hop neighbors — join details below. Document-link edges are highlighted; they chain one document to the next and are the joins newcomers most often get wrong.
Join details
ON transactionline.item = item.idON item.id = itemvendor.itemON item.id = itemsubsidiarymap.itemON item.vendor = vendor.idON item.unitstype = unitstype.idON itemmember.item = item.idON itemmember.parentitem = item.idON pricing.item = item.idON inventoryitemlocations.item = item.idON inventorynumber.item = item.idON bomrevisioncomponent.item = item.idON manufacturingrouting.item = item.idON manufacturingcosttemplatecostdetail.item = item.idON itemdemandplan.item = item.idON itemsupplyplan.item = item.idON itemlocationconfiguration.item = item.id
More Items tables
- itemmemberThe generic component record — analytics label "Members": one row per member line of a parent item, carrying the component, its parent, the quantity, the component yield and the effective/obsolete revision window. It is the shape the kit, item-group and assembly member records all repeat.
- itemsubsidiarymapThe item-to-subsidiary bridge: two columns, one row per item per subsidiary the item is available in. This is the item side of OneWorld scoping.
- itemvendorThe item sourcing sublist: one row per item, vendor and subsidiary, with the vendor's part code, preferred flag and purchase price.
- unitstypeThe units-of-measure header: one row per UOM family (weight, each, volume). The individual units and their conversion rates hang off the joined unitstypeuom record.
- unitstypeuomThe individual units inside a units-of-measure family: name, abbreviation, the base-unit marker and the conversion rate that turns this unit into the family's base unit.