Hi Bob,
That’s interesting and I just thought of a potential scenario where this could happen: when an item is removed from the webstore, we automatically submit a product feed with action ‘Delete’ to the Amazon MWS API. In theory, that should delete the item almost immediately. I suppose it is possible that the deletion didn’t effect on the spot and the inventory feed wasn’t updated to reflect the new quantity (0) in the meantime.
Interestingly, having just reviewed our feed logs, I see that we did in fact feed a quantity update of 0 for that SKU:
<MessageID>9</MessageID>
<OperationType>Update</OperationType>
<Inventory>
<SKU>AFX21005</SKU>
<Quantity>0</Quantity>
</Inventory>
</Message>
That was contained in a feed with timestamp: amazon-2149-20141212212020-InventoryUpdate.xml, i.e., 2014-12-12 21:20:20. Does that roughly correspond with when the item went out of stock?
My best guess is that there was a delay with Amazon handling the deletion, which resulted in a kind of race condition between the shopper and MWS’s request processing.
As a precaution, you might try not setting out of stock items to inactive, so that they remain on the webstore for at least an hour, ensuring that the Inventory feed is always updated to 0 first. Then, afterwards, you can remove the item entirely.
To be honest, though, I’m not sure there’s anything we can do better in this case. Unfortunately, the MWS API is not real-time and I guess these kinds of delays will occasionally cause problems.
I’m not sure how practical this suggestion is but: another alternative might be to pad your quantities a little. For example, always subtract 1 from the quantity you upload to Seller Central. Obviously, if you have lots of items with a stock level of 1, this won’t work.
Would welcome any suggestions you might have, Bob, we’re always happy to respond to feedback.
Kind regards,
Donogh