We have a client who has a Shopify storefront and wants to control pricing for their products on a per-customer basis. Our client has specific pricing arrangements with each of their customers (with volume-based pricing and price breaks), and currently manages these prices through their own custom inventory application. They've recently decided to start a Shopify store to acquire more sales. The Shopify customers will be their existing customers, and the buying experience through Shopify is meant to augment their existing sales process through their inventory application. The idea would be that the pricing is controlled through their inventory application, and we would use some tool/script to communicate those prices to Shopify, so that when the customers log in to the Shopify site, they'd see the same custom pricing for the products as they'd see in the external inventory application.
I'm researching what options are available for this, but to date haven't found anything that works quite right. Things I've considered:
1) Using the Shopify Admin API and/or Storefront API to control prices. This seems like the option that shows the most promise, however, as far as I can tell, there isn't any way to have the Shopify storefront experience use these custom prices. It seems like the only way to make it work, is to have a separate store hosted externally, which the customers would interact with. I did see that Themes seem to let you control things, but from https://shopify.dev/docs/themes/ajax-api, it seems like you can't actually control prices through the Theme.
2) An extension of the above - one thing I considered was using the Theme to communicate with an external endpoint that is hosting an Admin API, which would then communicate back to the store to change the prices in real-time based on the customer who is browsing the site. This felt very much like a hack though, and also felt like it'd be easy to exploit/abuse.
3) Using PriceRules, it does seem to be possible to set the prices exactly the way we want - however, PriceRules seem to be applicable only to DiscountCodes, which means we'd need to configure a discount code for every customer and product combination.
4) Using Script Editor, it seems like it would be possible to have rules that interact with the shopping cart at the point of checkout, to determine whether the customer is eligible for a particular pricing rule. This is almost perfect, except for two problems - first, it is a bit of a weird experience to have the main site showing one price, whereas the actual customer price is only calculated when they go to check out the item. Second, it requires Shopify Plus, which is a pretty huge hurdle for this one specific feature.
If anyone has any ideas or suggestions, I would love to hear them. Please let me know if the scenario is unclear!