Path 3 covers drop-ship items where the vendor ships product directly to the customer (or to GFS for crossdock). For each dropship_line, a Purchase Order is created FROM the SO (purchaseorder.createdfrom = so.id), preserving the SO ↔ PO link. The customer PO# threads via PO.bodyFields.memo = "72622" and PO.lineFields.links[].tranid = "1217 / 72622" (SO tranid combo). After Item Receipt closes the PO line, the Vendor Bill is entered carrying that same threading on memo / tranid / initialtranid. Workflow: so_lifecycle_dropship_path.
| Step | NS record | Field | Sample value | Status |
|---|---|---|---|---|
| 2 | SalesOrd | bodyFields.otherrefnum (thread start) | "72622" | REAL |
| 2 | SalesOrd | bodyFields.tranid | "1217" | REAL |
| 4 | PurchOrd | bodyFields.createdfrom | 1217 (SO id) | REAL |
| 4 | PurchOrd | bodyFields.memo — customer PO# threading | "72622" | REAL |
| 4 | PurchOrd | lineFields.links[].tranid — SO+PO# combo | "1217 / 72622" | REAL |
| 4 | PurchOrd | bodyFields.entity — vendor | 891 (Cardinal Foods) | REAL |
| 7 | ItemRcpt | bodyFields.createdfrom | "PO-7833" | REAL |
| 7 | ItemRcpt | (inherits) memo via NS std linkage from PO | "72622" | REAL |
| 9 | ItemShip | bodyFields.createdfrom | 1217 (SO id) | REAL |
| 9 | ItemShip | bodyFields.otherrefnum | "72622" | REAL |
| 10 | (event) | events.event_type | "so.finance_alert_fired" | STUB |
| 11 | CustInvc | bodyFields.otherrefnum | "72622" | REAL |
| 16 | VendBill | bodyFields.memo — customer PO# threading | "72622" | REAL |
| 16 | VendBill | bodyFields.tranid | "1217 / 72622" | REAL |
| 16 | VendBill | bodyFields.initialtranid | "1217 / 72622" | REAL |
| 16 | VendBill | bodyFields.createdfrom | "PO-7833" | REAL |
| 17 | VendPymt | bodyFields.appliedto | "VB-2244" | REAL |
Path 3 carries the most threading fields of any path. The customer PO# ("72622") appears in 7+ NS field positions across 5 NS records:
bodyFields.otherrefnum = "72622"bodyFields.memo = "72622" + lineFields.links[].tranid = "1217 / 72622"memo from PO via NS std linkageotherrefnum = "72622" (inherits from SO)bodyFields.otherrefnum = "72622"memo = "72622" + tranid = "1217 / 72622" + initialtranid = "1217 / 72622"Single-grep recipe across the dropship chain: grep "72622" across transactions.otherrefnum + purchase_orders.memo + customer_invoices.otherrefnum + vendor_bills.memo + vendor_bills.tranid lights up every record — customer side and vendor side.
so_lifecycle_dropship_path · risk 3 REALdropship_item or special_order. Carries the most customer PO# threading of any path: PO + Vendor Bill both inherit/carry the thread on multiple fields.purchase_orders · item_receipts · item_fulfillments · customer_invoices · customer_payments · payment_applications · vendor_bills · vendor_payments · transactions · eventsVendBill.memo == PO.memo == SO.otherrefnum — verify_check enforces customer PO# threading invariant end-to-end