One of your ideas has been delivered from your suggestion.Support for Receiving Tolerances at Purchase Order Line and Inbound Shipment Line

You can now set the tolerance limit at Line Level for the items in the Purchase Order (PO) or Inbound Shipment. This ensures that you can receive a specific SKU in the order with your required line level tolerances, thereby giving you greater flexibility in your receiving operations. Using this new feature, you can prevent overpayment to vendors for receiving excess quantity beyond the PO or Shipment level tolerance and to avoid over receiving of specific items due to warehouse space limitations.

UI CHANGES

To configure the line level tolerances the following updates are made:

A new flag “Line Level Tolerance” is added to the Create/Edit panes of Shipment Type UI, so that on enabling the flag, based on the “Receipt Validation Type”, the system considers the line level tolerances configured in the Purchase Order Detail or Shipment Detail.

NOTE: If you disable the new flag “Line Level Tolerance”, the system defaults the flow where the tolerance will be considered from the Shipment Type.

After enabling the “Line Level Tolerance” flag, to add the line level tolerance, new fields “Warning %” and “Error %” are added to the Create/Edit panes of the Purchase Order Detail and IB Shipment Detail UIs.

If you create an IB Shipment from the Purchase Order Header or Purchase Order Detail UI with the “Warning %” and “Error %” values, then the system copies the same “Warning %” and “Error %” values to the IB Shipment Detail UI from the Purchase Order. You can override these values in the respective UIs.

On enabling the “Line Level Tolerance” flag, the system now considers the “Warning %” and “Error %” configured on the Purchase Order Detail or IB Shipment Detail UIs based on the “Receipt Validation Type” in the Shipment Type UI.

NOTE:

  • “Warning%” should be less than “Error %”.

  • By default, the field values for “Warning %” and “Error %” are blank.

The fields “Over Receipt Warning %”, “Over Receipt Error %”, and “'Under Receipt Warning %” in the Shipment Type UI are now marked as non-mandatory fields. You can now configure these values with a “Blank” value (default value).

On configuring the blank values, the behavior of percentages follows as mentioned in the below example.

Example: Purchase Order (PONBR-01) has an Item (SKU-A) of quantity 100 where the Receipt Validation Type is Purchase Order / Shipment / Both.

"Over Receipt Warning %" and "Over Receipt Error %" behavior:

Over Receipt Warning %

Over Receipt Error %

Behavior

Blank Blank

On receiving more than 100 quantities of SKU-A, the system displays over-receipt warning message. But you can receive more than ordered quantity (100).

Blank 0

On receiving more than 100 quantities of SKU-A, the system displays over-receipt error message.

0 Blank

On receiving more than 100 quantities of SKU-A, the system displays over-receipt warning message. But you can receive more than ordered quantity (100).

Blank 10

On receiving more than 110 quantities of SKU-A, the system displays over-receipt error message.

10 Blank

On receiving more than 110 quantities of SKU-A, the system displays over-receipt warning message. But you can receive more than ordered quantity (110).

"Under Receipt Warning %" behavior:

Under Receipt Warning %

Behavior

10

On receiving less than 90 quantities of SKU-A, the system displays under-receipt warning message on verifying the shipment.

Blank

On receiving less than 100 quantities of SKU-A, the system displays under-receipt warning message on verifying the shipment.

0

On receiving less than 100 quantities of SKU-A, the system displays under-receipt warning message on verifying the shipment.

INTERFACE CHANGES

The same UI changes are added to the input interface files. We have added “Warning %” and “Error %” at the detail level for xls, xml, and psv formats on the IB Shipment Interface and Purchase Order Interface. You can perform Create/Update/Delete actions on these fields via the Purchase Order Input Interface (through POS - Purchase Order Hierarchical or POD - Purchase Order Detail files) and IB Shipment Input Interface (through ISS - Inbound Shipment (ASN) Hierarchical or ISL - Inbound Shipment (ASN) Detail files).

When a Purchase Order is interfaced, the system creates an Inbound Shipment with the "Warning %" and "Error %" values available on the Purchase Order. (when facility parameter “CREATE_ASN_FOR_EACH_PO” is set to yes)

When an Inbound Shipment is interfaced with PO Number and PO Sequence, then the system populates the IB Shipment with the same “Warning %” and “Error %” available on the Purchase Order.

API CHANGES

Purchase Order and IB Shipment entities for INIT_STAGE_INTERFACE API now support new fields “Warning %” and “Error %”. On passing the “Warning %” and “Error %” fields, the system populates these values in the Purchase Order Detail or IB Shipment Detail UI.

You can perform Create/Update/Delete actions on these fields via INIT_STAGE_INTERFACE API.

Also, the Receive API is now enhanced to support receiving of inventory based on the line level tolerance. During receiving, the Receive API does not perform warning tolerance validation but validates the error tolerance.

NOTE: In the current release, we are not supporting line level tolerances for detail receiving. When line level tolerance is enabled,

  • The system disables the "Select for Dtl Recv" button on the IB Shipment Detail UI.
  • If you interface an IB Shipment interface file or via INIT_STAGE_INTERFACE API with "dtl_rcv_flg"=true, the system restricts you with an error message “Shipment cannot be interfaced with detail receiving is true and line level tolerance is enabled”.
  • The behavior of “Perform Detailed Receiving” action button on the IB Shipment UI remains the same (doesn’t consider the line level tolerance).

RECEIVE BY LOAD AND RECEIVE BY SHIPMENT

After configuring the “Line Level Tolerance” flag and setting the “Warning %” and “Error %” at the line level for each SKU or for the same SKU containing different lines, the system receives the inventory based on the Line level tolerance set at the detail level.

For example, consider a shipment (SHIPMENT-1) linked with PO (PO-1) is created with the following tolerances. (Receipt Validation Type is Purchase Order)

PO Number

Item

Ordered Quantity

Received Quantity

Host Sequence Number

Warning %

Error %

PO-1

SKU-A

100 0 1 10 20

PO-1

SKU-B

100 0 2 20 30

If you are receiving the shipment (SHIPMENT-1) with the following quantities, the system behaves as mentioned below:

Shipment Number

PO Number

Item

Ordered Quantity

Host Sequence Number

Warning %

Error %

Received Quantity

Behavior

SHIPMENT-1

PO-1

SKU-A

100 1 10 20

<111

The system receives the quantity without any error.

>110 and <121

The system displays the warning message.

>120

The system displays the error message.

SHIPMENT-1

PO-1

SKU-B

100 2 20 30

<121

The system receives the quantity without any error.

>120 and <131

The system displays the warning message.

>130

The system displays the error message.

NOTE:

  • When you receive a shipment with the same SKU and different lines linked to a PO, then the system updates the inventory based on the “prompt-po-seq-line” (PO Sequence/PO line schedule) parameter. If the parameter is not set, the system displays an error message “Multiple details for the same SKU present, cannot perform Line Level Tolerance”.
  • In the above case, if the shipment is not linked with a PO, then the system displays an error message “Multiple details for the same SKU present, cannot perform Line Level Tolerance”.
  • When the screen parameter “prompt-po-seq-line” = Blank, we are not supporting Inventory distribution.

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources