bcquality/microsoft/knowledge/scm/post-transfers-through-shipment-and-receipt-codeunits.md
Jesper Schulz-Wedde 9ac62e3967 Add SCM functional knowledge domain
Introduce nine source-backed rules with original AL sample pairs, bounded SCM review routing, and complete positive/clean evaluation coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-17 15:54:23 +02:00

3.7 KiB

bc-version domain keywords technologies countries application-area
all
scm
transfer-header
transfer-line
transferorder-post-shipment
transferorder-post-receipt
in-transit-code
last-shipment-no
item-application-entry
al
w1
all

Post transfers through shipment and receipt codeunits

Description

A two-step transfer order preserves a continuous quantity, reservation, and cost/application lineage from the source through in-transit to the destination. Its shipment and receipt workflows also own posted documents and derived lines for partial receipt. Posting an item-journal movement and manually marking a transfer header or line as shipped is not equivalent, even if the total quantities balance.

Best Practice

For a prepared non-direct transfer order without required warehouse documents, use "TransferOrder-Post Shipment".Run at shipment and "TransferOrder-Post Receipt".Run at receipt, passing the actual "Transfer Header". Validate the intended quantities to ship/receive through the source document; do not assign posted quantity counters as preparation.

When warehouse shipment or receipt is required, use the warehouse document posting workflow that invokes the transfer poster with its real source context. Retain the configured standard direct-transfer workflow for direct transfers; the two-step sample's in-transit guard is not a universal requirement.

Standalone item reclassification journals and bin movements are legitimate separate operations. Do not demand a fixed number of item ledger entries, or a nonzero "Transferred-from Entry No." on every transfer application: tracking/application splits and average-cost transfer handling differ. Require evidence that code is replacing completion of an existing transfer order, not merely moving stock through another supported process.

Anti Pattern

Report ad-hoc item postings, independent positive/negative adjustments, manually created posted-transfer rows, or changes to source shipment/receipt counters used to stand in for transfer-order posting. Updating "Last Shipment No." after a bare item-journal call does not create the posted shipment, source-line progress, or transfer application lineage.

Do not repair this by changing an existing item ledger entry's location or inventing application links. Route the source transaction through its owning shipment/receipt or configured direct-transfer workflow. Metadata enrichment inside that workflow is not itself a posting bypass.

Samples

References