I was at a customer's today, trying to work through various inventory issues, one being warehouse transfers that are in transit for a period of time. You can enter an inventory transfer transaction but then one of the warehouses is incorrect while the inventory is in transit. If you do it when it leaves warehouse 1, the quantities in warehouse 2 are incorrect - not good for salespeople who need to know whether they can ship something or not from that warehouse. If you do it when it arrives at warehouse 2, then warehouse 1 is short quantities - what if a count is done and the inventory is adjusted??
We discussed invoicing the items out through SO then processing a PO - wait, that won't work. You can invoice them out at zero to the customer but you can't receive them in at zero cost - you lose the value in inventory. You could receive it in at cost then receive a zero-dollar invoice but then you have to mess with the PO variance.....
After discussing several other possibilities, this is what we came up with for this client:
1) Create a warehouse transfer customer and invoice the items being transferred through sales order with zero unit prices. (This customer allows you to use the NONTAX tax schedule and allows for monitoring the transfer activity.)
2) Create an RMA referencing the invoice from step 1. The customer action is Credit, the item action is Stock with the warehouse is changed to the receiving warehouse. (Yes, you would have to have the RMA module.)
3) When the receiving warehouse confirms receipt, RMA receipt entry is processed, creating a credit memo. Once updated, inventory is ""transferred"" to warehouse 2 WITH THE EXACT SAME COST as the original invoice, thus no variance. (Remember to reference the original invoice!)
Granted, you lose the value of the inventory in transit on the balance sheet during the transit and recognize it in cost of sales but that is then reversed when the credit memo is updated. And both warehouse managers are happy.
I'm sure there are other workarounds - I'd love to hear yours if you have one - and I'm sure I missed other shortcomings of this approach but this seems to do the trick.
TLDR - a way to process warehouse transfers that are in transit for a length of time with correct IM quantities in both warehouses and no cost differences.