The issue currently with Shopify inventory locations and making them match with location information from RICS (or any POS) is how shopify handles deducting from locations when orders are placed, and then later fulfilled.
Here's how it works in Shopify, without any type of integration involved.
You have some number of locations containing inventory. Lets say 5.
In Shopify you specify a preference order for these locations for Shopify to use when deducting inventory for an order. Let's say you specify the location order as 1,2,3,4,5.
When an order is placed, shopify checks the locations in the specifies order and deducts the item from the first location it finds available inventory.
Let's say that it finds inventory in location 2 (location 1 was out of stock on that item) In this case, Shopify deducts the qty ordered from location 2 inventory.
At some later point in time, you actually ship the order. For whatever reason, you decide to ship the order from location 3. Creating the fulfillment in Shopify now requires that the location be provided when the item is fulfilled (shipped) Becuase you shipped from Location 3, Shopify knows that it previously committed the item from location 2, so it added the qty BACK to location 2 and deducts it from location 3.
This is all well and good as long as there is nothing form the out side like an integration that will update any of the inventory quantities.
Shopify does not currently expose which store it originally commits the item from, nor is there a way for the integration to know the preference order in the configuration, so that the integration could make a guess as to which store the item was committed from. It's possible we could set this preference order to mimic the logic Shopify uses, but we would not know from Shopify if the preference had been changed in shopify.
Shopify only provides the location information for an ordered item to the integration once it has been fulfilled.
We need to know which location the item was committed from so we do not overwrite the qty to make it match from RICS because RICS does NOT have the order yet, and RICS qty does not reflect the activity from that order.
When we are dealing with only 1 location, we "allocate" items on order, and deduct from the aggregate qty from RICS to prevent over selling on the web.
When the integration compares qty in shopify to the qty in RICS for each item in each location and finds a difference, the integration does not know if the qty is difference because Shopify committed an item to an order, or added it back because an item was shipped from a different location from where it was originally committed from, because that info its not exposed to us.
So the possibility is real that for short periods of time, items may be set to the wrong quantity, either by the integration due to lack of information, or by Shopify when it does it's shipping adjustments.