I did some googling and I could not find any solution to this aside from getting a paid app.
I have a product with multiple variants. The only “variant” is qty of the product, so I want them to pull from the same inventory pool.
Also since the variant is quantity based, 1 variant will actually be 3 units, another variant is 5 units, etc..
Shopify just subtracts 1 from each variant inventory. I need to subtract 3 or 5 to match how much is actually sold.
Is there a way to do this in Shopify Flows?
I saw people mentioning shopify flows doesn’t easily let you adjust inventory, but this post found a way to it with HTTP requests. This is just a straight change to inventory counts irrespective of the variant ordered. So not my use case
I’m not sure what you are trying to do. If you could restate that a bit it might help someone provide help. There is a way using Send Admin API request to set inventory.
It’s probably technically possible using Flow, but I’m not sure how Flow would reliably know how inventory to deduct, unless that information was stored in a metafield or maybe tag.
Avoiding bundles may be creating more work for you in the long run, so I’d give that some more thought.
Assuming you want to use Flow, it’s not clear how you will know that variant 2 represents 3 products. If you can figure that out, then you should be able to build the right conditions in Flow.
That’s not much to go on. You could check if the SKU contains “2”, but any SKU could have a number in it. I think it would be better to set up a metafield that stores the quantity. Or maybe a tag with a certain prefix like “quantity:2”.
Product tag or metafield would both be a good way to do it.
My coding knowledge is super limited. I find the link you sent is hard to
understand.
Would you be able to help guide me on how to get this implemented in Flow?
Alternatively I was looking at the Mechanic app. They have a backend
solution for this, but paying monthly for this 1 use doesn’t seem worth it
to me.
I don’t think any tool is going to just work for you, because you don’t have the data stored in a reliable way. So first, create a product variant metafield definition in your Admin settings (of type number) and “Pin” it so you can see it in your Admin. They set the value for the variants. Once you have that set up, you can check if the order has a variant where that number is > 1. If so, you use Send Admin API request to update the inventory.
I’m thinking we can calculate the inventory level in a run code step and then an inventory update mutation. I’ve got a link in my footer for paid work.
The Easify Inventory Sync app could easily resolve your inventory management issue. It’s unfortunate that you’re not looking to use any apps, but just in case you reconsider, here’s how it works:
You can set your Variant 1 (1 unit of the product) as the Base product, which will determine the quantity of Variant 2 (3 units of the product) and Variant 3 (5 units of the product).
More importantly, the inventory of all variants will automatically adjust and sync when orders are placed. For example:
When Variant 1 is purchased, its quantity will be reduced by 1, and its new inventory will recalculate the available quantities for Variants 2 and 3.
When Variant 2 (3 units of the product) is purchased, the inventory of Variant 1 will decrease by 3. Then, the new inventory of Variant 1 will recalculate the quantities for Variants 2 and 3, ensuring everything stays in sync.