Pricing
Real time pricing and inventory
Optimizely Configured Commerce offers real-time pricing and inventory services to ensure your website displays the most current data directly from your Enterprise Resource Planning (ERP) system. This approach provides up-to-the-minute information, unlike generic services that rely on less frequent integration jobs.
Get started with pricing
Optimizely Configured Commerce has several options to control product pricing. There are also options for complex pricing structures, such as pricing at different quantity breaks or pricing for different customers.
Technical overview of price matrix
Optimizely Configured Commerce introduced the Price Matrix early in the development process to accommodate a wide variety of different pricing schemes in a generic way. It was designed against 4 separate ERP systems to find the common architectures and pricing options so that it could offer a comprehensive and robust pricing capability and support the viewpoint that commerce should be able to be conducted without having to rely on a live connection to the ERP.
Configure the price matrix
The Price Matrix creates a generic construct used for storing complex pricing information across various ERP systems. It intentionally is non-normalized data to create a data structure that can perform the calculations with minimal latency.
Price matrix field definitions
The following shows the fields in the PriceMatrix table and how they are used. Note that the record contains up to 11 separate layers of pricing based on quantity, each of which can have different calculations.
How price matrix gathers and prioritizes records
The basic approach is to do a single query that looks for a set of records that are current and where the ProductKeyPart = the current product, the current product's price code, or nothing and where the CustomerKeyPart = the current customer, the current customer's BillTo, the current customer's price code or nothing. For example, if we have customer DALTON (id = 4C75B59E-3980-4DFF-B049-9F5800E9B326, price code = DEALER) and Product 1032FW (id = 8A9992A0-477D-4089-99A9-9F5800EA202C, price code = PLMBG) the system will gather all the records using a statement similar to As a side note, if the customer passed in is a ShipTo, it will also include the BillTo's customer id and price code in the query.
How price matrix performs calculations
There are some unique complexities introduced when we introduce multiple units of measure and alternate currencies. Additionally, when we try to return a list of prices in a quantity range, we need to meld the sale price at each quantity break to the standard price and return the appropriate table information.
Crossed out pricing displayed on the website
Products with a sale price display both the discounted price and the regular price, with the regular price crossed out. The crossed out pricing is displayed throughout the store wherever pricing is normally shown.
Unit cost overview
Unit Cost identifies or captures the cost of producing a product with the intent to sell. There are two places where this field exists within the Admin Console, at the Product level and the Product Warehouse level.
Rounding rules
When working with extended monetary amounts, Configured Commerce will always round down the price. For example, $64.