Documentation

Ucommerce includes full API reference documentation and lots of helpful articles to help you build your e-commerce site as effortlessly as possible.

Topics Payment Providers
v7.18

Pricing Structure for Products

In this article we'll talk about the different prices features and price structures available in Ucommerce. But first we'll cover some basic knowledge that are good to know to understand how prices for products are determined.

Price Groups

There is no price in Ucommerce without Price Groups. The most basic thing to know about pricing for products is that there's always a price group involved. Price groups determine list prices in Ucommerce. It's based on a currency and a VAT rate for the products. A simple example is that if you have three price groups you have three sets of list prices per product in your product catalog. This means that it opens op for qualifying different prices for products (differentiated pricing) based on default beahvior or custom logic. We'll get to that shortly.

Price groups can be created and deleted directly in the backend. If you delete a price group the prices and the price group will disappear in the backend, but the prices will still persist in the database.

image

Editing prices in the backend

Under the pricing tab on the product editor for any given product you'll see the different list prices (price per price group) configured. These will all be configured without VAT and have that applied when adding a product to the basket based on the VAT rate configured for the price group.

Product Catalogs and Catalog Context

When we have multiple prices per product, we need to narrow down the right price point for your products. This is done on the Product Catalog resolved in the context of what the visitor is browsing. See also Catalog Structure if you're interested in how this works more in depth.

A price point, or list price, is just a price for a product based on a price group.

The right price point for the product is determined by the catalog, and all products resolved within this catalog will use that price point based on what price group is resolved by the catalog.

Since you're allowed to have products live across different stores and catalogs the pricing will automatically change based on the catalog context and what catalog you visit the product in.

A Note on Differentiated Pricing

As part of narrowing down what the right price point is, it is important to also understand the term of differentiated pricing which is a quite normal scenario to come across in B2B solutions. This essentially means that based on who the customer is, the price will change.

This can be done by chaing what Context we're in. On the catalog context you can either redirect customers to different catalogs based on the customer type which will resemble differentiated pricing. The challenge of that is you'd have to maintain all the different catalogs for all the different customer types. You can also choose just to write custom logic that will determine what price group should be used for what customer, and use the APIs to change PriceGroup dynamically for that customer.

A third option is to override what price group is resolved which gives you total control and flexibility to change the pricing mechanism.

See also Register a component if you're interested in how to implement custom business logic.

A note on Price tiers.

Since version 7.16 of Ucommerce supports price tiers for products within each price point. This means that you can configure multiple prices for the same price group, and the right price will be determined based on what the quantity you have in the basket for this product.

This is based on the property called MinQuantity and will qualify the right tier based on the quantities in your basket.

Consider the following example:

Product PriceGroup MinQuantity ListPrice
Product A Pricegroup A 0 100
Product A Pricegroup A 5 75
Product A Pricegroup A 10 50
Product A Pricegroup A 15 25
Product A Pricegroup B 0 1000
Product A Pricegroup B 5 750
Product A Pricegroup B 10 500
Product A Pricegroup B 15 250

Say we're in Catalog A, that has price group A and you put 13 of Product A in your basket. Given the matrix above, the list price would then be 50. Should you adjust the quantity to 15 or above, the new price would lower itself automatically to 25 - or you lower the quantities to 4 or 5, the price would instead increase automatically to 75.

No UI support for tier prices in Version 7.16

In version 7.16 there's no UI support for product tiers, however the new data structure allows you to import product tiers if you want. The price engine will automatically look at the tiers configured.

If you only want a single price tier, the UI will automatically only have a single entry per price group with quantity 0. If you have multiple configured, the UI will change the tier with quantity 0.

See also the article on Price Calculations and how to use the APIs