Let me try adding few more insights/details with regard to stock transfer flow.
As we are referring to intra-organizational goods movement i.e., so movement of goods would be for and within the same business entity. Here are few pointers (if it can help in assessing any kind of technical trade-off that needs to be made with respect to current implementation) : - Stock Transfer per se are going to involve goods exchange but there is no real time money exchange involved between shipper and receiver as they are both the very same business entity in the legal sense. So business might not be necessarily interested in generating any sales or purchase invoice against such transactions. Nor will there be any real time payment or invoice settlement required at either end. - In financial terms there are tax implications but its applicability varies depending upon the laws of the land or country/state-specific tax regulations. For example: - In US the very same item transferred in certain state might be taxable at certain rate but totally exempted or taxed at different rate in another (someone with better understanding of US or EUR tax regulations can throw more light and let us know if currently intra-company goods transfer are even taxable or not) - In India, the tax implications in the case of goods transfer is now shifted on the supply of goods. As a result: - For inter-state transfer *there is tax liability and in this case, only a separate “Tax Invoice”* needs to be issued along with stock transfer note and supporting document (depending on the inter-state regulations while crossing the state borders) - For intra-state transfers if business entity is having single registration for originating and receiving branches with tax authority then *there is no tax liability and hence no Tax Invoice *needs to be issue. Only Delivery Note should suffice to transfer the goods. - For intra-state transfers if business entity is having different registration for originating and receiving branches with tax authority then *there is tax liability and in this case, only a separate “Tax Invoice”* needs to be issued along with stock transfer note. - Any kind of applicable tax (if any) needs to be paid to the state only and a separate Tax Invoice needs to be generated in this case. - The transfer shipment needs to follow certain status transitioning i.e. ‘Requested’ à ‘In-review’ à ‘Shipped’ (from originating facility) à ‘In-transit’ à ‘Received’ (at destination facility). As it needs to be tracked internally. - The deemed transaction value and tax liability against the transferred goods should hit the accounting books against appropriate GL accounts per store and a separate GL account against the tax authority (in accordance with business rules). - Later at some point of time we may also like to systemically build the Transfer Requirement Planning and consolidate all the individual product-wise transfer ad-hoc or planned requests/requirement for a common destination facility (i.e., once any feature like https://issues.apache.org/jira/browse/OFBIZ-6964 gets implemented) I hope it should help to come up with a generic enough solution that can work across geographies with required level of flexibility. Thanks, Swapnil -----Original Message----- From: James Yong [mailto:jamesy...@apache.org] Sent: Wednesday, October 18, 2017 9:56 PM To: dev@ofbiz.apache.org Subject: Re: RE: Quantity missing for inventory transfer records Hi Vaibhav, My random thoughts on the possible implementation: We can have a new InventoryTransferHeader (ITH) entity as mentioned earlier to manage group transfer. Having Quality attribute to InventoryTransfer entity is reasonable since we may have an approval process before actual transfer. User doing inventory transfer can have an Shipment option to enable shipment. When inventory transfer is approval and Shipment option is selected, a corresponding Sales Order (SO) and Purchase Order (PO) will be created. You may want to use a different Order Type for these transfer SO & PO. No direct changes are allowed for transfer SO & PO. Changes can only be made at ITH and the associated Inventory Transfer entities. There should be an attribute in SO & PO to link to ITH. There is also a need to enhance the reservation function of SO to specify the inventory item id for reservation. Regards, James Yong On 2017-10-16 23:05, Vaibhav Jain <vaibhav.j...@hotwaxsystems.com> wrote: > Hello Swapnil/James, > > There are many dependencies of inventory transfer in Business > Requirements > like: > > 1. In Inventory transfer generally, there is more than one product in > any inventory transfer. > 2. Inventory transfer should have an association with Shipment which is > missing. > 3. Inventory transfer should have an association with Accounting which > is missing. > 4. Tax should be calculated(Applicable in India after GST) on inventory > transfer. > 5. If the tax is exempted then need "Stock transferring" documentation. > 6. Tracking of Transferred inventory. > 7. Tracking of associated peoples(Picker, Packer, driver) with the > respective transfer order. > > Most of the attribute of inventory transfer is belongs to Order > management system. Hence we should have a flow to create a "Transfer > Order" for inventory transfer. > > Inventory Transfer can be treated as "Receive product". Business does > not have workflows to receive the product directly i.e. PO should be > created to receive the product. If anyone wants to surpass the PO > workflow and want to receive the product then "Receive product" is > useful. Same for inventory transfer we should have a flow of transfer > order and inventory transfer can be used like "Receive Product" workflow. > > Please share your thoughts > > Thanks & Regards > > Vaibhav Jain > Hotwax Systems, > vaibhav.j...@hotwaxsystems.com > > On Mon, Oct 16, 2017 at 7:02 PM, Swapnil Shah < > swapnil.s...@hotwaxsystems.com> wrote: > > > Yes James, > > ITH should work. I would prefer to have ITH tightly coupled with > > InventoryTransfer(IT) i.e. even in case of single item transfer > > create corresponding entries in ITH and IT both to maintain data > > integrity. Also, We can try tying up Inventory Transfer with > > Shipment through ITH itself or a separate entity e.g., InventoryTransferShipment. > > > > Thanks & Regards, > > Swapnil > > > > -----Original Message----- > > From: James Yong [mailto:jamesy...@apache.org <jamesy...@apache.org>] > > Sent: Sunday, October 15, 2017 9:26 PM > > To: dev@ofbiz.apache.org > > Subject: Re: RE: Quantity missing for inventory transfer records > > > > Hi Swapnil, > > > > Another possible solution is to have an header entity, e.g. > > InventoryTransferHeader (ITH), containing additional or common info > > related to the group transfer. > > For group transfer, ITH is created and each InventoryTransfer will > > contain a FK to ITH. > > For single transfer, ITH can be empty. > > > > Regards, > > James Yong > > > > On 2017-10-14 18:59, Swapnil Shah <swapnil.s...@hotwaxsystems.com> wrote: > > > Folks, > > > One very frequent use case that we encounter is that any transfer > > > request initiated from one facility to another is generally for > > > multiple products as they all need to go in a single shipment > > > against transfer request so as to be cost effective. > > > > > > Current schema has the limitation that any given inventory > > > transfer can only be for single inventory item (and hence only one product). > > > Would it make sense and be feasible if we enhance the existing > > > design such that multiple products/inventory can be tied with a > > > single transfer > > > (InventoryTransferId) request (possibly by having > > > InventoryTransferId > > > + InventoryItemId as PK) and shipment is tied up with it as well. > > > + Of > > > course by leaving a proper audit trail via InventoryItemDetail etc. > > > > > > Let's share any further thoughts or similar business cases and > > > then we can try to support it if it is generic enough. > > > > > > Thanks & Regards, > > > Swapnil > > > > > > -----Original Message----- > > > From: James Yong [mailto:jamesy...@apache.org <jamesy...@apache.org>] > > > Sent: Friday, October 13, 2017 9:36 PM > > > To: dev@ofbiz.apache.org > > > Subject: Re: Quantity missing for inventory transfer records > > > > > > Hi all, > > > > > > It is better to add InventoryTransferId column to Inventory Item > > > Detail > > > (IID) table so that we easily link the IID record to the Inventory > > > Transfer table. > > > > > > What do you think? > > > > > > Regards, > > > James Yong > > > > > > On 2017-10-13 23:18, "James Yong"<jamesy...@apache.org> wrote: > > > > Hi Suraj, > > > > > > > > Shouldn't the transfer detail be stored at Inventory Item Detail > > table? > > > > > > > > Regards, > > > > James Yong > > > > > > > > On 2017-10-13 16:44, Suraj Khurana > > > > <suraj.khur...@hotwaxsystems.com> > > > wrote: > > > > > Hello, > > > > > > > > > > While creating inventory transfers, a new inventory item is > > > > > created and successfully gets updated after completing > > > > > inventory > > transfer. > > > > > As per current implementation, we don't store transferred > > > > > quantity anywhere in *InventoryTransfer *entity and quantity > > > > > is only available on the newly created inventory item. Problem > > > > > is, it gets deluded on time being and user won't get exact > > > > > quantity for which > > > inventory transfer was initialized. > > > > > > > > > > IMO, we should maintain transferred quantity at > > > > > *InventoryTransfer *entity as well for proper history maintenance of records. > > > > > > > > > > Please share your thoughts on this. > > > > > > > > > > -- > > > > > Thanks and Regards, > > > > > *Suraj Khurana* | Sr. Enterprise Software Engineer *HotWax > > > > > Commerce* by *HotWax Systems* Plot no. 80, Scheme no. 78, > > > > > Vijay Nagar, Indore, M.P. India 452010 > > > > > > > > > > > > > > >