Legacy platform

Receive shipments

The store associate can start receiving shipments by using either Package SCM, Shipment Number, Product ID, Order Number . If the shipment is in a status to be received, the store associate is taken to the receiving screen, otherwise an appropriate message is displayed. The receiving screen lists the products in the shipment. If the shipment is packed, then packages are displayed. When the package information is available, receiving is done by scanning packages otherwise receiving is done by scanning the products. After receiving all the products, the store associate can complete the receiving process.

Receive Shipments portlet

A scan field is provided which can translate the bar code against multiple entities – Store Inbound Shipment, Carton SCM, Product or Order. The sequence of scan and the entities are configurable.
  • Scan shipment number: In the Receive Shipments portlet, a store associate can scan the shipment number of an inbound shipment. The Store Receive Shipment bar code type must be configured at the enterprise level to scan a shipment number. For shipment number, a sample service YCD_Translate_bar code_InboundShipment is provided, which can be used as an external source. When the store associate scans a shipment number, the receiving screen is displayed. If the shipment is not in a status to be received, or already received in any status other than (Shipped, Included in Receipt), an appropriate message is displayed. When a shipment number is scanned, the translatebar code API is called and then the getShipmentList API is called. If the scan results in a shipment, the receiving screen is displayed. If the search results in more than one shipment, a shipment list is displayed where the store associate can select the appropriate shipment to receive. The YCD_Translate_bar code_InboundShipment service is called to search for shipments with ShipmentNo and EnterpriseCode. To check whether a shipment is in a valid status to receive, the AllowedTransactions element in the getShipmentList API output is checked for INCLUDE_IN_RECEIPT.0005 or INCLUDE_IN_RECEIPT.0006 transactions. If there is already a closed receipt against a shipment, the shipment is assumed to be completely received.
  • Scan package number: In the Receive Shipments portlet, a store associate can scan a package using the Package SCM of an inbound shipment. The Store Receive Shipment bar code type must be configured at the enterprise level and inbound carton SCM can be used as a source. On scanning a package, the translatebar code API is called, which returns the ContainerScm. After translation, the getShipmentList API is called with that ContainerScm attribute. Further, shipments in the package are checked for valid status using the AllowedTransactions element. If a shipment is valid, then the receiving screen is displayed with the contents of the package marked as received with the default disposition code.

    The getReceivingPreference API is called to retrieve the preferences configured for receiving packages. The output of the API returns the CaseContentEntryRequired attribute. If the value of this attribute is Y, the package is not marked as received. The receiving screen is displayed and products in the shipment are listed.

  • Scan product number: A store associate can start the receiving process by scanning a product ID irrespective of whether a shipment is containerized or not. The Store Receive Shipment bar code type must be configured at the enterprise level with Item ID as the source. When the store associate scans the product ID for a containerized shipment, the receiving screen opens with the list of packages However, if the shipment contains loose SKUs, a shipment which is to be received (or being received) that contains the product is opened in receiving screen. If there are multiple shipments, then a list of shipments is displayed, which is limited to ten shipments only. If there are more shipments, an appropriate message is displayed prompting the store associate to choose the shipment from the incoming list. If no shipment is found, an appropriate message is displayed.
  • Scan order number: A store associate can start the receiving process by scanning the chained sales order number, purchase-order number, or transfer-order number. The application looks for the associated shipment. If the matching shipment can be received, the receiving screen it displayed. Otherwise, an appropriate error message is displayed. The Store Receive Shipment bar code type must be configured at the enterprise level. A sample service is provided which can be used as an external source for the bar code type. When the store associate scans the order, the translatebar code API is called to return the OrderNo. The getOrderList API is called with the OrderNo. Depending on the document type (type of the order), the getShipmentList API is called to retrieve the shipment associated with the order.

Receiving screen

  • Scan packages or manually receive packages: A store associate can receive one package after the other and thereby completely receive a shipment. For packages, bar code scan should be setup at Enterprise level for bar code Type - Shipping Carton. Typically, store associates do not open packages. Therefore, scanning the products inside a package is not supported. When a package is scanned, it is assumed that all the products inside the package are received in good condition. The store associate can either scan a package to mark it Received or click Receive to manually receive it. When a package is scanned, the corresponding panel is highlighted on the screen and a message is displayed indicating that the package is successfully received.

    When the receiving screen is loaded, the getShipmentDetails API is called to displays the shipment details. The API returns the ShipmentContainerizedFlag attribute. If the value of the attribute is 03 and the CaseContentEntryRequiredFlag is N, on scanning a package, the translatebar code and the getShipmentContainerList APIs are called to return the ContainerScm and then the receiveOrder API is called to receive the package. The getShipmentContainerDetails API is then called to get the updated IsReceived flag. If CaseContentEntryRequiredFlag is Y, all the products in the shipment are shown.

    If the receiving preferences are configured such that Case Content Entry Required rule is enabled, then the store associate cannot receive the shipment by packages. Instead, the shipment has to be received by scanning one product after the other.

  • Scan loose SKUs in the shipment or manually receive them: On the receiving screen, a store associate can scan products in the shipment or manually increase the Received Qty and click Update to receive a shipment. For product, bar code scan should be setup at Enterprise level for bar code Type Item. On scanning a product, the translatebar code is called to get the ItemID and UOM. If the translatebar code API does not return any result, the getItemList API is called to get the ItemID and UOM and then the receiveOrder API is called with this ItemID and UOM to receive the shipment line. If default disposition codes are configured, then on scanning a product, one unit is marked received with the default disposition code. The store associate can edit the Received Qty appropriately and the increased quantity is received with the default disposition code. The receiveOrder API is called to receive the shipment line with the correct quantity.

After receiving all the products or packages that arrive as part of a shipment at a store, the store associate should click Continue on the receiving screen. If everything is received, the closeReceipt API is called to close the receipt. If any of the contents of the shipment are not received yet, a warning window opens up listing the unreceived contents of the shipment and asking the store associate whether the listed packages or products would be received later or be marked as missing. If the store associate chooses to mark it as receive later, no action is taken and the receipt remains open. However, if the store associate chooses it to be marked as missing, then the receipt is closed by calling closeReceipt API. A note is added to indicate that some products or packages are marked as missing. When the store associate selects a reason and confirms, the Shipment Summary screen is displayed.

On the receiving screen, the store associate can click Add Notes to add important information to the inbound shipment. A pop-up window is displayed with the total number of notes and the existing notes which include both user logged and automatically logged events. The getNoteList API is called to retrieve the notes saved on the shipment. The store associate can enter a new note in the text box, mark it as important if required, and then click Add. The changeShipment API is called to save the notes on the shipment. Alternatively, a store associate can view and add notes on the Shipment Summary screen as well.

Receive the complete shipment at once: A store associate can receive a complete shipment without scanning individual packages or products. Similarly, the store associate can receive the remaining contents of a partially received shipment at once. From the More menu, the store associate can click Receive All to receive a shipment completely. A confirmation window is displayed prompting the store associate to select a reason for receiving a shipment in full without scanning. When the store associate selects the reason and clicks Yes to confirm, the Shipment Summary screen is displayed.

The getShipmentDetails API is called to display the contents of the shipment on the receiving screen and validate the AllowedTransactions for the shipment. If AllowedTransaction is not valid, an appropriate error message is displayed. The getReceiptList API is then called to get the receipts associated with the shipment.
  • In the output of the getShipmentDetails API, if the ShipmentContainerizedFlag flag is 01 or 02, it indicates that the shipment contains only loose SKUs. So the getShipmentLineList API is called to display the products in the shipment.
  • If the ShipmentContainerizedFlag is 03, it indicates that the shipment is fully packed. So the getShipmentContainerList API is called to display the packages for the shipment.
To retrieve the lines in a shipment that are yet to be received, the following logic is executed:
  • If ShipmentContainerizedFlag is 01 or 02, the getShipmentLineList API is called. Each receipt line maps to a shipment line and receiveOrder API is called for each shipment line.
  • If ShipmentContainerizedFlag is 03, the getShipmentContainerList API is called to find which packages are not yet received. Each receipt line maps to a unique ContainerDetail. The receiveOrder API is called to receive all the shipment lines and the changeShipment API is called to update the IsReceived attribute for all containers
When the store associate clicks Receive All, the getCommonCodeList API is called to display the reasons to receive a shipment without scanning. Once the store associate selects a reason and confirms, the receiveOrder API is called for all shipment lines with the default disposition code. The closeReceipt API is then called to close the receipt and the store associate is taken to the Shipment Summary screen.
Note: A note is logged by the system for the shipment indicating the reason for receiving the shipment without scanning. The Add Notes button changes to Notes button with a count of the notes alongside the label.
Notes:
  • Receiving is not supported for Return orders.
  • Receiving orders directly is not supported. A shipment is assumed to exist in the system. The ReceivingNode and ExpectedDeliveryDate attributes are assumed to be stamped on the shipment.
  • Blind receiving of products or packages is not supported.
  • Typically, opening packed shipments and scanning individual products in the package is not done.
  • Pallet level receiving is not supported. Only packages with Type Case are received completely by scanning Package SCM.
  • The application does not support shipments having both packed and unpacked products. In such cases, the store associate must perform product-level receiving.