Magento 2 B2B Pricing

Magento 2 Price List Priorities, Dates, and Quantity Tiers

Price-list conflicts are usually not caused by one wrong record. They appear when two valid agreements match the same customer, product, date, and quantity. A reliable setup separates four questions: which lists apply, which priority leads, which quantity tier applies, and how the final price is selected.

Step 1: Determine applicable lists

A list must be active, inside its validity period, assigned to the current website, and applicable to the customer. The customer may qualify directly, through a group, or through matching customer and address attributes.

The base price list is a separate fallback source. It should not be confused with an ordinary customer assignment.

Step 2: Apply priority

Assume a dealer qualifies for three lists:

List Priority Quantity tiers
Annual contract 50 1, 100, 500
Regional program 30 1, 250
Base list fallback 1

Without lower-priority merging, the annual contract supplies the relevant tiers. With merging enabled, a missing threshold may be contributed by a lower list. The business must decide whether that is desirable or whether each contract should stand alone.

Lists sharing the same highest priority can contribute tiers even when lower-priority merging is disabled. Duplicate quantities still need the configured price-selection strategy.

Step 3: Select the quantity tier

Quantity tiers normally describe minimum ordered quantities. At quantity 120, the threshold at 100 applies, not the threshold at 500. Test decimal quantities if the catalog permits them and verify whether the same quantity can appear more than once through different matching lists.

Step 4: Respect dates

The list date first decides whether the agreement is active. Product-row dates can narrow an individual price further. A product price outside its row period should not be revived merely because the parent list remains active.

Boundary tests should include the first and last valid day, store time zone, scheduled import time, cache state, and an order started before but completed after the change.

Step 5: Select the final price

SoftwareSilo Price System can select the lowest, highest, or configured sort-order result across price types. A fixed list price, percentage discount, native special price, or another installed Price System module may therefore compete after list priority has already been evaluated.

Write one decision table with real SKUs and expected amounts. It is far more useful than a general statement such as "contract prices have priority."

Related reading

Last reviewed: August 9, 2026.

Previous Article Best Magento 2 Sales Representative Extensions in 2026
Next Article Import Magento 2 Price Lists from ERP with CSV, REST, and GraphQL