My client wants to change variant product prices for customers based on customer tag.
Ideally i was thinking of having a variant meta field where my client can easily update prices for customers with a specific tag, which i could then build a private shopify app to pull those prices and actually persist that price in cart and at checkout.
But it seems i cannot do this with the graphQL API. The pricing rules allow automatic discounts but its a max of 25 and a max of 5 per cart. Currently i can pull the prices to the storefront but it does not actually persist in the cart or at checkout, only the front end.
I could use a shopify script, but it reduces the flexibility for further developments we want to make.
The baseline sane way to have multiple prices for merchandise is to have multiple variants with the needed prices; which in turn means for the online sales-channel customizations to weave it all together, hide the special variants , prevent invalid orders, and bunch of other side effects. Similar to a flat-product model aka product-family I have some writings on it in the forums.
An alternative is using the draft orders api to swap in a checkout with custom data.
If on the Plus plan making the checkout-scripts feature available but don’t want to use that feature then an alternative may be the B2B channel or wholesale channel /shrug.
Are they duplicating all the products in my store - hiding them from the “Products” section of the shopify CMS - and doing magic in the back end to link them up with the actual products to keep inventory in sync?
As I outlined either do sleight of hand with pre-existing variants in the backend swapping them on the frontend conditionally, use discounts, or use apps that do similar, automation apps like mechanic, or shopify functions based apps, or create your own app to do any of the above and then some.