SaaS CMS has officially launched! Learn more now.

Multiple prices on variants



I have a scenario where each variant can have multiple prices:

1) Up front payment (what you must pay now).

2) Monthly price.

What price we charge for the variant depends on the configuration the costumer make before buying the variant.

Right now im thinking about adding one of the prices as a property on the variant. 

The downside to this is that we can't use the implemented Epi sub-systems such as the Discounts/Marketing modules.

My question is: Does anyone have a good way to implement multiple prices on a variant?

Have anyone been in the same situation as me? and how did you solve it?

I was told by a EPiServer Soloution Architect that I might look into PriceTypes, but I can't find any good information on how to use it to solve my situation.

Mar 03, 2016 9:22

Prices can be assigned for a variant based on Customer Groups and Sale Code.
for variant 1
Group 1|Marke1|SaleCode:UpFront|10.00|Currency

Group 1|Marke1|SaleCode:Monthly|4.00|Currency

Group 2|Marke1|SaleCode:UpFront|12.00|Currency

Group 2|Marke1|SaleCode:Monthly|5.00|Currency


Mar 03, 2016 15:15

Thanks for the reply!

Just to test if I understand you correctly:

First I create two Customer Groups one for monthly payment and one for up front payment. 

I create two prices on the variant each whith a sales code which equals the name of the Customer Groups.

Then when the costumer buy the variant, I set the Costomer Group "behind the scenes"?

Is the way you would do it, or is there something that I am missing.

Mar 03, 2016 16:18

I think you are not dividing customers on Groups. Therefore Default Customer Group "All Customers will work".

But Out of the box, Sale Code(UpFront/Monthly)  can help you to present two different prices to customers on your website for same variant. Based on selection of Customer you can filter the prices that which price you want to show/charge.

All Customers|Marke1|SaleCode Upfront|10.00|Currency

All Customers|Marke1|SaleCode Monthly|4.00|Currency

If you want to manage it via Customer Groups, then you will not require to define Code e.g

Group Upfront|Marke1|NoSaleCode|10.00|Currency

Group Monthly|Marke1|NoSaleCode|4.00|Currency

You can do a quick test by defining some prices in Commerce Manger.


Mar 03, 2016 16:50

Bear in mind, you may also need to alter the cart validation workflow if you need to use different sale code for the price. The default workflow only handle the All Customers without SaleCode

Mar 04, 2016 4:25

If you have a custom pricegroup and it's not the EffectiveCustomerGroup of the customerContact, yes you'll have to.

Mar 04, 2016 11:18

If you are going to use sale code for all customers, you will need to alter the GetItemPrice method in the workflow

protected Money? GetItemPrice(CatalogEntryDto.CatalogEntryRow entry, LineItem lineItem, CustomerContact customerContact)
List<CustomerPricing> customerPricing = new List<CustomerPricing>();

// Default one, which doesn't handle different sale code.

// customerPricing.Add(CustomerPricing.AllCustomers);

// register different sale code for all customers

customerPricing.Add( new CustomerPricing(CustomerPricing.AllCustomers.PriceTypeId,"RRP"));

Edited, Mar 06, 2016 8:38
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.