When I relist a multi-quantity fixed price item, it lists with the original quantity, rather than what is remaining after the item ends. Why does this happen?
What you are seeing is the expected behavior for RelistItem call. When you make an explicit call to RelistItem, it will list with the same inputs that you specified in the AddItem call, unless you change it in the RelistItem call.
Lets say a fixed price stores item with a 30 day listing duration and Quantity 10, sold 2 of it before it ended. When you make a call to Relist Item, it will automatically relist the item with quantity 10, rather than 8.
So the best practice for Relisting is that you always set the Quantity to what you have available. You can find that by making a call to GetItem and calculate it as under:
Item.Quantity - Item.SellingStatus.QuantitySold
Here is a sample of the RelistItem call where the Quantity is explicitly set:
<?xml version="1.0" encoding="utf-8"?>
If you set the ListingDuration to GTC, the system will automatically do the calculation and relist the item with the correct quantity every 30 days. This is a good alternative where you will not have to keep track of the inventory. However, keep in mind that even though the listing is automatic for GTC, it does incur the same listing fees.