Skip over navigation

Contact us to learn more about OroCommerce's capabilities

Contact us

Product News & Updates

Price List Management in OroCommerce

March 1, 2016 | Oro Team

Price list management is one of the most important aspects of any e-Commerce business and even more so for Business to Business (B2B) e-Commerce companies. B2B businesses require an extremely high level of flexibility to support the most advanced use cases and scenarios including a highly structured approach to account management and versatile and complex sales processes that are often customized to the needs of specific customer groups or individual large accounts. This is why we made OroCommerce one of the most advanced price list management software programs available.


A price list is a list of product quantities with their prices in one or more base currencies. Price lists are used to determine prices for catalog products on the store frontend.

For example, you can have one or multiple price lists with prices entered in US dollars and Euros defining the pricing for all your customers, a different price list with prices in US dollars available only to your large-volume US-based distributors, and another price list with prices in Euros available only to some selected European partners of your company.

A calculated price list (also called combined price list) is an internal representation of all prices available to a selected account (all account users) on the store frontend.

For example, when one of your customers logs into your store frontend, they may see prices for both product A and product B where prices of product A are taken from the default price list available to everybody, and prices of product B are taken from a custom price list you’ve created to override default product B pricing just for this specific customer. Even though you can see all price lists and switch between them in your store management console, your customers can see only those prices on the store frontend that you have made available to them by configuring price lists and their settings.

A product quantity is an amount of product that can be sold with its unit of measurement.

A product quantity could be a whole number (integer) or a number with a fractional part (a floating-point number). Whether or not the quantity should be a whole or fractional number, and how many digits are allowed in the fractional part, is defined by the settings of the selected unit of measurement. For example, by default “kilogram” allows to enter up to 3 numbers after the decimal point, and “each” requires a whole number entry.

A base currency is the currency of price entry in a price list.

A display currency is a currency that is used to display prices to a customer.

The store frontend will use the exact value entered by the price manager when a customer requires prices in a selected display currency and the prices in the same base currency are available in the calculated price list. If the price list does not have a price in the selected currency then additional currency conversion rules must be used.

* (Pending implementation) If you want to allow your customers to see prices in additional display currencies, you should set currency conversion rules for each of the additional display currencies that you want to enable on the store frontend.

A tier price is a price determined by the system for the specified product quantity.

For example, if you set the following prices on the price list:

Product Quantity Price
Product A  1 piece $100.00
Product A 10 pieces   $90.00

The system will use $90.00 as a price per piece when a customer is buying 10 or more pieces and $100.00 as a price per piece when a customer is buying 9 or fewer pieces.

Price tiers for a selected product can be derived from the same price list, or from the different price lists if the price tier merging is enabled (see below).

Combining Price Lists

Price list priority determines the order in which the product prices should be combined when there are prices for the same price tier in the multiple price lists available to a customer.

For example, if you specified $90.00 as a unit price for 10 or more sets of Product A in the Price List 1, and $85.00 as a unit price for 10 or more sets of the same Product A in the Price List 2, and both price lists are available to a customer, then if Price List 1 has a higher priority than Price List 2 the customer will see $90.00 as a unit price when buying 10 or more sets of Product A. If Price List 1 had a lower priority than Price List 2 then the customer would see $85.00 as a unit price when buying 10 or more sets of Product A

Price tier merging is a price list configuration setting that defines whether the system should combine price tiers of the same product from multiple price lists. This setting is displayed as “Merge Price Tiers” option next to the price list names on the Account, Account Group, Website edit screens or on the System Configuration -> Catalog -> Pricing settings page).

For example, if you specified a price for 1 item of Product A in Price List 1, and the price for 10 items of Product A in Price List 2, then if both Price List 1 and Price List 2 are available to a customer they will see two price tiers. The first price tier will be for items “1 through 9”, and the second price tier will be for “10 or more” items.

If you decided not to merge price lists, and Price List 2 has higher priority than Price List 1, than customers to whom both price lists are available, will see only the price tier for “10 or more” items.

Price list fallback is a configuration setting on the Account, Account Group or Website level that enables (or disables) access to the higher level price lists.

For example, in a default configuration, all customer accounts have access to all price lists assigned to their account and the price lists assigned to the account group that their account belongs to, as well as to the price lists assigned to the website they are currently browsing and the default price lists configured on the system level.

If you disable the fallback configuration on the Account level and assign a selected price list to the account, this price list will become the only price list that the users of this account will see the prices from. In this case, the account group pricing, the website pricing and the default pricing on the system level will no longer be available to the users of this account.

If you disable fallback configuration on the Account Group level then all accounts that belong to this account group will no longer have access to the website pricing and the default pricing on the system level.

Price List Calculations

In order to provide an optimized user experience on the store frontend and in the store management console, and maintain the desired level of system performance we provide a way to fine-tune the price list calculation behavior.

The “Price List Calculation Mode” configuration setting can be found in System -> Configuration menu on the Commerce -> Catalog -> Pricing page. It has two available options:

  • Immediate (default value in the development releases)
  • Deferred (recommended value for the production environment)

When “Price List Calculation Mode” is set to “Immediate” the system will recalculate all the affected prices immediately when any price-related change is submitted by the user in the management console (for example when a user submits the product edit form, or adds a price in the price list management software interface, or modifies price list priority on an account edit page, etc.).

The “Immediate” mode is convenient when you learn the system in the local or development environment as it doesn’t include waiting for the next schedule pricelist re-calculation to see your changes on the frontend. Please use extra caution in the production mode or when working with large amounts of price points as it may cause unnecessary delays for the users working in the management console, especially when they are making significant price-related changes (e.g. change the priority of a price list with a large number of products on the system level).

When “Price List Calculation Mode” is set to “Deferred” the system will recalculate the prices only when it’s the time to perform the next schedule pricelist re-calculation. Based on the number of products, accounts, account groups, websites and price lists, and considering the typical workload patterns of your system the system administrators may configure the schedule to perform price list re-calculation when necessary (e.g. every minute, every 10 minutes, every hour or maybe even once a day).

We encourage you to download the latest Alpha release and/or try the price list management software features bundled within the OroCommerce public demo. As always we highly appreciate your feedback on our forums or GitHub . If you are an OroCommerce Core Partner please feel free to email or call your dedicated partner manager at Oro for an individual demo or follow up with any questions or suggestions.


Back to top