I can see from Shopify's documentation that the purchase of a prepaid subscription causes an order to be created with a quantity matching that of the prepaid subscription (e.g. quantity of 6 for a 6-month prepaid subscription) as well as fulfilment orders for each of the future orders.
However, this is causing some complications as our subscription product runs like a "playlist" i.e. each month a different physical product with its own separate sku is sent out.
Is there a way to prevent this (i.e. keep the order quantity to 1 and prevent future fulfilment orders from being created)? Or if not, how best can we resolve this?
The additional fulfilment orders are causing problems with our inventory management system.
For example: when a customer signs up for a subscription, then the first month they should receive product x, then the next month they receive product y, the third month product z etc..
But with these fulfilment orders, if someone signs up for 6 months in advance, then shopify will create 6 fulfilment orders all for product x. Which means our inventory for product x goes down by 6 when it should have gone down by 1.
Hope that makes sense,
I think you can use order update mutations to make changes in line items.
That would work in terms of going back and fixing the orders, but at that point the inventory has already been reserved within our 3rd party system, which means we also need to go back and fix that data too. Finding a way to automate this fix would help, but ideally we could prevent it from happening in the first place.
By default, when a customer purchases a prepaid subscription on Shopify, an order with a quantity matching the subscription term is created, and future fulfillment orders are generated for each of the future orders. This is because prepaid subscriptions are set up to send the same product each month for the length of the subscription.
However, if your subscription product runs like a "playlist" with a different physical product being sent out each month, you can customize the prepaid subscription functionality to work with your unique setup.