fulfillmentrequest
transactionSubsidiary-scopedLocation-scopedThe fulfillment-request document: a store or site being asked to fulfill part of an order, with its own number, date, status, fulfillment type, assignee and pickup-hold state.
this record is FEATURE-GATED — it exists in the analytics catalog whether or not your account runs the fulfillment-request flow, so an empty table here is a configuration answer, not an extraction bug.
Browser page name is fulfillmentRequest. Unlike the documents on the transaction spine it is a record of its own, with a scalar subsidiary and a fulfillment location that both partition it. createdfrom points at the order it came from; the item lines live on a request-item record that is not cataloged here. Its status values, like the spine's, have no public enumeration — see quirks #status-codes. One caveat on the generated location anchor: a request that has not been assigned to a site yet carries no location, so an active anchor there excludes exactly the unassigned backlog you may be looking for — drop it when that is the question.
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.Fields
19 fields · 1 key
19 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | id | Internal ID | NUMBER | Primary-key field |
| 2 | tranid | Fulfillment number as printed | VARCHAR | |
| 3 | transactionnumber | Transaction number | VARCHAR | |
| 4 | trandate | Request date | DATE | The record's primary analysis date — a real DATE/TIMESTAMP column, no conversion needed |
| 5 | status | Request status (internal id) — no public value list; see quirks #status-codes | NUMBER | |
| 6 | fulfillmenttype | Fulfillment type (internal id) — ship-from-store, pickup in store, and their relatives | NUMBER | |
| 7 | entity | Customer (internal id) | NUMBER | |
| 8 | subsidiary | Subsidiary (internal id) | NUMBER | |
| 9 | location | Fulfillment location (internal id) — the site being asked to fulfill | NUMBER | |
| 10 | createdfrom | Order this request was created from (internal id) | NUMBER | |
| 11 | assignee | Assigned employee (internal id) | NUMBER | |
| 12 | pickuphold | Pickup hold state (internal id) | NUMBER | |
| 13 | voided | Request voided | VARCHAR | |
| 14 | memo | Memo | VARCHAR | |
| 15 | createdby | Created by (internal id) | NUMBER | |
| 16 | lastmodifiedby | Last modified by (internal id) | NUMBER | |
| 17 | createddate | Date created | TIMESTAMP | |
| 18 | lastmodifieddate | Last modified — the incremental watermark | TIMESTAMP | |
| 19 | externalid | External ID | VARCHAR |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading the Connect-landed copy of fulfillmentrequest 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.
8 parameters not filled: <catalog>, <schema>, <subsidiary_id>, <location_id>, <id>, <DATE_FROM>, <DATE_TO>, <watermark>
-- ============================================================
-- Table : fulfillmentrequest — The fulfillment-request document: a store or site being asked to fulfill part of an order, with its own number, date, status, fulfillment type, assignee and pickup-hold state.
-- Purpose: Column-selected read of fulfillmentrequest — auto-generated from field metadata
-- Grain : One row per id
-- Caution: this record is FEATURE-GATED — it exists in the analytics catalog whether or not your account runs the fulfillment-request flow, so an empty table here is a configuration answer, not an extraction bug.
-- 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.tranid AS "Fulfillment number as printed",
t.transactionnumber AS "Transaction number",
t.trandate AS "Request date",
t.status AS "Request status (internal id) — no public value list; see quirks #status-codes",
t.fulfillmenttype AS "Fulfillment type (internal id) — ship-from-store, pickup in store, and their relatives",
t.entity AS "Customer (internal id)",
t.subsidiary AS "Subsidiary (internal id)",
t.location AS "Fulfillment location (internal id) — the site being asked to fulfill",
t.createdfrom AS "Order this request was created from (internal id)",
t.assignee AS "Assigned employee (internal id)",
t.pickuphold AS "Pickup hold state (internal id)",
t.voided AS "Request voided", -- 'T'/'F' string — compare = 'T', or CAST via CASE; see quirks #tf-booleans
t.memo AS "Memo",
t.createdby AS "Created by (internal id)",
t.lastmodifiedby AS "Last modified by (internal id)",
t.createddate AS "Date created",
t.lastmodifieddate AS "Last modified — the incremental watermark",
t.externalid AS "External ID"
FROM <catalog>.<schema>.fulfillmentrequest t
WHERE
t.subsidiary = <subsidiary_id> -- OneWorld partition — see quirks guide #oneworld
AND t.location = <location_id> -- location scope — see quirks guide #oneworld
-- AND t.id = <id>
-- AND t.trandate >= DATE '<DATE_FROM>'
-- AND t.trandate <= DATE '<DATE_TO>'
-- 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 fulfillmentrequest.entity = entity.idON fulfillmentrequest.subsidiary = subsidiary.idON fulfillmentrequest.location = location.idON fulfillmentrequest.createdby = entity.idON fulfillmentrequest.lastmodifiedby = entity.id
More Fulfillment & Logistics tables
- picktaskThe warehouse pick task: one row per item, lot/serial and recommended bin a picker is asked to pull, with the picked and remaining quantities and the wave it belongs to.
- shipitemThe shipping-item record — which in NetSuite is also the shipping METHOD: one row per method a document can be shipped on, carrying its carrier service codes and the whole rate-and-handling rule set behind the quoted freight.
- zoneThe warehouse zone list: one row per pick zone at a location, with its name and description.