Start here

Freeze one shopper, storefront channel, variant, quantity and currency. Trace the selected list and any enabled fallback layers, then separate record pricing from later cart adjustments. Compare product, cart and checkout with the same inputs.

A wholesale customer reports a $20 price where you expected $17. Changing the main price list may fix that screenshot while damaging another customer group. First establish which shopper context should select which record and whether the mismatch occurs before or after the item enters the cart.

Use one failing case and one control case. Record the expected price, actual price, actor, storefront, variant, quantity, currency and time. Keep private customer details outside the working sheet. The aim is a price trace that another operator can reproduce, followed by a narrow repair.

Put it into practice

B2B catalog workbook

Specify who may see, buy, quote and approve, then test price precedence at the exact company and location.

Explore this resource

We’ll email this pack once using Brevo. Newsletter optional. Privacy.

Send the resource to your inbox

Use the help email if this form stays unavailable.

Help: [email protected]

Check the store’s entitlement and pricing surface

As checked October 31, 2026, the public US BigCommerce comparison uses Core, Growth, Scale and Performance, with Price Lists checked only for Performance. Existing contracts and other regions require separate verification. Check the current pricing table and the store’s agreement instead of automatically renaming an old Enterprise entitlement.

Ask the account owner to confirm that price-list access is provisioned for the affected store and storefront. Keep that evidence with the trace. If the feature is unavailable, choose a supported pricing design or obtain an actual upgrade quote. A developer-documentation endpoint is not proof of purchased entitlement.

Also identify the surface being diagnosed: a storefront, an ERP export, a marketplace listing or a custom app. BigCommerce documents price-list assignments for storefront channels, not a blanket override for marketplaces such as Amazon or Facebook. Do not repair a marketplace feed by assuming storefront price-list behavior applies there. See the Price List API scope.

Freeze the complete shopper context

Copy the failing context into a row before editing anything. Use internal IDs alongside human labels where an authorized operator can retrieve them. A product name is not a variant identifier, and a domain label is not enough to prove the storefront channel.

Inputs for one reproducible price case
InputRecordWhy it matters
ActorGuest or synthetic registered buyer; expected groupDistinguishes group pricing from a public price
ChannelStorefront name and channel IDSeparates storefront assignments
ItemProduct, variant ID, options and quantityPrevents comparing a different SKU or tier
CurrencyCurrency code and transactional or display-only modeSeparates a stored currency price from conversion
AssignmentCandidate lists, group/channel scope and active stateShows the source expected to serve this context
AdjustmentsRecord tiers, product tiers, modifiers, coupons, promotions and tax basisSeparates record selection from final amounts
EvidenceExpected/actual by surface, timestamp and update ownerSupports repeat checks and synchronization diagnosis

Assignments can target a channel, customer group, or their combination; records specify variant and currency. BigCommerce documents these separately. Inspect every applicable assignment rather than guessing which one won. If overlapping assignments leave selection uncertain, preserve the case and have the pricing owner establish the actual selected list in a controlled environment before a broad edit.

Trace the primary list, then only the fallback layers actually enabled

With priority order enabled, current documentation allows up to five ordered fallback layers. Resolution uses the primary list first, then active layers in their configured order, then the catalog. The first available variant record wins. The primary must be active, and layered lists must share the tax type. Read the cascading price-list rules.

Do not assume that cascading is active in every store. Have the pricing owner confirm availability, priority-order state, the primary list and the actual ordered layer IDs. For each layer, record active state and whether the required variant/currency is present. “Fallback list exists” is not enough if it is inactive or never attached to this primary.

If there are no applicable configured layers, use the ordinary missing-record catalog fallback described in the Price List API guide. Keep currency mode explicit: transactional-currency pricing uses that currency’s records, while display-only currency uses conversion. If the relevant multi-currency price list is unavailable, the API guide describes automatic conversion of the catalog price. Do not assume the default-currency contract record is always converted. Record currency coverage and the observed source before treating a missing amount as a deliberate contract price.

The cheapest price is not the rule. If the first active layer with a matching record says $17 and a later layer says $15, the documented ordered model does not search for the lowest amount. The useful question is whether $17 is the intended source for this buyer. Correct the ownership or configuration after proving the mismatch; do not reorder layers simply to make a preferred number appear.

Trace the selected price before changing a discount

  1. Freeze the context. Keep buyer, channel, variant, quantity and currency unchanged while tracing.
  2. Inspect enabled ordered layers. A missing primary record can reach an applicable fallback list; catalog fallback comes after those layers fail.
  3. Separate pricing stages. A list record does not inherit a product-level bulk tier. Check record tiers and later cart adjustments separately.
  4. Repair the first divergence. Compare product, cart and checkout with identical inputs, then retest quantities and failure cases.

Illustrative example With cascading enabled, A uses active L2 at $17 after L1 misses. B uses L1: 10 × $18 = $180, not the product bulk $16 tier. Combined merchandise subtotal: $197.

Assume USD, matching tax types and no additional adjustments, tax or shipping. Without cascading, A’s $20 catalog fallback changes the subtotal to $200.

Download the full-size decision aid (SVG)

A missing mandatory result means hold the change and resolve the named dependency.

Separate record selection from the final cart calculation

Product bulk tiers do not apply to variants with price-list records, and customer-group discounts do not apply to price-list prices. Price-record bulk tiers are a separate mechanism. Modifiers, promotions, coupons and tax can affect the eventual amount. See BigCommerce’s order of operations and record bulk-pricing notes.

This distinction explains a common false diagnosis: the product price is correct, but the operator expected an additional group discount or the catalog’s bulk tier. Identify the exact rule that was expected to apply and whether that rule belongs to catalog pricing or the selected record. Do not copy the catalog discount into the record until the pricing owner approves the resulting commercial terms.

For the first comparison, isolate the case from optional adjustments in a controlled test configuration. Then reintroduce the merchant’s real conditions one at a time: record sale/bulk amounts, option modifiers, promotion eligibility, coupon and tax treatment. Keep quantity and selected options unchanged when comparing product, cart and checkout. A line subtotal, tax-inclusive display and order total are different values, so label the amount being compared.

Also check a mixed basket if the business relies on quantity tiers across variants. Do not infer tier eligibility from the visible item count alone. Ask the owner to record which items qualify under the relevant pricing mechanism and verify the cart result. Preserve any unproven rule as an open acceptance item.

Run a small context matrix before a broad price import

Begin with the failing actor and exact item. Then add controls that change one input at a time. A useful minimum is guest versus wholesale on the affected storefront, wholesale on the second relevant storefront, the same variant in each supported transactional currency, and a second variant with a known record. Add a quantity below and at the relevant tier boundary.

For every row, write the expected record source and expected amount before observing the result. Capture the product selection, cart line and checkout line under the same context. Use synthetic data and your authorized test/release process; do not place a real paid order merely to fill a worksheet. If checkout completion is necessary, agree on the controlled transaction and reconciliation separately.

A row passes only when the expected source, amount and permitted access agree. A public shopper seeing the right retail total does not prove wholesale prices are isolated. Test a disallowed actor as well as an allowed buyer where confidentiality is a requirement. If the UI hides a price but another permitted public surface exposes it, the access requirement remains unresolved.

Save the candidate list/assignment snapshot and the evidence timestamp. That separates a deterministic pricing-rule problem from a source update that arrived between your two observations. Rerun the whole affected context set after a repair, including one previously correct control.

Use the first divergence to choose the repair owner

Price-list mismatch diagnosis
SymptomEvidence to inspectRepair owner or next step
One variant falls back unexpectedlyExact variant/currency record, active primary and ordered layersPricing owner fixes missing or incorrectly assigned data
Correct group, wrong storefront priceChannel ID and group/channel assignmentStorefront pricing owner resolves assignment context
A bulk tier disappears after adding a recordProduct-level versus price-record tierCommercial owner confirms intended record tier
Correct source amount, unexpected cart lineQuantity, options, sale/bulk values and later adjustmentsPricing/checkout owner isolates first differing calculation
Backend and cart agree; product page is staleDisplay data and cache timestampStorefront owner investigates presentation freshness
ERP says updated but backend record is oldSource event, acknowledged update and destination recordIntegration owner reconciles delivery rather than changing price rules

Price-list changes do not fire product or SKU webhooks; assignment events are separate. Do not build freshness assumptions around a product event that is not emitted. The webhook notes explain this boundary. Have the integration owner document how record updates are acknowledged and reconciled, with source and destination times.

If the correct record never reached BigCommerce, investigate the update path. If it arrived and the wrong record is selected, investigate context. If selection and cart are right but a page is stale, investigate the display path. These observations prevent a pricing import from masking a synchronization incident.

Repair one layer and leave a reconciliation record

Have the responsible owner propose the smallest correction, its affected groups/channels/variants/currencies and the prior values needed for recovery. Obtain the normal commercial approval for changed terms. A technical mismatch does not authorize a new discount or a different negotiated price.

Apply the candidate through the store’s established process, rerun the affected matrix and compare the correct control. Record expected and actual totals, source record, update acknowledgement, date and accepted limitations. If the change crosses an ERP boundary, reconcile both systems before closing it. A one-way update acknowledgment is not proof that the buyer sees the intended amount.

Your next action is to fill one failing row, including the selected list and fallback evidence. If you cannot identify that source yet, keep the price unchanged and scope the diagnosis. Once the source is clear, the repair and its acceptance conditions become much smaller.

Hypothetical worked example

Hypothetical USD test, not a live store result. Assume entitlement is confirmed, the wholesale shopper and channel select active primary L1, priority order is enabled and active L2 is the only configured fallback. Both lists use the same tax type. All amounts are pre-tax merchandise amounts. There are no record bulk/sale adjustments, group discounts, modifiers, promotions, coupons, shipping or tax in the initial calculation.

Illustrative source selection
Variant and quantityCatalogL1 recordL2 recordExpected source and amount
A, one unit$20Missing$17L2: $17
B, ten units$20; product bulk tier $16 at ten$18Irrelevant once L1 matchesL1: 10 × $18 = $180

A reaches L2 because L1 has no record. B uses L1 and does not acquire the product-level $16 bulk tier. The combined merchandise subtotal is $17 + $180 = $197. Expecting $177 would wrongly use 10 × $16 = $160 for B, understating the subtotal by $20.

Change one condition: remove cascading from the illustrative configuration while keeping A’s primary record absent. Ordinary catalog fallback makes A $20, so the subtotal becomes $20 + $180 = $200. The $3 difference belongs to A’s source selection, not a coupon.

Now assume the pricing owner explicitly intends a $16 tier for B at ten units. The repair is a separately approved and tested record-tier design, not an assumption that the catalog tier stacks. If the intended record tier is configured and accepted, B’s merchandise line becomes $160 and this illustrative combined subtotal returns to $177. Recheck other quantities and context controls before accepting the change.

Frequently asked questions

Will BigCommerce always choose the cheapest list price?

No such assumption is safe. With documented cascading and priority order enabled, the first matching variant record in the primary or ordered active layers wins. Inspect the actual shopper context and configured order.

Why did the group discount stop applying?

Customer-group discounts do not apply to price-list prices. Check whether the variant now uses a price-list record and have the commercial owner confirm the intended price before adding a different rule.

Do product bulk tiers automatically carry into a price list?

No. A variant with a price-list record does not use product-level bulk pricing. Check the record’s own tier settings and test quantities below and at the boundary.

Can a price-list edit fix a stale ERP integration?

Only if incorrect destination data is the confirmed cause and the proper owner approves the correction. Trace delivery, destination record and displayed price separately. Otherwise the next source synchronization may simply overwrite the manual edit.

Sources and further reading

  1. BigCommerce Pricing and Plan Information

    Source checked: October 31, 2026.

  2. Price List API

    Source checked: October 31, 2026.

  3. Cascading price lists

    Source checked: October 31, 2026.

  4. Price Order of Operations

    Source checked: October 31, 2026.

Keep learning

The weekly ecommerce newsletter is a separate, optional subscription.

Weekly emails via Brevo, after you confirm. Privacy.

Get the weekly ecommerce newsletter

Use the help email if this form stays unavailable.

Help: [email protected]