Kumiko Bundle Price Sync

Tagline

Change a component's price, and the bundle price follows.

What the app does

When you build a bundle with Shopify Bundles, changing a component's price does not change the bundle's price. Every price change means fixing the bundle by hand — or selling at an outdated price without noticing.

Kumiko Bundle Price Sync detects component price changes and recalculates and updates the bundle price according to the policy you choose. Each update is recorded in the history and can be undone one at a time (the history shows the most recent 100 entries; failed updates, updates already undone, and undo operations themselves cannot be undone).

The default is M4 — notify only. Installing the app changes nothing. First see which bundles have drifted and by how much, then switch to automatic updates when you're ready.

Features

Requirements and limitations

Shopify's Bundles app is required. This app does not create bundles; it only keeps the bundle price in step with its components.

Pricing

The Starter plan starts with a 14-day free trial (once per store). Growth and Pro have no free trial. Plans can be changed at any time and take effect immediately. Switching to Growth or Pro during the trial starts billing that day.

Plan Monthly (USD) Bundles Sync speed History
Starter $9.99 up to 50 60 s 30 days
Growth (recommended) $29 up to 300 30 s 180 days
Pro $79 up to 2,000 10 s 365 days

How it works

A component's price changes
  → the app detects it
  → it waits a little (seconds depend on your plan)
  → it recalculates the bundle price using the policy you chose
  → it updates the parent variant's price
  → it records the change in the history

Why it waits — if you change prices several times in a row, applying every intermediate value to the bundle would mean a string of pointless rewrites. Changes that arrive during the wait are collapsed, and only the last one is applied.

The four policies

The examples below use a bundle whose components are ¥1,000 × 2 + ¥1,620 × 3 = ¥6,860.

Policy When to use it Calculation Example
M1 — Match component total The bundle carries no discount and always sells at the sum of its components Bundle price = component total Set the bundle to ¥6,860
M2 — Keep discount rate You promise a discount as a rate, such as "always 10% off the total" Bundle price = total × (1 − rate) At 10% off, ¥6,174
M3 — Keep fixed discount You promise a discount as an amount, such as "always ¥500 off the total" Bundle price = total − amount At ¥500 off, ¥6,360
M4 — Notify only (no price changes) You want to watch first. This is the default Only the gap against the component total is calculated (no price is written) Drift is shown; the price is left alone

If a component's price goes up (¥1,620 → ¥1,800, total ¥7,400):

Policy Updated bundle price
M1 ¥7,400
M2 (10% off) ¥6,660
M3 (¥500 off) ¥6,900
M4 No change (shown as drift)

The result is rounded (round half up / round up / round down) to your store currency's decimal places (0 for JPY).

When a price isn't updated

When automatic updates stop, the reason is shown next to the bundle on the dashboard. There are seven reasons.

Shown as What it means What to do
Auto-sync paused The bundle's policy is M4 (notify only) Choose M1–M3 if you want automatic updates
Bundle structure unresolved The component information can't be read (a component was deleted, unpublished, and so on) Press "Re-scan bundles" to re-read it. If the structure really changed, check the Shopify Bundles side
Blocked by safety threshold The price would change by more than the threshold you set If the change is intended, raise the safety threshold (%) in Settings and apply again. If it isn't, check the component's price
Current price is zero The bundle's current price is 0, so the percentage change used by the safety threshold can't be calculated (this happens under M1, M2 and M3 alike) Set a baseline price on the bundle by hand, then apply again
Result would be negative The discount amount exceeds the component total Revisit the M3 discount amount
Missing discount setting The M2 rate or the M3 amount hasn't been entered Select the bundle on the dashboard, choose M2 / M3 under "Pricing policy to apply", enter the rate or the fixed amount, and apply
Over plan limit The bundle was added beyond your plan's bundle limit (bundles added earlier keep syncing) Upgrading your plan resumes them

The safety threshold exists to stop accidents. When the change exceeds the threshold (50% by default), the app does not write the price: it stops and tells you why. If you ever type a component price that is off by an order of magnitude, this keeps that number from becoming your selling price.

What you can configure

Setting Details
Default policy for new bundles Applies to bundles you haven't set individually on the dashboard. The default is M4 (notify only). M2 / M3 need a rate or amount per bundle, so choose M1 or M4 as the store-wide default
Rounding Round half up / round up / round down
Safety threshold (%) Above this percentage change, the app notifies instead of updating

Sync speed and history retention are not settings. Both are determined by your plan (Settings shows the current values).

Re-scanning

When to press it — right after you create a bundle, and right after you change a bundle's components.

What happens — the app reads the latest bundle structure and prices from Shopify and rebuilds the list and the drift figures. It never changes a product's actual price; it only reads.

The scan runs in the background. Reload the page in a moment.

If it fails — a yellow banner appears. What to do depends on the wording.

FAQ

1. Can I use this without Shopify Bundles? No. This app keeps the price of bundles built with Shopify's own Bundles app in step with their components. It cannot create bundles itself.

2. Will prices change on their own as soon as I install it? No. Every bundle starts at M4 (notify only), which does nothing but tell you "this bundle is currently ¥X away from its component total". Prices start moving only for the bundles you select on the dashboard and set to M1–M3.

3. Will it change which products or quantities are in a bundle? No. The only thing this app writes is the bundle's price. It never touches which products are included or how many.

4. I changed a component's price and the bundle price changed too. Why? Because that bundle is set to M1, M2 or M3. That is what the app is for: it recalculates the bundle price to follow the component's increase or decrease. Everything that changed, and when, is in the history. For bundles you don't want moving automatically, set the policy back to M4 (notify only).

5. How long after a component price change does the bundle price change? 10 / 30 / 60 seconds depending on your plan. If you change the price several times in a row, the intermediate values are not applied — only the last one is.

6. The bundle price isn't what I expected. Where do I look? Two places.

7. What does "Undo" in the history do? It reverts that one price update, and also stops auto-sync for that bundle (returns it to M4).

Auto-sync is stopped as well because otherwise the next component price change would update the bundle again, and you would have "reverted it, and it moved anyway". This makes Undo usable as an emergency stop when a price moved unintentionally.

It reverts to the price immediately before that update. If you changed the price yourself in the meantime, your manual change is discarded too and the price returns to what it was just before the update.

8. What happens when I go over the bundle limit? Only the newly added bundles stop syncing; the ones added earlier keep working. The number over the limit is shown in the app, and upgrading your plan resumes them.

9. Can I use it on a multi-currency store? Yes, but only the base-currency price is updated. Fixed prices set directly per market or per company in Markets or B2B price lists are not changed, so they may drift out of step with the base currency (prices derived from the base price through exchange rates or adjustments follow automatically). Stores using fixed prices see a warning in the app (the warning is refreshed on re-scan, so if you add fixed prices later it appears after the next re-scan).

10. What if I end up selling at a price I didn't intend? The final decision on, and verification of, selling prices rests with the store owner. The app calculates and applies prices exactly as your policy, rounding and safety threshold specify; it does not judge whether the resulting price makes commercial sense.

Also, the amount of an order that has already been placed cannot be reversed. Undo only affects prices from that point forward.

When you start out, we recommend leaving bundles at M4 (notify only), checking the drift, and switching to M1–M3 once you're satisfied with the numbers (https://kumiko-apps.com/terms, Article 4).

11. Is my data deleted when I uninstall? The access token is deleted immediately. Settings and history remain until Shopify sends us a deletion request (usually 48 hours), so reinstalling within that window picks up where you left off. Everything is deleted once we receive that request. If no request arrives, everything is deleted within 30 days of the uninstall anyway. See https://kumiko-apps.com/privacy for details.

Getting started

  1. Install the app and choose a plan (Starter comes with a 14-day free trial)
  2. Press "Re-scan bundles" to import your bundles
  3. Check the drift on the dashboard — you'll see which bundles are off, and by how much
  4. Choose a policy for each bundle — until you do, the app only notifies; no price moves
  5. From then on, changing a component's price updates the bundle price automatically

Whenever you create a new bundle or change a bundle's components, press "Re-scan bundles" to import it. New bundles are not detected automatically.

Step 4 is the dividing line. Left at M4 (notify only), the app never moves a price; it only reports drift. From the moment you switch to M1–M3, the app starts writing your store's selling prices. Check the drift at M4 first, and switch once you're satisfied.

Support