Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Tier Pricing Feature and Price Lists #1920

Closed
osseonews opened this issue Dec 7, 2022 · 3 comments
Closed

Feature request: Tier Pricing Feature and Price Lists #1920

osseonews opened this issue Dec 7, 2022 · 3 comments

Comments

@osseonews
Copy link

Please add tier pricing to Vendure as doing this with promotions is not really viable. Tier pricing is sometimes known as bulk pricing.
Tier pricing is: Buy 1 of X for $100, or Buy 3 of X for $80, or Buy 10 of X for $50

An associated feature is to have each price associated with a price list, e.g. this is the price and tier price for CustomerGroupA and then this is the is the price and tier price for CustomerGroupB.

From what I can tell, Vendure is currently set up so that there is only one price per variant and you can only manipulate this price via promotions. However, the above functionality requires a bit of a different set up on the backend.

Thanks.

@michaelbromley michaelbromley moved this to 🤔 Under consideration in Vendure OS Roadmap Dec 7, 2022
@michaelbromley michaelbromley moved this from 🤔 Under consideration to 📅 Planned in Vendure OS Roadmap Dec 20, 2022
@michaelbromley michaelbromley added this to the v2.0 milestone Dec 20, 2022
@michaelbromley
Copy link
Member

I think this is almost possible now, but there is one missing piece:

We can, for instance, define a custom field on ProductVariant which is a string list which encodes the different tiers, e.g.

3:8000
10:5000

(we can use a custom form input component to make it nice to interact with in the UI)

Then we can provide an OrderItemPriceCalculationStrategy which reads this custom field data in order to determine the price.

The missing part currently is that the strategy is currently not aware of the quantity.

This could be added though, so the calculateUnitPrice() method also receives the current quantity of the order line. This would allow us to implement tier pricing.

It would also allow price lists based on CustomerGroup too, in much the same way.

@seminarian
Copy link
Contributor

Nice to see this is already planned for v2!

Would be awesome if Price Lists could have lots of configuration parameters (e.g. channel, facets, start date, end date, ..) and that they support two modes:

  • Override modus who just changes the price of a Variant
  • Sale modus which has a price and Original price so frontends can show a % discount on their pages!

michaelbromley added a commit that referenced this issue Apr 13, 2023
Relates to #1920. This feature is the fundamental piece that allows price lists /
tiered pricing to be implemented. The exact implementation will depend on the
project requirements.
@michaelbromley
Copy link
Member

The commit above adds the quantity arg to OrderItemPriceCalculationStrategy, which is the key to unlock this feature.

The exact implementation of where the tiered price data comes from is now up to the implementor - I'm not sure that we should build this into the core without more deeply understanding the possible requirements for such a setup.

My feeling is that it will be best implemented as a plugin external to core. Coming Admin UI improvements will make it possible for a plugin to define a UI for setting tiered prices, and I plan to add a guide to the docs on possible implementations of tiered pricing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

3 participants