Build vs. Buy>Trust, Legal & Compliance>EU Omnibus price-history compliance

Build or Buy EU Omnibus Price-History Compliance on Shopify?

Written by Deploi EditorialReviewed by Martin Dejnicki, Director of SEO & AI SearchUpdated September 2026Pricing verified September 2026

EU Omnibus price-history compliance is a BUILD on Shopify, because no app does it. The directive requires showing the lowest price charged in the prior 30 days beside any advertised markdown, and nothing on the App Store logs that history. A price-history log with a product-page disclosure runs $12,000 to $35,000 (Deploi estimate, illustrative).

Your profile — see how the verdict shifts

VerdictBUILD (append-only price log + rolling 30-day minimum + on-page disclosure) · no App Store product could be confirmed to exist
Buy score
1.8
Build score
8.5
Confidence
HighSearched the App Store's Security and Legal, Finance, Pricing, Product Display, Internationalization and Promotions categories on 2026-09-03, reading over 120 listings verbatim across six category pages. Tried roughly a dozen direct listing handles covering Complimus and Omnibus name variants; none resolved. Two search-engine attempts were blocked by robots.txt. No listing offering price history, a lowest-30-day-price calculation or an Omnibus disclosure could be confirmed to exist, on or off the App Store. This is a negative finding from an exhaustive check rather than an untested assumption. On the platform side, Shopify added compare-at price management directly in Admin Catalogs with a strikethrough-pricing preview, replacing CSV and API edits, and that is general merchandising with no price history behind it. No Shopify changelog entry, help page or developer page mentioning Omnibus by name could be found.
Reference scenario
$20M–$100M GMV · four to eight EU markets with their own price lists · eight or more promotional periods a year · scheduled discounts and seasonal markdowns · agency dev bench
As of
September 2026

Decision at a Glance

Your profileVerdictWhy
No EU market activeWAITNo EU sales means no disclosure obligation and nothing to log. Start the price log the quarter before an EU market opens, because the window is retrospective and you cannot backfill a history you never recorded.
One EU market, occasional markdownsBUILDOne market and a handful of sales a year is where a manual record still just about works. Log the changes automatically anyway, because the cost of the log is small and the cost of reconstructing one is not.
Multiple EU markets with their own price listsBUILDThe minimum is per market and per currency, so one global number is wrong everywhere. This is the band where a spreadsheet quietly stops being accurate and nobody notices until someone checks.
Continuous promotional calendar or flash salesBUILDA rolling window plus frequent price moves means the disclosed figure changes daily. Computing it at render time is the only version that stays correct, and a stamped value goes stale within a week.

What EU Omnibus price-history compliance Actually Drives

OutcomeImpactHow it works
Operational efficiencyHighAn automatic log removes a manual export and reconciliation from every promotional period in every market, which is where the current process consumes days and still produces doubt.
Revenue — directMediumA markdown that cannot be evidenced has to be pulled or repriced mid-campaign, and pulling a promotion in an active EU market costs the whole period's uplift.
Customer experienceMediumA visible prior-price line is what a shopper uses to judge whether a sale is real, and a disclosure computed from actual history reads as credible rather than decorative.
Data & insightMediumA complete price history per market feeds margin analysis, elasticity work and markdown-cadence review, none of which any native Shopify report can answer today.

Spend ceiling: Size the spend to your EU promotional volume and your legal exposure, not to the feature. A brand running eight promotional periods a year across five EU markets makes this disclosure decision hundreds of times, and a $12,000 log (Deploi estimate, illustrative) removes the judgment call from every one of them.

What buying enables (top apps)

  • + Compare-at prices managed directly in Admin Catalogs with a strikethrough preview of what customers see, instead of CSV or API edits
  • + Scheduled discounts and automatic promotions that start and stop on time without anyone editing a price on the day
  • + Market-specific price lists, so the price a shopper sees in each EU market is already modeled inside Shopify

What building additionally unlocks

  • + An append-only record of every price and compare-at change, per variant and per market, which Shopify keeps nowhere
  • + The rolling 30-day minimum computed at render time, so the figure is correct on the day rather than correct when someone last checked
  • + The disclosure rendered everywhere a markdown appears, including collection cards and campaign landing pages, not just the product template
  • + A price-history dataset that answers margin, elasticity and markdown-cadence questions no native report reaches

Find Your Verdict in 3 Questions

  1. Do you advertise reduced prices to customers in any EU market?

    Yes: Go to question 2.

    No: Your verdict: WAIT — no disclosure obligation applies today; start the price log the quarter before an EU market opens.

  2. Can you produce, for any variant, the lowest price you charged in a given EU market over the last 30 days?

    Yes: Go to question 3.

    No: Your verdict: BUILD — start logging price changes this week, because the window is retrospective and a missing history cannot be backfilled.

  3. Do your EU markets run separate price lists or currencies?

    Yes: Your verdict: BUILD — the minimum is per market, so compute and render it per market ($12,000–$35,000, Deploi estimate, illustrative).

    No: Your verdict: BUILD — a single-market log plus an on-page disclosure is the smaller version of the same build.

The TCC Scorecard — 12 Dimensions

TCC — Total Cost of Capability: what it actually costs to have this capability over three years, whichever way you get it. Each dimension is scored 0–5 for both paths. How we score →

DimensionBuyBuildWhy
Cost
Acquisition & implementationNothing installs, because no listing could be confirmed to exist; the price log, window calculation and disclosure run an estimated 4–8 weeks (Deploi estimate, illustrative).
Recurring feesThe manual substitute costs staff hours every promotional period across every market, while an append-only log costs storage measured in megabytes.
Maintenance & upgradesA spreadsheet needs a person each cycle; the log needs attention when markets, price lists or theme templates change.
Switching & exitA manual record lives wherever someone left it, and an append-only price table is your own data that ports intact to any future stack.
Risk
Vendor riskThe risk here is absence rather than instability: no vendor sells this, so there is nothing to depend on and nothing to be let down by.
Security & compliance surfaceThis dimension is the whole point: an automatic, timestamped record is evidence, and a spreadsheet assembled after the fact is a reconstruction.
Platform-deprecation exposureProduct and variant webhooks plus market price lists are first-class primitives, and a subscription pinned to one API version needs moving inside Shopify's 12-month support window.
Value
Fit to requirementCompare-at price shows a strikethrough and keeps no history, so the nearest native feature displays a markdown without evidencing one.
Time to marketA manual process starts tomorrow and a build takes a quarter, and neither can produce the prior 30 days if logging has not already begun.
Performance & scalePrice changes are rare next to pageviews, so a cached rolling minimum per variant per market adds nothing measurable to render time.
Data ownership & AI-readinessA complete price history per market answers margin, elasticity and markdown-cadence questions that no native Shopify report can reach today.
Focus & opportunity costNobody wants to build compliance plumbing, and the alternative is a legal exposure that scales with every promotion you run in the EU.

The App Landscape

AppStatusPricingBest for
Shopify compare-at price in CatalogsNativeFirst-party Shopify. Compare-at prices can be managed directly in Admin Catalogs instead of through CSV or API edits, with a strikethrough-pricing preview of what customers would see. Compare-at is a single display field with no history behind it, so overwriting it erases the previous value. No Shopify changelog entry, help page or developer page mentioning Omnibus by name could be found.Included on every Shopify plan (verified Sep 2026)Showing a markdown cleanly, which is the display half and none of the evidence half
Discount, sale and promotion appsCategoryThe nearest App Store category, and not a match. These listings schedule markdowns, run countdowns and apply automatic discounts, and every one checked writes the new price without recording what the old one was or for how long it stood. Scheduling a sale and evidencing a sale are different problems, and the category solves only the first.Monthly subscriptions vary by listing; confirm on the current listing before comparingRunning the promotion itself, once something else can prove what the price was before it
Legal and compliance appsCategoryThe category a merchant searches next, and also not a match. These listings cover cookie consent, policy generators, privacy request handling and accessibility widgets. Across six category pages and over 120 listings read verbatim, none touched price display or price history, and roughly a dozen direct handles for Omnibus and Complimus name variants returned nothing.Monthly subscriptions vary by listing; confirm on the current listing before comparingConsent, policies and privacy requests, which is a different compliance surface entirely
Price-history log with prior-price disclosure (custom)Build laneThe capability nobody sells: product and variant update webhooks writing every price and compare-at change to an append-only table stamped with time and market, a rolling window that returns the lowest price actually charged in that market over the prior 30 days, and the disclosure rendered wherever a markdown appears.$12,000–$35,000 one-time plus upkeep (Deploi estimate, illustrative)Any merchant advertising markdowns into EU markets, where the disclosure has to be right on the day rather than at audit time

The Build Path

  • Log every price change, not only the markdowns: Subscribe to product and variant update webhooks and write each price and compare-at price change to an append-only table with a timestamp and the market it applied to. Per market and per currency, because market price lists move independently. Start logging before you need the disclosure: the window looks backwards, and a history nobody recorded cannot be reconstructed afterwards.
  • Compute the rolling minimum at render time: A function that returns the lowest price actually charged in that market over the prior 30 days, cached per variant per market and invalidated on any price write. Computing it live is what keeps the figure correct on a continuous promotional calendar. A value stamped when a sale started is already wrong a week later.
  • Render the disclosure wherever the markdown is advertised: The obligation follows the advertised reduction, so the prior-price line belongs on collection cards, campaign landing pages and promotional emails as well as the product template. Scope this deliberately with counsel, because national implementations differ and the wording that satisfies one market may not satisfy the next.
Effort band
$12,000–$35,000 for the price log, rolling window, caching and multi-surface disclosure — Deploi estimate (illustrative); lands in the $25–75K contact-form band at the top end
Typical timeline
4–8 weeks, and start the logging half immediately since the window is retrospective (Deploi estimate, illustrative)
Maintenance, honestly
~15–20% of build cost per year (Deploi estimate): roughly $1,800–$7,000/yr (Deploi estimate, illustrative) covering new markets and price lists, theme template changes, and moving webhook subscriptions forward before an API version sunsets on Shopify's 12-month support window.
What you own — and what you take on
You own: a timestamped record of every price you charged in every market, the computed minimum, and the disclosure itself. You take on: keeping the disclosure aligned with each market's national implementation, which is a legal review rather than an engineering one.

3-Year Total Cost of Capability

Buy (app path)Build (custom path)
Year 0 (setup)$0–$1,000 (spreadsheet process and a written policy, Deploi estimate, illustrative)$12,000–$35,000
Years 1–3 (recurring)$5,400–$21,600 in staff time per promotional period (Deploi estimate, illustrative)$5,400–$21,000 (upkeep)
3-year total≈$5,400–$22,600, and still no automated disclosure on the page≈$17,400–$56,000
Illustrative cumulative cost over 36 months$0$10k$20k$29k$39kMo 0Mo 12Mo 24Mo 36Buy (app path)Build (custom path)
Illustrative cumulative cost, and the cheaper line is a person with a spreadsheet rather than a product. Nothing on the App Store logs price history, so the buy column here is staff time, and staff time produces a reconstruction rather than a record. The lines converge inside three years at a mid-market promotional cadence, and only one of them puts the required figure on the page automatically.
  • All figures illustrative samples for the reference scenario — not quotes, not verified pricing.
  • Buy column is the manual substitute, because no product could be confirmed to exist: someone exporting price changes into a spreadsheet each promotional period across every EU market. It produces a record and not an automated disclosure.
  • Build column: append-only price log from webhooks, rolling 30-day minimum with caching, and the disclosure rendered on product, collection and campaign surfaces; three-year horizon.

What the Sticker Price Hides

On the buy path

  • Over 120 listings across six category pages were read verbatim and roughly a dozen direct handles were tried; no price-history or lowest-30-day-price product could be confirmed to exist (verified Sep 2026)
  • No Shopify changelog entry, help page or developer page mentions Omnibus by name, so there is no announced native feature to wait for (verified Sep 2026)
  • Compare-at price is a display field rather than a history, and overwriting it destroys the only trace of the previous price
  • A manual record across several markets and eight promotional periods a year is a real job that usually has not been assigned to anyone

On the build path

  • The minimum is per market and per currency, so one global figure is wrong in every market that runs its own price list
  • The window rolls, which means the disclosed number changes daily and has to be computed at render time rather than stamped at sale launch
  • The obligation follows the advertised markdown, so collection cards, campaign pages and emails need the disclosure too, not just the product template
  • ~$1,800–$7,000/yr upkeep as markets, price lists and templates change (Deploi estimate, illustrative)

What Merchants Say

Ecommerce leads describe the same scramble before an EU sale: somebody exports price changes into a spreadsheet, and nobody is confident the export covered every market and every variant.
community-reported (2026 research corpus)
The recurring question in EU merchant threads is which app handles the 30-day lowest price, and the recurring answer is that the person asking could not find one either.
community-reported (2026 research corpus)

If You Change Your Mind Later

If you bought and outgrow it

There is nothing to exit, because there is nothing to install. A spreadsheet process leaves behind whatever the last person maintaining it happened to save, usually in a format nobody else can reconcile against the actual store. The real cost of staying on this lane is that after two years of promotions you still cannot show what a product cost on a given day in a given market.

If you built and want out

Nothing strands. The price history is an append-only table you own, and it becomes more valuable the longer it runs, because a record of what you charged in every market is the input to margin analysis and elasticity work as well as compliance. If an app ever appears, your log is the seed data it would need and could not generate.

When This Answer Changes

We're watching for:

  • An EU Omnibus or lowest-30-day-price listing appearing on the App Store; none could be confirmed across six category pages and a dozen direct handles in September 2026
  • Shopify adding price-change history to the product record, or naming Omnibus anywhere in its help or developer documentation
  • A national implementation in a market you sell into changing the reference window or the required disclosure wording

Verdict change log:

No changes since first publication (September 2026).

Common Questions

Is there a Shopify app for EU Omnibus price-history compliance?

No Shopify app for EU Omnibus price-history compliance could be confirmed to exist. A September 2026 check read over 120 listings verbatim across six category pages covering Security and Legal, Finance, Pricing, Product Display, Internationalization and Promotions. Roughly a dozen direct listing handles for Complimus and Omnibus name variants were tried, and none resolved. Nothing on or off the App Store logs a rolling 30-day price minimum.

Does Shopify track price history for a product?

Shopify does not track price history for a product. Compare-at price is a single display field, and overwriting it erases the only trace of what the price used to be. Shopify added compare-at price management inside Admin Catalogs with a strikethrough preview, replacing CSV and API edits, and it stores no history (verified Sep 2026). No Shopify changelog, help page or developer page mentions Omnibus by name.

What does building Omnibus price-history compliance involve?

Building Omnibus price-history compliance involves three parts. Product and variant update webhooks write every price and compare-at price change to an append-only table, stamped with the timestamp and the market. A rolling window function returns the lowest price actually charged in that market over the prior 30 days. The disclosure then renders wherever a markdown appears, not only on the product page. Expect $12,000 to $35,000 (Deploi estimate, illustrative).

Your Next Steps

If you're going with BUILD(matches your selected profile)

  1. Turn on product and variant update webhooks and start writing an append-only price table today, before scoping anything else
  2. Stamp every row with market and currency, since the minimum is calculated per market rather than globally
  3. Build the rolling 30-day minimum as a cached function invalidated on any price write, not a value stamped at sale launch
  4. Inventory every surface where you advertise a reduction: product page, collection cards, campaign pages, email
  5. Take the disclosure wording to counsel per market, because national implementations differ and the engineering is the easy half

If you're going with WAIT

  1. Confirm which markets you actually sell into today, and which are planned for the next four quarters
  2. Start the append-only price log anyway, since it costs little and cannot be created retrospectively
  3. Keep an export of price changes per promotional period as an interim record with a named owner
  4. Set a review trigger on the first EU market launch or the first scheduled markdown in an EU market
  5. Re-check the App Store annually; nothing serving this could be confirmed across six category pages in September 2026

Official Docs & Sources

Official documentation linked for verification — our verdicts and estimates are our own.

Start logging prices before you need the last 30 days

The window looks backwards, and no app on the store keeps that history for you. We wire product and variant webhooks into an append-only price log per market, compute the rolling minimum at render time, and put the disclosure on every surface where you advertise a markdown.

Contact us today

Ecommerce development

Verdict scored for the reference scenario above. Estimates are not quotes; app pricing carries its verification date and gets re-verified quarterly. Full scoring anchors: see the TCC methodology.

Read how we score these decisions (the TCC Framework). No affiliate links, no paid placement — no app vendor pays to appear here.

No affiliate links. No paid placement. We make money building and integrating solutions — not on referral fees.