bcquality/microsoft/knowledge/scm/post-transfers-through-shipment-and-receipt-codeunits.md
Jesper Schulz-Wedde bec8890b7e
Add SCM functional knowledge domain (#192)
* 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>

* Normalize SCM knowledge and review ownership

Align article and AL sample conventions, keep BC facts separate from review mechanics, and clarify reciprocal Finance ownership without bespoke shared test assertions.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-21 10:16:44 +02:00

3.6 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

A prepared non-direct transfer order without required warehouse documents uses "TransferOrder-Post Shipment".Run at shipment and "TransferOrder-Post Receipt".Run at receipt, with the actual "Transfer Header". Validated source quantities to ship/receive prepare the operation; posted quantity counters are results of posting.

Required warehouse shipment or receipt enters the warehouse document posting workflow, which invokes the transfer poster with its real source context. Direct transfers have their configured standard workflow; the two-step sample's in-transit guard is not a universal requirement.

Standalone item reclassification journals and bin movements are legitimate separate operations, not completion of an existing transfer order. Tracking/application splits and average-cost handling mean transfers do not have one fixed item-entry count or a nonzero "Transferred-from Entry No." on every application.

See sample: post-transfers-through-shipment-and-receipt-codeunits.good.al.

Anti Pattern

Ad-hoc item postings, independent positive/negative adjustments, manually created posted-transfer rows, and direct shipment/receipt-counter changes cannot substitute 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.

Changing an existing item ledger entry's location or inventing application links does not repair that missing workflow. Metadata enrichment within the normal shipment/receipt or direct-transfer workflow is distinct from replacing the posting operation.

See sample: post-transfers-through-shipment-and-receipt-codeunits.bad.al.

References