D365 Reference
CustPackingSlipJour
transactionPosted packing-slip header — one row per shipment document posted against a sales order, with delivery date, ship-to address reference, and carrier details
Module: Sales & MarketingCompany-partitioned (DataAreaId)
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).
In field listings, K marks a key field.
Used in the library
KPI definitions
Dashboard patterns
Fields
17 fields · 3 key
17 fields.
| Key | Field | EDT | Description | Type | Length | Flags |
|---|---|---|---|---|---|---|
| Key | PackingSlipId | PackingSlipId | The packing-slip number; unique together with SalesId and DeliveryDate | string | 20 | |
| Key | SalesId | SalesId | Sales order the shipment was posted against; part of the composite key | string | 20 | |
| Key | DeliveryDate | Date the shipment was posted — the primary analysis date for outbound-shipment reporting; part of the composite key | date | |||
| OrderAccount | CustAccount | Customer account that placed the shipped order | string | 20 | ||
| InvoiceAccount | CustAccount | Customer account the shipment will be invoiced to | string | 20 | ||
| DeliveryPostalAddress | RecId | RecId of the ship-to address in LogisticsPostalAddress | int64 | |||
| DlvMode | Mode of delivery for the shipment | string | 10 | |||
| DlvTerm | Terms of delivery for the shipment | string | 10 | |||
| Qty | Total quantity shipped across the packing-slip lines | real | ||||
| Volume | Total volume of the shipment | real | ||||
| Weight | Total weight of the shipment | real | ||||
| inventLocationId | InventLocationId | Warehouse the shipment left from (note the CDM lowercase-i casing) | string | 10 | ||
| CustomerRef | The customer's own reference for the order | string | ||||
| PurchaseOrder | The customer's purchase order number for the shipped order | string | ||||
| DocumentDate | Document date printed on the packing slip, when it differs from the posting date; unset rows carry the 1900-01-01 sentinel | date | ||||
| LedgerVoucher | Ledger voucher for the shipment posting, when packing slips post to the ledger | string | 20 | |||
| Printed | Whether the packing-slip document has been printed | enum |
Field provenance: hand-curated.
Boilerplate SQL
Starting point for reading CustPackingSlipJour 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.
Query parameters
6 parameters not filled: <catalog>, <schema>, <company>, <SalesId>, <DATE_FROM>, <DATE_TO>
-- ============================================================
-- Table : CustPackingSlipJour Posted packing-slip header — one row per shipment document posted against a sales order, with delivery date, ship-to address reference, and carrier details
-- Purpose: Column-selected read of CustPackingSlipJour — auto-generated from field metadata
-- Grain : One row per company (dataareaid) + PackingSlipId + SalesId + DeliveryDate
-- 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 "The packing-slip number; unique together with SalesId and DeliveryDate",
c.salesid AS "Sales order the shipment was posted against; part of the composite key",
c.deliverydate AS "Date the shipment was posted — the primary analysis date for outbound-shipment reporting; part of the composite key",
c.orderaccount AS "Customer account that placed the shipped order",
c.invoiceaccount AS "Customer account the shipment will be invoiced to",
c.deliverypostaladdress AS "RecId of the ship-to address in LogisticsPostalAddress",
c.dlvmode AS "Mode of delivery for the shipment",
c.dlvterm AS "Terms of delivery for the shipment",
c.qty AS "Total quantity shipped across the packing-slip lines",
c.volume AS "Total volume of the shipment",
c.weight AS "Total weight of the shipment",
c.inventlocationid AS "Warehouse the shipment left from (note the CDM lowercase-i casing)",
c.customerref AS "The customer's own reference for the order",
c.purchaseorder AS "The customer's purchase order number for the shipped order",
CASE WHEN CAST(c.documentdate AS DATE) = DATE '1900-01-01' THEN NULL ELSE CAST(c.documentdate AS DATE) END AS "Document date printed on the packing slip, when it differs from the posting date; unset rows carry the 1900-01-01 sentinel", -- 1900-01-01 sentinel → NULL
c.ledgervoucher AS "Ledger voucher for the shipment posting, when packing slips post to the ledger",
c.printed AS "Whether the packing-slip document has been printed" -- enum: decode c.printed via GlobalOptionsetMetadata join — see quirks guide #enums
FROM <catalog>.<schema>.custpackingslipjour c
-- Resolve LogisticsPostalAddress (via DeliveryPostalAddress): uncomment to join on its RecId surrogate key
-- LEFT JOIN <catalog>.<schema>.logisticspostaladdress log ON log.recid = c.deliverypostaladdress
WHERE
c.dataareaid = '<company>'
-- AND c.salesid = '<SalesId>'
-- AND c.deliverydate >= '<DATE_FROM>' -- yyyy-MM-dd (UTC)
-- AND c.deliverydate <= '<DATE_TO>' -- yyyy-MM-dd (UTC)
ORDER BY c.packingslipid;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 custpackingslipjour.orderaccount = custtable.accountnum AND custpackingslipjour.dataareaid = custtable.dataareaidON custpackingslipjour.deliverypostaladdress = logisticspostaladdress.recid
Data Entities That Expose This Table
No research-verified standard export entity for posted packing-slip headers — land the raw 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