Bundle sets, rewards and upsells for Shopify
Guides
OPERATIONS · 18 OCTOBER 2026 · THE LUXE TEAM · 4 MIN READ

Bundle discount not applying at checkout on Shopify

The cart says one price and checkout charges another. The cause is almost always one of a handful. Here is how to find yours, and how Luxe prices bundles so the two agree.

A plain kraft paper shopping bag on a marble counter

Why cart and checkout can disagree

Shopify checkout works out every price again from the products in the order and the discounts that apply to them. It does not read the price a theme or an app drew on the page. So when a bundle's price exists only on the page, or a discount's conditions are not met at checkout, the shopper sees one number in the cart and pays another.

The usual causes

What you seeLikely causeWhere to look
The bundle shows its saving in the cart, then full price at checkoutThe price was changed only in the browser, by theme code or an app's script, and nothing on Shopify's side applies itThe bundle app's settings: does it price through a discount or a Shopify Function, or only on the page
A discount applies to the products but not the bundleWith Shopify Bundles, a product or collection discount must include the bundle's own productDiscounts > the discount > Applies to
A code removes the bundle's saving, or is refusedThe discounts are not set to combine, so Shopify applies only the ones its combination settings allowDiscounts > each discount > Combinations
A threshold reward shows in the cart but not at checkoutThe threshold is counted differently: after another discount, without a removed or excluded line, or in another currencyThe reward's minimum requirement, and the order's lines at checkout
The discount works for some shoppers onlyEligibility: dates, usage limits, customer segments, or a market or B2B catalog with its own pricesThe discount's eligibility and active dates; Markets and B2B settings
Buy it now skips the bundleAn express or Buy it now button goes straight to checkout with that product, so a bundle assembled in the cart never formsThe product page's buttons, and whether the bundle has its own product
A one-cent differenceRounding: a percentage taken per item rather than per order, or a currency conversionThe discount's type and the market's rounding

How to find the cause

  1. Reproduce it once, simply. In a private window, add one bundle and nothing else, with no code. Note the price in the cart and at checkout.
  2. Take away one thing at a time. Remove the discount code, then any other items, then switch the bundle app's app embed off in the theme editor. The step that changes the result names the cause.
  3. Read the discount in Shopify. In Discounts, check the discount is active, what it applies to, its minimum requirement, its eligibility and its combinations.
  4. Ask who owns the price. If the bundle's price comes from a script on the page, checkout cannot know it. Prices that hold at checkout come from the product's own price, a Shopify discount or a Shopify Function.
  5. Try a second market or currency if you sell abroad. Fixed market prices and conversion can change a total.

How Luxe keeps one price

Luxe was built so that the builder quotes the price and checkout charges it.

  • One core. A single pricing engine with no dependencies defines every bundle set and rewards rule.
  • Everywhere. The same engine prices the admin preview, the Bundle set builder, the collection tray and the Luxe cart drawer.
  • At checkout. A port of that engine runs inside Shopify Functions: Luxe's Cart Transform prices each bundle set, and one automatic discount, Luxe Rewards, applies Collection set pricing, every rewards rung and every upsell discount. The storefront only predicts; only the Functions change prices.
  • Pinned. Golden test vectors check every case to the cent in the admin, the storefront and the Functions on every change.
  • Watched. The Luxe cart drawer shows Shopify's own numbers after the Functions have run, and reports any difference from what Luxe expected so it can be fixed.

What that means in practice:

QuestionIn Luxe
Who changes the price?Only Shopify Functions at checkout; the storefront predicts
Does the price depend on theme JavaScript?No. Without JavaScript, checkout still prices the set
What if a shopper edits the cart some other way?Checkout checks every set again through the Functions, so the price is still right
Do discount codes still work?Yes. Shopify combines them with Luxe Rewards as you set in Settings > Checkout and pricing > Discount combinations

If a Luxe price looks different

When a Luxe price differs, it is usually expected and explained in the help centre's Prices look different: a set bought without choosing (by your theme's own add-to-cart button, an AI agent or with JavaScript off) sells with its default picks at the set product's price; item prices inside a set are converted from your store currency; B2B buyers pay the set product's price in their catalog. The bundle set editor's Preview shows what checkout will charge and the price for shoppers who buy without choosing, with one button to align them.

If something still looks wrong, contact support with the cart and the checkout total.