You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ofbiz.apache.org by "Pawan Verma (JIRA)" <ji...@apache.org> on 2019/04/27 05:59:00 UTC

[jira] [Updated] (OFBIZ-10365) Document design approaches for Inventory Transfer

     [ https://issues.apache.org/jira/browse/OFBIZ-10365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pawan Verma updated OFBIZ-10365:
--------------------------------
    Description: 
h2. Here is the link for the [discussion|https://markmail.org/message/7qrjhpuvkc3n6hk4].
h2. *Design Approach #1:*
 * Create Header entity *InventoryTransferHeader (ITH)*
 ** inventoryTransferId*
 ** statusId
 ** facilityId
 ** locationSeqId
 ** facilityIdTo
 ** locationSeqIdTo
 ** primaryShipmentId

 
 * Refactor existing *InventoryTransfer* entity to *InventoryTransferItem* so as to support item level details as follows:
 ** inventoryTransferId*
 ** invTransferItemSeqId*
 ** inventoryItemId
 ** shipmentId
 ** shipmentItemSeqId
 ** quantity
 ** unitPrice

 

Having InventoryItem detail at InventoryTransferItem level will help us to manage multiple Items under same InventoryTransfer and each InventoryTransferItem can be fulfilled via multiple Inventory items and/or multiple Shipments.

 
 * Create *TransferItemBilling* entity to support invoicing (if needed)
 ** inventoryTransferId*
 ** invTransferItemSeqId*
 ** invoiceId*
 ** invoiceItemSeqId*
 ** itemIssuanceId
 ** shipmentReceiptId
 ** quantity
 ** amount

 * Create *InventoryTransferContanctMech* entity to support InventoryTransfer Contact Mechanism
 ** inventoryTransferId*
 ** contactMechPurposeTypeId*
 ** contactMechId*

 * Create *RequirementInventoryTransfer* entity
 ** requirementId*
 ** inventoryTransferId*

 * Refactor existing *InventoryItemDetail* entity
 ** inventoryTransferId
 ** invTransferItemSeqId

    *Screenflow for Approach #1:* 
 * Add a new *Find Transfer Requirements* screen.
 ** Transfer Requirements can be searched with following parameters:
 *** Requirement ID
 *** Status ID
 *** Shipment ID
 *** Origin Facility ID
 *** Destination Facility ID
 *** Product ID
 *** Description
 *** Requirement Start Date
 *** Required By Date

 
 * Option for creating Inventory Transfer for Un-approved requirements will be disabled.
 * User can select multiple Approved Transfer Requirements between any two given facilities to create Single Inventory Transfer between them.
 * When user hit ‘Create Inventory Transfer’ option new Inventory Transfers would be created by consolidating all products/items requirements between any two given locations.
 * System would auto-assign the required quantity from existing inventoryItems based on FIFO.
 * Add a new *Items* screen for Inventory Transfer
 ** From here user can manually override the auto-assigned InventoryItems against each product.
 ** User can Add/Edit/Delete the Transfer Items.
 ** User can merge transfer requirement of Created status of same facilities as Inventory Transfer Item.

 * Add a new *View Inventory Transfer* screen

 * 
 ** After assigning InventoryItems user can Approve the Inventory Transfer.
 ** Upon Approval ATP would get reduced to the tune of assigned quantity from each inventory item.

 * Refactor the ‘Packing’ screen and allow to submit the Approved Inventory Transfer Id (aka OrderId). Only Approved Inventory Transfer will be available to pack.
 * Upon completion of packing reduce the QOH from assigned inventory items to the tune of packed quantity.
 * After completing packing, shipment will be created in shipped status and Inventory Transfer will be marked as 'SENT'.
 * Once received at destination location the ATP/QOH would be increased up to the transferred quantity per product and shipment will be marked as 'RECEIVED' and Inventory Transfer will be marked as 'COMPLETED'.

 

    *To Be Business Process for Approach #1:*

*!InventoryTransferModelLevel1.png!*

 
h2. *Design Approach #2:*
 * Alter *InventoryTransfer* entity as header entity as follows:
 ** Add primaryShipmentId
 ** Remove inventoryItemId

 
 * Add new entity *InventoryTransferItem*
 ** inventoryTransferId*
 ** invTransferItemSeqId*
 ** inventoryItemId
 ** shipmentId
 ** shipmentItemSeqId
 ** quantity
 ** unitPrice

Having InventoryItem detail at InventoryTransferItem level will help us to manage multiple Items for same InventoryTransfer and each InventoryTransferItem can be fulfilled via multiple Inventory items and/or multiple Shipments. 
 * Create TransferItemBilling entity to support tax invoice
 ** inventoryTransferId*
 ** invTransferItemSeqId*
 ** invoiceId*
 ** invoiceItemSeqId*
 ** itemIssuanceId
 ** shipmentReceiptId
 ** quantity
 ** amount

 * Create *InventoryTransferContanctMech* entity to support InventoryTransfer Contact Mechanism
 ** inventoryTransferId*
 ** contactMechPurposeTypeId*
 ** contactMechId*

 * Create *RequirementInventoryTransfer* entity
 ** requirementId*
 ** inventoryTransferId*

 * Refactor existing *InventoryItemDetail* entity
 ** inventoryTransferId
 ** invTransferItemSeqId

 

    *Screenflow for Approach #2:* 
 * Add a new *Find Transfer Requirements* screen.
 ** Transfer Requirements can be searched with following parameters:
 *** Requirement ID
 *** Status ID
 *** Shipment ID
 *** Origin Facility ID
 *** Destination Facility ID
 *** Product ID
 *** Description
 *** Requirement Start Date
 *** Required By Date

 
 * Option for creating Inventory Transfer for Un-approved requirements will be disabled.
 * User can select multiple Approved Transfer Requirements between any two given facilities to create Single Inventory Transfer between them.
 * When user hit ‘Create Inventory Transfer’ option new Inventory Transfers would be created by consolidating all products/items requirements between any two given locations.
 * System would auto-assign the required quantity from existing inventoryItems based on FIFO. 
 * Add a new *Items* screen for Inventory Transfer
 ** From here user can manually override the auto-assigned InventoryItems against each product.
 ** User can Add/Edit/Delete the Transfer Items.
 ** User can merge transfer requirement of Created status of same facilities as Inventory Transfer Item.

 * Add a new *View Inventory Transfer* screen
 ** After assigning InventoryItems user can Approve the Inventory Transfer.
 ** Upon Approval ATP would get reduced to the tune of assigned quantity from each inventory item.

 * Refactor the ‘Packing’ screen and allow to submit the Approved Inventory Transfer Id (aka OrderId). Only Approved Inventory Transfer will be available to pack.
 * Upon completion of packing reduce the QOH from assigned inventory items to the tune of packed quantity.
 * After completing packing, shipment will be created in shipped status and Inventory Transfer will be marked as 'SENT'.
 * Once received at destination location, the ATP/QOH would be increased upto the transferred quantity per product and same shipment will be marked as 'RECEIVED' and Inventory Transfer will be marked as 'COMPLETED'.

 

    *To Be Business Process for Approach #2:*

!InventoryTransferModelLevel1.png!
h2. *Design Approach #3:*

 

Third approach is to use Order Data Model.
 * Introduce a new order type 'Replenishment Order (RO)' or 'Transfer Order' along with new Shipment Type ‘Transfer Shipment’.
 * We can initiate the RO from one facility to another upon approving transfer requirements between any two facilities.
 * Status of RO will be maintained in OrderStatus entity.
 * Orderitem entity will be used to transfer multiple products under a single RO.
 * User can manually override the default reservations per order line item so as to allow transferring any specific inventory items between two facilities.
 * Perform the Reservation from assigned inventory items against each of the order item as soon as RO is approved.
 * Once RO is packed, associate a new shipment with type as ‘Transfer Shipment’ to the RO.
 * Upon successful shipping of RO, move the RO to ‘Sent’ status and corresponding Transfer Shipment to ‘Sent’ status as well.
 * Shipping will also trigger the Invoicing (for taxation purpose wherever required).
 * Allow to receive the RO at destination facility (similar to PO).
 * Once successfully received, increase the ATP/QOH per transferred product to the tune of transferred units. It would move the Order from ‘Sent’ to ‘Completed’ or ‘Received’ status and corresponding shipment as well should be moved to ‘Completed’ or ‘Received’ status.
 * OrderContent entity could be used to attach Stock transfer document(legal document vary according to country law) with inventorytransfer.

 

    *To Be Business Process for Approach #3:*

!OrderModelActivityLevel1.png!
h2. *Design Approach #4*

 

Fourth approach is to use Order Data Model as mentioned in the Mail Thread.
 * Introduce a new order type 'Replenishment Order (RO)' or 'Transfer Order' along with new Shipment Type ‘Transfer Shipment’.
 * We can create a RO from one facility which create an automated PO for another facility.
 * Status of RO will be maintained in OrderStatus entity.
 * Tax is applied or not, can be configurable at product level.
 * Shipment is already associated with order data model.
 * Order adjustment will be used to record adjustments.
 * Orderitem entity will be used to transfer multiple products at a time.
 * Reservation and issuance are already working in order data model.
 * OrderContent entity could be used to attach Stock transfer document(legal document vary according to country law) with inventorytransfer.

    *To Be Business Process for Approach #4:*

*!OrderModelActivityLevel1.png!*

  was:
h2. Here is the link for the [discussion|https://markmail.org/message/7qrjhpuvkc3n6hk4].
h2. *Design Approach #1:*
 * Create Header entity *InventoryTransferHeader (ITH)*
 ** inventoryTransferId*
 ** statusId
 ** facilityId
 ** locationSeqId
 ** facilityIdTo
 ** locationSeqIdTo
 ** primaryShipmentId

 
 * Refactor existing *InventoryTransfer* entity to *InventoryTransferItem* so as to support item level details as follows:
 ** inventoryTransferId*
 ** invTransferItemSeqId*
 ** inventoryItemId
 ** shipmentId
 ** shipmentItemSeqId
 ** quantity
 ** unitPrice

 

Having InventoryItem detail at InventoryTransferItem level will help us to manage multiple Items under same InventoryTransfer and each InventoryTransferItem can be fulfilled via multiple Inventory items and/or multiple Shipments.

 
 * Create *TransferItemBilling* entity to support invoicing (if needed)
 ** inventoryTransferId*
 ** invTransferItemSeqId*
 ** invoiceId*
 ** invoiceItemSeqId*
 ** itemIssuanceId
 ** shipmentReceiptId
 ** quantity
 ** Amount

 * Create *InventoryTransferContanctMech* entity to support InventoryTransfer Contact Mechanism
 ** inventoryTransferId*
 ** contactMechPurposeTypeId*
 ** contactMechId*

 * Create *RequirementInventoryTransfer* entity
 ** requirementId*
 ** inventoryTransferId*

 * Refactor existing *InventoryItemDetail* entity
 ** inventoryTransferId
 ** invTransferItemSeqId

    *Screenflow for Approach #1:* 
 * Add a new *Find Transfer Requirements* screen.
 ** Transfer Requirements can be searched with following parameters:
 *** Requirement ID
 *** Status ID
 *** Shipment ID
 *** Origin Facility ID
 *** Destination Facility ID
 *** Product ID
 *** Description
 *** Requirement Start Date
 *** Required By Date

 
 * Option for creating Inventory Transfer for Un-approved requirements will be disabled.
 * User can select multiple Approved Transfer Requirements between any two given facilities to create Single Inventory Transfer between them.
 * When user hit ‘Create Inventory Transfer’ option new Inventory Transfers would be created by consolidating all products/items requirements between any two given locations.
 * System would auto-assign the required quantity from existing inventoryItems based on FIFO.
 * Add a new *Items* screen for Inventory Transfer
 ** From here user can manually override the auto-assigned InventoryItems against each product.
 ** User can Add/Edit/Delete the Transfer Items.
 ** User can merge transfer requirement of Created status of same facilities as Inventory Transfer Item.

 * Add a new *View Inventory Transfer* screen

 ** After assigning InventoryItems user can Approve the Inventory Transfer.
 ** Upon Approval ATP would get reduced to the tune of assigned quantity from each inventory item.

 * Refactor the ‘Packing’ screen and allow to submit the Approved Inventory Transfer Id (aka OrderId). Only Approved Inventory Transfer will be available to pack.
 * Upon completion of packing reduce the QOH from assigned inventory items to the tune of packed quantity.
 * After completing packing, shipment will be created in shipped status and Inventory Transfer will be marked as 'SENT'.
 * Once received at destination location the ATP/QOH would be increased up to the transferred quantity per product and shipment will be marked as 'RECEIVED' and Inventory Transfer will be marked as 'COMPLETED'.

 

    *To Be Business Process for Approach #1:*

*!InventoryTransferModelLevel1.png!*

 
h2. *Design Approach #2:*
 * Alter *InventoryTransfer* entity as header entity as follows:
 ** Add primaryShipmentId
 ** Remove inventoryItemId

 
 * Add new entity *InventoryTransferItem*
 ** inventoryTransferId*
 ** invTransferItemSeqId*
 ** inventoryItemId
 ** shipmentId
 ** shipmentItemSeqId
 ** quantity
 ** unitPrice

Having InventoryItem detail at InventoryTransferItem level will help us to manage multiple Items for same InventoryTransfer and each InventoryTransferItem can be fulfilled via multiple Inventory items and/or multiple Shipments. 
 * Create TransferItemBilling entity to support tax invoice
 ** inventoryTransferId*
 ** invTransferItemSeqId*
 ** invoiceId*
 ** invoiceItemSeqId*
 ** itemIssuanceId
 ** shipmentReceiptId
 ** quantity
 ** amount

 * Create *InventoryTransferContanctMech* entity to support InventoryTransfer Contact Mechanism
 ** inventoryTransferId*
 ** contactMechPurposeTypeId*
 ** contactMechId*

 * Create *RequirementInventoryTransfer* entity
 ** requirementId*
 ** inventoryTransferId*

 * Refactor existing *InventoryItemDetail* entity
 ** inventoryTransferId
 ** invTransferItemSeqId

 

    *Screenflow for Approach #2:* 
 * Add a new *Find Transfer Requirements* screen.
 ** Transfer Requirements can be searched with following parameters:
 *** Requirement ID
 *** Status ID
 *** Shipment ID
 *** Origin Facility ID
 *** Destination Facility ID
 *** Product ID
 *** Description
 *** Requirement Start Date
 *** Required By Date

 
 * Option for creating Inventory Transfer for Un-approved requirements will be disabled.
 * User can select multiple Approved Transfer Requirements between any two given facilities to create Single Inventory Transfer between them.
 * When user hit ‘Create Inventory Transfer’ option new Inventory Transfers would be created by consolidating all products/items requirements between any two given locations.
 * System would auto-assign the required quantity from existing inventoryItems based on FIFO. 
 * Add a new *Items* screen for Inventory Transfer
 ** From here user can manually override the auto-assigned InventoryItems against each product.
 ** User can Add/Edit/Delete the Transfer Items.
 ** User can merge transfer requirement of Created status of same facilities as Inventory Transfer Item.

 * Add a new *View Inventory Transfer* screen
 ** After assigning InventoryItems user can Approve the Inventory Transfer.
 ** Upon Approval ATP would get reduced to the tune of assigned quantity from each inventory item.

 * Refactor the ‘Packing’ screen and allow to submit the Approved Inventory Transfer Id (aka OrderId). Only Approved Inventory Transfer will be available to pack.
 * Upon completion of packing reduce the QOH from assigned inventory items to the tune of packed quantity.
 * After completing packing, shipment will be created in shipped status and Inventory Transfer will be marked as 'SENT'.
 * Once received at destination location, the ATP/QOH would be increased upto the transferred quantity per product and same shipment will be marked as 'RECEIVED' and Inventory Transfer will be marked as 'COMPLETED'.

 

    *To Be Business Process for Approach #2:*

!InventoryTransferModelLevel1.png!
h2. *Design Approach #3:*

 

Third approach is to use Order Data Model.
 * Introduce a new order type 'Replenishment Order (RO)' or 'Transfer Order' along with new Shipment Type ‘Transfer Shipment’.
 * We can initiate the RO from one facility to another upon approving transfer requirements between any two facilities.
 * Status of RO will be maintained in OrderStatus entity.
 * Orderitem entity will be used to transfer multiple products under a single RO.
 * User can manually override the default reservations per order line item so as to allow transferring any specific inventory items between two facilities.
 * Perform the Reservation from assigned inventory items against each of the order item as soon as RO is approved.
 * Once RO is packed, associate a new shipment with type as ‘Transfer Shipment’ to the RO.
 * Upon successful shipping of RO, move the RO to ‘Sent’ status and corresponding Transfer Shipment to ‘Sent’ status as well.
 * Shipping will also trigger the Invoicing (for taxation purpose wherever required).
 * Allow to receive the RO at destination facility (similar to PO).
 * Once successfully received, increase the ATP/QOH per transferred product to the tune of transferred units. It would move the Order from ‘Sent’ to ‘Completed’ or ‘Received’ status and corresponding shipment as well should be moved to ‘Completed’ or ‘Received’ status.
 * OrderContent entity could be used to attach Stock transfer document(legal document vary according to country law) with inventorytransfer.

 

    *To Be Business Process for Approach #3:*

!OrderModelActivityLevel1.png!
h2. *Design Approach #4*

 

Fourth approach is to use Order Data Model as mentioned in the Mail Thread.
 * Introduce a new order type 'Replenishment Order (RO)' or 'Transfer Order' along with new Shipment Type ‘Transfer Shipment’.
 * We can create a RO from one facility which create an automated PO for another facility.
 * Status of RO will be maintained in OrderStatus entity.
 * Tax is applied or not, can be configurable at product level.
 * Shipment is already associated with order data model.
 * Order adjustment will be used to record adjustments.
 * Orderitem entity will be used to transfer multiple products at a time.
 * Reservation and issuance are already working in order data model.
 * OrderContent entity could be used to attach Stock transfer document(legal document vary according to country law) with inventorytransfer.

    *To Be Business Process for Approach #4:*

*!OrderModelActivityLevel1.png!*


> Document design approaches for Inventory Transfer 
> --------------------------------------------------
>
>                 Key: OFBIZ-10365
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-10365
>             Project: OFBiz
>          Issue Type: Sub-task
>          Components: order
>    Affects Versions: Trunk
>            Reporter: Pawan Verma
>            Assignee: Pawan Verma
>            Priority: Minor
>         Attachments: InventoryTransferModelLevel1.png, OrderModelActivityLevel1.png
>
>
> h2. Here is the link for the [discussion|https://markmail.org/message/7qrjhpuvkc3n6hk4].
> h2. *Design Approach #1:*
>  * Create Header entity *InventoryTransferHeader (ITH)*
>  ** inventoryTransferId*
>  ** statusId
>  ** facilityId
>  ** locationSeqId
>  ** facilityIdTo
>  ** locationSeqIdTo
>  ** primaryShipmentId
>  
>  * Refactor existing *InventoryTransfer* entity to *InventoryTransferItem* so as to support item level details as follows:
>  ** inventoryTransferId*
>  ** invTransferItemSeqId*
>  ** inventoryItemId
>  ** shipmentId
>  ** shipmentItemSeqId
>  ** quantity
>  ** unitPrice
>  
> Having InventoryItem detail at InventoryTransferItem level will help us to manage multiple Items under same InventoryTransfer and each InventoryTransferItem can be fulfilled via multiple Inventory items and/or multiple Shipments.
>  
>  * Create *TransferItemBilling* entity to support invoicing (if needed)
>  ** inventoryTransferId*
>  ** invTransferItemSeqId*
>  ** invoiceId*
>  ** invoiceItemSeqId*
>  ** itemIssuanceId
>  ** shipmentReceiptId
>  ** quantity
>  ** amount
>  * Create *InventoryTransferContanctMech* entity to support InventoryTransfer Contact Mechanism
>  ** inventoryTransferId*
>  ** contactMechPurposeTypeId*
>  ** contactMechId*
>  * Create *RequirementInventoryTransfer* entity
>  ** requirementId*
>  ** inventoryTransferId*
>  * Refactor existing *InventoryItemDetail* entity
>  ** inventoryTransferId
>  ** invTransferItemSeqId
>     *Screenflow for Approach #1:* 
>  * Add a new *Find Transfer Requirements* screen.
>  ** Transfer Requirements can be searched with following parameters:
>  *** Requirement ID
>  *** Status ID
>  *** Shipment ID
>  *** Origin Facility ID
>  *** Destination Facility ID
>  *** Product ID
>  *** Description
>  *** Requirement Start Date
>  *** Required By Date
>  
>  * Option for creating Inventory Transfer for Un-approved requirements will be disabled.
>  * User can select multiple Approved Transfer Requirements between any two given facilities to create Single Inventory Transfer between them.
>  * When user hit ‘Create Inventory Transfer’ option new Inventory Transfers would be created by consolidating all products/items requirements between any two given locations.
>  * System would auto-assign the required quantity from existing inventoryItems based on FIFO.
>  * Add a new *Items* screen for Inventory Transfer
>  ** From here user can manually override the auto-assigned InventoryItems against each product.
>  ** User can Add/Edit/Delete the Transfer Items.
>  ** User can merge transfer requirement of Created status of same facilities as Inventory Transfer Item.
>  * Add a new *View Inventory Transfer* screen
>  * 
>  ** After assigning InventoryItems user can Approve the Inventory Transfer.
>  ** Upon Approval ATP would get reduced to the tune of assigned quantity from each inventory item.
>  * Refactor the ‘Packing’ screen and allow to submit the Approved Inventory Transfer Id (aka OrderId). Only Approved Inventory Transfer will be available to pack.
>  * Upon completion of packing reduce the QOH from assigned inventory items to the tune of packed quantity.
>  * After completing packing, shipment will be created in shipped status and Inventory Transfer will be marked as 'SENT'.
>  * Once received at destination location the ATP/QOH would be increased up to the transferred quantity per product and shipment will be marked as 'RECEIVED' and Inventory Transfer will be marked as 'COMPLETED'.
>  
>     *To Be Business Process for Approach #1:*
> *!InventoryTransferModelLevel1.png!*
>  
> h2. *Design Approach #2:*
>  * Alter *InventoryTransfer* entity as header entity as follows:
>  ** Add primaryShipmentId
>  ** Remove inventoryItemId
>  
>  * Add new entity *InventoryTransferItem*
>  ** inventoryTransferId*
>  ** invTransferItemSeqId*
>  ** inventoryItemId
>  ** shipmentId
>  ** shipmentItemSeqId
>  ** quantity
>  ** unitPrice
> Having InventoryItem detail at InventoryTransferItem level will help us to manage multiple Items for same InventoryTransfer and each InventoryTransferItem can be fulfilled via multiple Inventory items and/or multiple Shipments. 
>  * Create TransferItemBilling entity to support tax invoice
>  ** inventoryTransferId*
>  ** invTransferItemSeqId*
>  ** invoiceId*
>  ** invoiceItemSeqId*
>  ** itemIssuanceId
>  ** shipmentReceiptId
>  ** quantity
>  ** amount
>  * Create *InventoryTransferContanctMech* entity to support InventoryTransfer Contact Mechanism
>  ** inventoryTransferId*
>  ** contactMechPurposeTypeId*
>  ** contactMechId*
>  * Create *RequirementInventoryTransfer* entity
>  ** requirementId*
>  ** inventoryTransferId*
>  * Refactor existing *InventoryItemDetail* entity
>  ** inventoryTransferId
>  ** invTransferItemSeqId
>  
>     *Screenflow for Approach #2:* 
>  * Add a new *Find Transfer Requirements* screen.
>  ** Transfer Requirements can be searched with following parameters:
>  *** Requirement ID
>  *** Status ID
>  *** Shipment ID
>  *** Origin Facility ID
>  *** Destination Facility ID
>  *** Product ID
>  *** Description
>  *** Requirement Start Date
>  *** Required By Date
>  
>  * Option for creating Inventory Transfer for Un-approved requirements will be disabled.
>  * User can select multiple Approved Transfer Requirements between any two given facilities to create Single Inventory Transfer between them.
>  * When user hit ‘Create Inventory Transfer’ option new Inventory Transfers would be created by consolidating all products/items requirements between any two given locations.
>  * System would auto-assign the required quantity from existing inventoryItems based on FIFO. 
>  * Add a new *Items* screen for Inventory Transfer
>  ** From here user can manually override the auto-assigned InventoryItems against each product.
>  ** User can Add/Edit/Delete the Transfer Items.
>  ** User can merge transfer requirement of Created status of same facilities as Inventory Transfer Item.
>  * Add a new *View Inventory Transfer* screen
>  ** After assigning InventoryItems user can Approve the Inventory Transfer.
>  ** Upon Approval ATP would get reduced to the tune of assigned quantity from each inventory item.
>  * Refactor the ‘Packing’ screen and allow to submit the Approved Inventory Transfer Id (aka OrderId). Only Approved Inventory Transfer will be available to pack.
>  * Upon completion of packing reduce the QOH from assigned inventory items to the tune of packed quantity.
>  * After completing packing, shipment will be created in shipped status and Inventory Transfer will be marked as 'SENT'.
>  * Once received at destination location, the ATP/QOH would be increased upto the transferred quantity per product and same shipment will be marked as 'RECEIVED' and Inventory Transfer will be marked as 'COMPLETED'.
>  
>     *To Be Business Process for Approach #2:*
> !InventoryTransferModelLevel1.png!
> h2. *Design Approach #3:*
>  
> Third approach is to use Order Data Model.
>  * Introduce a new order type 'Replenishment Order (RO)' or 'Transfer Order' along with new Shipment Type ‘Transfer Shipment’.
>  * We can initiate the RO from one facility to another upon approving transfer requirements between any two facilities.
>  * Status of RO will be maintained in OrderStatus entity.
>  * Orderitem entity will be used to transfer multiple products under a single RO.
>  * User can manually override the default reservations per order line item so as to allow transferring any specific inventory items between two facilities.
>  * Perform the Reservation from assigned inventory items against each of the order item as soon as RO is approved.
>  * Once RO is packed, associate a new shipment with type as ‘Transfer Shipment’ to the RO.
>  * Upon successful shipping of RO, move the RO to ‘Sent’ status and corresponding Transfer Shipment to ‘Sent’ status as well.
>  * Shipping will also trigger the Invoicing (for taxation purpose wherever required).
>  * Allow to receive the RO at destination facility (similar to PO).
>  * Once successfully received, increase the ATP/QOH per transferred product to the tune of transferred units. It would move the Order from ‘Sent’ to ‘Completed’ or ‘Received’ status and corresponding shipment as well should be moved to ‘Completed’ or ‘Received’ status.
>  * OrderContent entity could be used to attach Stock transfer document(legal document vary according to country law) with inventorytransfer.
>  
>     *To Be Business Process for Approach #3:*
> !OrderModelActivityLevel1.png!
> h2. *Design Approach #4*
>  
> Fourth approach is to use Order Data Model as mentioned in the Mail Thread.
>  * Introduce a new order type 'Replenishment Order (RO)' or 'Transfer Order' along with new Shipment Type ‘Transfer Shipment’.
>  * We can create a RO from one facility which create an automated PO for another facility.
>  * Status of RO will be maintained in OrderStatus entity.
>  * Tax is applied or not, can be configurable at product level.
>  * Shipment is already associated with order data model.
>  * Order adjustment will be used to record adjustments.
>  * Orderitem entity will be used to transfer multiple products at a time.
>  * Reservation and issuance are already working in order data model.
>  * OrderContent entity could be used to attach Stock transfer document(legal document vary according to country law) with inventorytransfer.
>     *To Be Business Process for Approach #4:*
> *!OrderModelActivityLevel1.png!*



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)