CustPackingSlipTrans
transactionPosted packing-slip line - one row per order line on each shipment posted against a sales order, with the shipped quantity and the ship date; a line shipped in several deliveries has one row per delivery, so this is the split trail that on-time and in-full measures read
There is no business key on the line: the Microsoft CDM page for this table names RecId as its primary key, so group by InventTransId to reach the order line. Join to the CustPackingSlipJour header on DataAreaId, PackingSlipId, SalesId and DeliveryDate together - the columns that identify one header row - never on PackingSlipId alone.
What the badges mean
- main
- Table group: how F&O categorizes the table's role — main entity, group/header, transaction, worksheet header, worksheet line, reference, parameter, or framework.
- Shared across companies
- The table carries no
DataAreaId— rows aren’t partitioned per company, so a query never needs (and can’t use) a company filter here (see the quirks guide). - Date-effective
- The table carries a
ValidFrom/ValidToeffectivity window — a join without a date filter multiplies every key by its history (see the quirks guide).
Header & line
CustPackingSlipTrans lines join back to their header CustPackingSlipJour — and the DataAreaId — so a line never fans out across companies.
Fields
16 fields
16 fields.
| Key | Field | EDT | Description | Type | Length | Flags |
|---|---|---|---|---|---|---|
| PackingSlipId | PackingSlipId | Packing slip this line was posted on; with SalesId and DeliveryDate it identifies the CustPackingSlipJour header | string | 20 | ||
| SalesId | SalesId | Sales order the shipped line came from; part of the join to the CustPackingSlipJour header | string | 20 | ||
| DeliveryDate | Posting date of the packing slip, repeated on the line - the ship date for line-level delivery analysis; part of the join to the CustPackingSlipJour header | date | ||||
| LineNum | LineNum | Line number within the packing slip | real | |||
| InventTransId | InventTransId | Lot ID of the sales order line this row ships - the join back to SalesLine.InventTransId, and the key to group every delivery of one order line | string | 40 | ||
| ItemId | ItemId | Item shipped on the line | string | 20 | ||
| InventDimId | InventDimId | Inventory-dimension combination the line shipped from; join to InventDim to resolve site / warehouse / batch | string | 25 | ||
| Qty | Quantity shipped on this packing-slip line, in the sales unit; a line shipped in several deliveries has one row per delivery, so sum across rows for the delivered total | real | ||||
| SalesUnit | Sales unit of measure for the shipped quantity | string | 10 | |||
| inventQty | Quantity shipped on this packing slip, in the inventory unit (note the CDM lowercase-i casing) | real | ||||
| Ordered | Quantity ordered on the sales order line, as it stood when this packing slip was posted | real | ||||
| Remain | Quantity of the order line still left to ship after this packing slip, in the sales unit | real | ||||
| SalesLineShippingDateConfirmed | Confirmed ship date of the sales order line, copied onto the packing-slip line; unconfirmed lines carry the 1900-01-01 sentinel | date | ||||
| SalesLineShippingDateRequested | Requested ship date of the sales order line, copied onto the packing-slip line | date | ||||
| OrigSalesId | SalesId | Original sales order, when the shipped line references an earlier order | string | 20 | ||
| ExternalItemId | The customer's own item number for the shipped item, when maintained | string |
Field provenance: hand-curated.
Boilerplate SQL
Starting point for reading CustPackingSlipTrans on Databricks — enums are decoded, 1900-01-01 dates are wrapped to NULL, and the DataAreaId anchor is in place. Set your Unity Catalog location, company, and filter values below; they’re substituted into the SQL and the copy button.
5 parameters not filled: <catalog>, <schema>, <company>, <DATE_FROM>, <DATE_TO>
-- ============================================================
-- Table : CustPackingSlipTrans Posted packing-slip line - one row per order line on each shipment posted against a sales order, with the shipped quantity and the ship date; a line shipped in several deliveries has one row per delivery, so this is the split trail that on-time and in-full measures read
-- Purpose: Column-selected read of CustPackingSlipTrans — auto-generated from field metadata
-- Grain : One row per company (dataareaid) + recid (surrogate key)
-- Notes : Auto-generated skeleton for Synapse Link / Fabric Link-landed F&O data (lowercase column names). Enums decoded inline where verified; datetimes stored in UTC; 1900-01-01 dates are sentinels mapped to NULL. System/audit columns omitted — see the quirks guide.
-- ============================================================
SELECT
c.packingslipid AS "Packing slip this line was posted on; with SalesId and DeliveryDate it identifies the CustPackingSlipJour header",
c.salesid AS "Sales order the shipped line came from; part of the join to the CustPackingSlipJour header",
c.deliverydate AS "Posting date of the packing slip, repeated on the line - the ship date for line-level delivery analysis; part of the join to the CustPackingSlipJour header",
c.linenum AS "Line number within the packing slip",
c.inventtransid AS "Lot ID of the sales order line this row ships - the join back to SalesLine.InventTransId, and the key to group every delivery of one order line",
c.itemid AS "Item shipped on the line",
c.inventdimid AS "Inventory-dimension combination the line shipped from; join to InventDim to resolve site / warehouse / batch",
c.qty AS "Quantity shipped on this packing-slip line, in the sales unit; a line shipped in several deliveries has one row per delivery, so sum across rows for the delivered total",
c.salesunit AS "Sales unit of measure for the shipped quantity",
c.inventqty AS "Quantity shipped on this packing slip, in the inventory unit (note the CDM lowercase-i casing)",
c.ordered AS "Quantity ordered on the sales order line, as it stood when this packing slip was posted",
c.remain AS "Quantity of the order line still left to ship after this packing slip, in the sales unit",
CASE WHEN CAST(c.saleslineshippingdateconfirmed AS DATE) = DATE '1900-01-01' THEN NULL ELSE CAST(c.saleslineshippingdateconfirmed AS DATE) END AS "Confirmed ship date of the sales order line, copied onto the packing-slip line; unconfirmed lines carry the 1900-01-01 sentinel", -- 1900-01-01 sentinel → NULL
c.saleslineshippingdaterequested AS "Requested ship date of the sales order line, copied onto the packing-slip line",
c.origsalesid AS "Original sales order, when the shipped line references an earlier order",
c.externalitemid AS "The customer's own item number for the shipped item, when maintained"
FROM <catalog>.<schema>.custpackingsliptrans c
-- Dimension expansion: uncomment to resolve site / warehouse / location / batch
-- LEFT JOIN <catalog>.<schema>.inventdim id ON id.inventdimid = c.inventdimid AND id.dataareaid = c.dataareaid
WHERE
c.dataareaid = '<company>'
-- AND c.deliverydate >= '<DATE_FROM>' -- yyyy-MM-dd (UTC)
-- AND c.deliverydate <= '<DATE_TO>' -- yyyy-MM-dd (UTC)
;Verified September 2026
Relationships
Diagram of 1-hop neighbors — join details below. RecId and InventDim edges are highlighted; they’re the joins newcomers most often get wrong.
Join details
ON custpackingsliptrans.itemid = inventtable.itemid AND custpackingsliptrans.dataareaid = inventtable.dataareaidON custpackingsliptrans.inventdimid = inventdim.inventdimid AND custpackingsliptrans.dataareaid = inventdim.dataareaid
Data Entities That Expose This Table
More Sales & Marketing tables
- CustTableCustomer master — one row per customer account, with the RecId links to its global-address-book party and its default financial dimensions
- SalesLineSales order line — one row per order line; the core sell-side transaction, joined to its header by SalesId
- SalesTableSales order header — one row per order carrying customer, status, site, and requested dates
- CustGroupCustomer group master — one row per posting/reporting group of customers, carrying default payment terms and the settle-period used to derive due dates
- CustInvoiceJourPosted customer invoice header — one row per invoice issued from a sales order (or free-text posting), with totals, currency, due date, and the ledger voucher it posted under
- CustInvoiceTransPosted customer invoice line — one row per invoiced line with item, quantity, price, and amounts; the revenue-by-item grain of order-to-cash analytics