Receiving#
Receiving is where physical material enters the system. There are three flavours: PO receipt (against an open Purchase Order), general receipt (not tied to a PO), and consignment receipt (material owned by someone else, held on-site).
Flows#
PO receipt#
- User scans / enters the PO number and line item.
PORecHelpervalidates open quantity against the PO line’s remaining balance.- A
RECEIVERHDR+RECEIVERDETpair is created. - If serial-tracked, the operator captures serials into
INVTSER(IRecSerialHelper). - If lot-tracked, a lot is created / topped up in
INVTLOT. - On-hand (
INVT) is incremented for the receiving warehouse / location. - A
PoDMRmay be raised if quantity or quality is out of spec — see DMR.
General receipt#
GenReceivingHelper and GeneralReceivingDetailsHelper handle receipts that don’t have a PO — RMA returns, samples, or WO by-products. Same on-hand and serial / lot updates apply; no PO balance is decremented.
Consignment receipt#
ConsignRecHelper and BcReceivingHelper handle material still owned by the supplier or the customer. Stock lands in on-hand marked as consigned; ownership stays with the counterparty until it’s consumed (issued to a WO for supplier-consigned, or shipped for customer-consigned).
Business rules#
- Receiver numbers are managed centrally; do not re-use.
- Every receipt writes to the receiver header / detail — even zero-cost samples. Financial impact (accrual) is a separate GL step handled by AP.
- Serial numbers are checked for uniqueness before being written to
INVTSER. - A PO cannot be over-received unless the “allow over-receipt” flag on the PO is set.
PORecHelperenforces the check. - Consigned stock never posts to the inventory-asset GL account on receipt — the accrual happens when it’s consumed.
Where it lives#
| Layer | File |
|---|---|
| Controller | ReceivingController, ReceiverHeaderController, ReceiverDetailController, ConsignReceivingController, PorecserController (serial-capture UI) |
| Helper | MnxEFModel/Helper/POReceiving/PORecHelper.cs, GenReceivingHelper.cs, ConsignRecHelper.cs, ReceiverHeaderHelper.cs, ReceiverDetailHelper.cs, InventoryReceivingHelper.cs, POReceivingDetailsHelper.cs, POServiceItemReceiverHelper.cs, IRecSerialHelper.cs, InvtLotHelper.cs |
| Related | Purchase Orders, Consignment, Serial & Lot Control |