Skip to main content

Pricing in the WUI - Price Tiers

Working with Price Levels, Creating a Selling Price Using a Margin on the Purchase Price or a Discount on the Selling Price in the Web Interface

Written by Petr Pech

Price levels let you define how selling prices are generated for price list items or groups of items applied to specific business partners or groups of partners.

As with an individual price, you can set a validity period for each price level.

⚠️ Price levels are part of the price list extension service. They are available in the Business and Premium plans.


Where to find price levels

You can find a price level easily using the search, or in Settings under Records, in the Goods and Warehouses group.


Methods of calculating the selling price

Depending on the selected base price, the selling price is calculated using one of four formulas:

Base price

Method

Formula

Selling price

discount (markdown from SP)

SP − (SP / 100 × discount %)

Purchase price

rebate

PP / (100 − rebate %) × 100

Purchase price

margin

PP / (100 − margin %) × 100

Purchase price

markup

PP × (100 + markup %) / 100

ℹ️ With the same percentage, margin and rebate lead to the same price. For example, with a purchase price of CZK 700 and 20%, both margin and rebate result in CZK 875, whereas a markup results in CZK 840.

The options in the Calculation method field depend on the selected base price. For the selling price, Flexi offers only a discount:

For the purchase price, it offers margin, markup, and rebate:

⚠️ A price level works only with percentages (discount, rebate, margin, markup). You cannot set a fixed-amount discount in it. If you need a fixed item price for a customer, use individual prices.

ℹ️ The calculation of margins, markups, and rebates is based on the Purchase price field specified on the price list item. By contrast, the Purchase price field on a sales document item shows the actual cost price from the stock card, i.e. the average or FIFO price. The two values may therefore differ, and the former is the one that matters for pricing.

For demonstration, let's choose, for example, a 20% discount from the base selling price. Enter the percentage in the Margin / Markup / Rebate / Discount [%] field.


Quantity discounts

A quantity discount can also be specified within a price level:

  1. From the purchase price – by changing the margin or rebate from a certain quantity

  2. From the selling price – by an additional discount from a certain quantity

Because we also chose a discount as the basic method of calculating the selling price, the quantity discount will also be based on a discount. From 50 pieces we set a 25% discount, and from 100 pieces a 30% discount.

⚠️ A quantity discount from the selling price is calculated from the price that has already been reduced by the level's basic discount, so it is an additional discount. In the example, an item priced at CZK 1,000 comes to CZK 800 with the basic 20% discount, CZK 600 from 50 pcs (additional 25% discount), and CZK 560 from 100 pcs (additional 30% discount).


Who and what a level applies to

In the price level header, you can select one of the key settings – whether the level should apply to all goods groups or to all companies (the options For all goods groups and Applies to all companies), or whether the document discount should be applied (the Do not apply document discount option).

ℹ️ The option not to apply the document discount is useful mainly when the customer has a percentage discount set in the address book. Without it, the price would be reduced twice: once by the price level and again by the discount carried over to the document.

Validity period

You can also set the price level to be valid only temporarily. After selecting the Temporary option, enter the dates from which and until which the level is valid.

Selecting items and companies

When setting up a price level for specific records, it is important to remember that at least one entry must always be filled in on each side, that is, on both the item side and the company side (provided the level is not applied to all companies or goods groups).

You can choose which items and companies a price level applies to in two ways:

  1. Validity for specific price list items ("Price list" tab) or specific companies ("Company addresses" tab)

  2. Validity for a group of goods or companies (or rather price list groups)

Records are added to both lists using the Add another button.

You can, of course, combine the selections. For example, you can set a price level for two goods groups but only for one specific company.

Assigning from the other side

You can also add an item to a price level "from the other side", that is, from the detail of a price list item (the Price levels tab).

The same applies to the company address book: a company can also be added to a price level from its detail (the Price levels tab).


How to tell that a price level has been applied

A price level is applied automatically once the conditions are met on both sides, that is, on the item side and on the company side. You do not select it manually anywhere.

You can find out which level was used in the document item detail. It contains the Price level field, into which the applied level is written. If the field is empty, no price level was applied and the price came from elsewhere. In the default layout of the item form, the field is hidden; you can display it using the form settings.

ℹ️ A price level never changes the price stated on the price list card. The calculation always takes place on the specific document into which you insert the item. For an overview of all pricing layers and their priorities, see the introductory overview.

⚠️ If you change the company on an already created document, the price level is not recalculated for items inserted earlier. You need to insert the items again.

💡 If you need a report that clearly shows, for a specific document, which layer the price was calculated from, we can prepare such a user query for you as a custom service. Write to us at podporaflexi@abra.eu.


Overview:

Did this answer your question?