Should You Build or Buy Duties & Import Taxes on Shopify?
Duties and import taxes on Shopify are a true DEPENDS: pay Managed Markets' 6.5% + 2.5% merchant-of-record stack (per July 2026 research) to make cross-border compliance someone else's problem, or own the flow with native duties collection, a landed-cost vendor, and disciplined HS codes once international passes roughly 15% of revenue. Landed-cost calculation is a data product; almost nobody should build it. The real choice is owning the complexity versus renting it.
Your profile — see how the verdict shifts
- Confidence
- Medium — Both lanes are proven and the failure modes are documented; the verdict swings on international share, margin, and ops capacity, and vendor pricing beyond the Managed Markets framing is unverified
- Reference scenario
- $20M–$100M GMV · 10–30% international · agency dev bench
- As of
- August 2026
Decision at a Glance
| Your profile | Verdict | Why |
|---|---|---|
| International under 5% of revenue (testing) | BUY | Managed Markets is the cheapest possible test: no upfront cost, compliance carried, and the fee only bites on orders you'd otherwise decline to ship. Learn where demand lives before owning anything. |
| 5–15% international, lean ops team | BUY | The fee line is visible now but still cheaper than the customs competence you'd have to hire; audit HS classifications at onboarding, because that's where the saga starts. |
| 15–30% international with real ops capacity | DEPENDS | The crossover zone: the percentage stack is now real money against native collection, a landed-cost vendor, and owned HS codes. The margin model decides, not the feature list. |
| 30%+ international or $100M+ GMV | CUSTOMIZE | A percentage-of-revenue stack at this scale is a seven-figure line item. Own the flow: native collection plus a swappable landed-cost vendor, with classification governed in your catalog. |
What Duties & import taxes Actually Drives
| Outcome | Impact | How it works |
|---|---|---|
| Revenue — direct | High | A guaranteed duties-inclusive total at checkout converts shoppers who abandon at vague duties-may-apply warnings; cross-border conversion is won or lost right there. |
| Customer experience | High | Collecting duties upfront kills the surprise courier bill at delivery, the classic cross-border trust breaker behind parcel refusals, chargebacks, and one-and-done customers. |
| Operational efficiency | Medium | Correct HS codes and clean paperwork keep parcels out of customs holds, so support stops working shipping tickets that are really classification problems. |
| Retention & LTV | Medium | A first order that arrives without a duty ambush qualifies the customer for a second; misquoted landed costs are how international cohorts quietly die. |
| Data & insight | Medium | Owning classification keeps landed cost per SKU per market queryable for pricing and assortment calls; a merchant of record holds much of that math behind its fee. |
Spend ceiling: Anchor every proposal to the fee you'd avoid: the 9% all-in framing (per July 2026 research) on projected international GMV is the number an owned stack must beat after vendor fees, classification labor, and refused parcels. If owning doesn't clearly win inside two years, the MoR fee isn't a tax; it's fair pricing for complexity you skipped.
What buying enables (top apps)
- + Merchant-of-record status: duties, import taxes, and cross-border compliance carried by the provider, with a guaranteed landed cost at checkout
- + Duties-paid selling into dozens of markets in days, with no customs broker to hire and no tariff schedule to learn
- + Compliance churn absorbed behind the fee: duty rates, thresholds, and paperwork rules tracked for you
- + Currency, local payments, duties, and logistics decisioning in one contract instead of four vendors
What building additionally unlocks
- + A per-market DDP/DDU policy under your rules: prepay duties where totals convert, ship DDU with honest messaging where the math says otherwise
- + First-party international customer and order records, with no merchant-of-record intermediation of your growth data
- + Owned, auditable HS-code governance in your catalog via the Admin API, the community-proven fix for the misclassification saga
- + Mostly flat cost scaling: owned collection costs roughly the same at 10x volume while a percentage stack grows with every order
Find Your Verdict in 3 Questions
Do you have real ops capacity for cross-border, someone who can own classification, customs exceptions, and refused parcels?
Yes: Go to question 2.
No: Your verdict: BUY — Managed Markets as merchant of record; the 6.5% + 2.5% stack (per July 2026 research) is the price of not building an international ops function.
Is international past roughly 15% of revenue, or strategically targeted to get there?
Yes: Go to question 3.
No: Your verdict: BUY — keep the merchant of record while the base is small; the percentage fee on light volume costs less than any owned stack, and the math gets re-run yearly.
Does the merchant-of-record fee on projected international GMV clearly exceed the cost of native duties collection plus a landed-cost vendor and HS-code governance?
Yes: Your verdict: CUSTOMIZE — own the flow with native collection, a swappable landed-cost vendor, and HS codes governed in your catalog; never build the calculation itself.
No: Your verdict: BUY — the fee still buys more compliance than it costs; diary a re-decision when international share or margin pressure grows.
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 →
| Dimension | Buy | Build | Why |
|---|---|---|---|
| Cost | |||
| Acquisition & implementation | Managed Markets switches on in days with no upfront fee; the owned path starts with classifying the whole catalog, an estimated 4–8 weeks of HS-code and checkout work (Deploi estimate, illustrative). | ||
| Recurring fees | The merchant of record takes 6.5% of order value plus 2.5% currency conversion on every international order, forever (per July 2026 research); the owned path pays smaller vendor and collection fees that need verification. | ||
| Maintenance & upgrades | Compliance churn is what the fee buys: duty rates, thresholds, and paperwork rules change constantly and the MoR absorbs it; the owned stack needs classification reviews every time the catalog or a tariff schedule moves. | ||
| Switching & exit | Leaving a merchant of record means standing up duties collection, classification, and cross-border payments you never built; HS codes stored on your own products port to any future stack. | ||
| Risk | |||
| Vendor risk | The community's two-year HS-code misclassification saga shows the black-box failure mode inside Managed Markets; the owned path still depends on a landed-cost vendor, but a swappable one. | ||
| Security & compliance surface | Compliance is the product: the MoR is seller of record and carries duties remittance and cross-border tax exposure; owning the flow puts your name on every customs declaration. | ||
| Platform-deprecation exposure | Markets and Managed Markets are first-class platform surfaces; the owned stack's exposure is API version bumps on the roughly six-month cycle plus your landed-cost vendor's API changes. | ||
| Value | |||
| Fit to requirement | One opinionated MoR flow covers most stores until it doesn't: restricted categories, unsupported destinations, and per-market DDP/DDU choices are where owning the flow fits better. | ||
| Time to market | Selling duties-paid into new markets takes days as merchant of record; the owned path needs the catalog classified before checkout can quote a duty honestly. | ||
| Performance & scale | Both quote duties inside native checkout, so speed ties; at scale the economics diverge because a percentage fee grows with every order while owned costs stay mostly flat. | ||
| Data ownership & AI-readiness | As merchant of record the provider intermediates the international buyer record; the owned flow keeps customers, orders, and landed-cost data first-party, and clean HS codes become reusable product data. | ||
| Focus & opportunity cost | Customs is deep domain work with zero storefront upside; a lean team should rent it, and even the owned path buys rate data rather than researching tariffs. | ||
The App Landscape
| App | Status | Pricing | Best for |
|---|---|---|---|
| Shopify Markets duties collection (native) | Native — Duties and import taxes estimated and collected in native checkout for supported lanes; classification quality stays your homework | Included with your plan where supported; duties-collection fees vary by plan and setup | Charging duties at checkout on the markets you serve while staying merchant of record |
| Shopify Managed Markets | Live — Shopify's managed cross-border product, powered by Global-e as merchant of record | 6.5% of order value + 2.5% currency conversion (per July 2026 research — re-verify) | Full compliance transfer: duties, import taxes, and HS-code handling carried by the provider |
| Global-e (direct) | Live — The enterprise merchant of record behind Managed Markets, contracted directly | Custom percentage-of-sales contract | Enterprise cross-border programs negotiating rates, markets, and logistics terms directly |
| Zonos | Live — Landed-cost specialist: duty and tax quoting with checkout tools while you stay merchant of record | Tiered subscription plus per-order fees (illustrative) | Owning the flow with guaranteed landed costs, without an MoR taking over the buyer relationship |
The Build Path
- HS-code governance via the Admin API: Assign, store, and bulk-correct HS codes on your own products through the Admin API and metafields. The community workaround for the misclassification saga is real, and it is the one piece worth owning on every path, including under a merchant of record.
- Native duties collection + a landed-cost vendor: Markets estimates and collects duties in native checkout where supported; a swappable landed-cost vendor of the Zonos class adds guaranteed totals and broader lane coverage while you stay merchant of record.
- Per-market DDP/DDU policy layer: Encode a written policy in market settings and checkout copy: prepaid duties where guaranteed totals convert, DDU with plain messaging where duty rates are low or de minimis thresholds carry most orders.
- The non-approach: a landed-cost engine: We'll say it plainly: landed-cost calculation is a data product spanning duty rates, tax rules, thresholds, and carrier fees across hundreds of trade lanes, changing constantly. Nobody should build it. Buy the data; own the classification.
- Effort band
- $15,000–$40,000 for catalog classification, checkout wiring, and the policy layer, vendor fees excluded (Deploi estimate, illustrative); spans the $10–25K and $25–75K contact-form bands
- Typical timeline
- 4–8 weeks for classification, wiring, and market policy (Deploi estimate, illustrative); a merchant of record switches on in days
- Maintenance, honestly
- ~15–20% of build cost per year (Deploi estimate): classification reviews when the catalog or a tariff schedule moves, API version bumps on the roughly six-month cycle, and vendor rate spot-checks. There is no percentage-of-sales line item.
- What you own — and what you take on
- You own: the buyer relationship, the classification record, the per-market DDP/DDU policy, and the absence of a percentage fee line. You take on: customs exceptions, refused parcels, and the upkeep above, which is exactly the complexity the MoR fee exists to absorb.
3-Year Total Cost of Capability
| Buy (app path) | Build (custom path) | |
|---|---|---|
| Year 0 (setup) | $0 upfront (fees start with the first order) | $15,000–$40,000 (classification + wiring) |
| Years 1–3 (recurring) | ≈$540,000 in fees at the 9% all-in framing on $2M/yr international GMV | ≈$30,000–$75,000 (vendor fees + maintenance) |
| 3-year total | ≈$540,000, scaling with international volume | ≈$45,000–$115,000, mostly flat |
- † All figures illustrative samples for the reference scenario — not quotes, not verified pricing.
- † Buy column = Managed Markets at the 6.5% + 2.5% framing (per July 2026 research) on a sample $2M/yr international GMV; standard payment processing excluded from both columns.
- † Build column = classification and wiring build plus illustrative landed-cost vendor fees; the managed fee buys genuine compliance transfer these cost rows don't price.
What the Sticker Price Hides
On the buy path
- — The 6.5% + 2.5% stack (per July 2026 research) is a percentage of revenue: it grows with every good quarter and never amortizes
- — HS-code misclassification is the community's two-year saga: wrong duties quoted at checkout, margin surprises, and long support loops to get classifications corrected
- — Coverage limits surface after launch: restricted product categories and unsupported destinations are the classic merchant-of-record friction
- — Merchant-of-record intermediation: confirm at signup exactly which customer, order, and classification data you keep
On the build path
- — Classification is never done: new SKUs ship unclassified unless the product workflow enforces HS codes, and as seller of record the penalties and margin surprises are yours
- — DDU lanes push duties to the doorstep: parcel refusals plus return shipping can eat the margin the avoided fee saved (community-reported pattern)
- — Landed-cost vendor fees are per-order too: model them honestly or the owned path quietly rebuilds a percentage line
- — ~15–20% of build cost per year in upkeep (Deploi estimate) as tariffs, thresholds, and the catalog move
What Merchants Say
The HS-code misclassification saga is the category's defining pain theme: goods misclassified at onboarding, wrong duties charged at checkout for months, and a community thread running two years on getting classifications corrected.
The DDU complaint shape: shoppers refuse parcels over surprise courier fees, the merchant eats return shipping plus the refund, and the review ends in a switch to collecting duties at checkout.
If You Change Your Mind Later
If you bought and outgrow it
Leaving a merchant of record is a real project: you stand up duties collection, classification, and cross-border payments the provider handled, and how much international order and customer history you get back depends on the contract. Keep HS codes mirrored on your own products from day one, and negotiate data-return terms at signup, not at exit.
If you built and want out
Little is stranded: HS codes on your own products are the portable asset and move to any landed-cost vendor, any merchant of record, or native collection without rework. The vendor integration is the only piece you'd retire, which is exactly what keeps every provider on this page swappable.
When This Answer Changes
We're watching for:
- ▸ Managed Markets fee, market-coverage, or eligibility changes: the 6.5% + 2.5% framing is July 2026 research; re-verify before any margin model
- ▸ Native Markets absorbing more managed capability, duties refinements or classification tooling; the frontier keeps moving toward native
- ▸ Tariff and de minimis threshold changes on your top lanes: trade policy is the live variable that reprices duties-paid checkout overnight
Verdict change log:
No changes since first publication (August 2026).
Common Questions
Does Shopify collect duties and import taxes at checkout?
Yes, two ways. Shopify Markets can estimate and collect duties and import taxes in native checkout while you stay merchant of record; availability and fees depend on plan and setup. Managed Markets goes further: as merchant of record it guarantees the landed cost and carries the compliance behind it, for 6.5% of order value plus 2.5% currency conversion (per July 2026 research).
Should you ship DDP or DDU for cross-border orders?
DDP wins for most mid-market brands: duties paid at checkout means no courier ransom note at the door, fewer refused parcels, and a survivable first impression. DDU still earns lanes where duty rates are low, order values sit under a destination's de minimis threshold, or a market won't bear the prepaid total. Make it a per-market policy with the refusal math written down, not a storewide default.
Should you ever build your own landed-cost engine?
Almost never. Landed cost is a data product: duty rates, tax rules, de minimis thresholds, and carrier fees across hundreds of trade lanes, all changing constantly. Buy that data, from native collection, a landed-cost vendor, or a merchant of record. The build worth owning is small and real: HS-code governance on your own products via the Admin API, so classification stays auditable, correctable, and yours.
Your Next Steps
If you're going with BUY
- Run the margin math first: apply 6.5% + 2.5% (per July 2026 research; re-verify) to projected international GMV and compare it with owning collection plus a vendor
- Audit HS-code classification on your catalog at onboarding; misclassification is the community's two-year saga and it starts on day one
- Confirm market and product-category coverage for your specific catalog before launch
- Negotiate data-return and exit terms at signup, not at exit
- Diary an annual re-decision tied to international share; the percentage stack loses to owned ops as you grow
If you're going with CUSTOMIZE
- Classify the catalog first: assign and verify HS codes at the product level, stored via the Admin API and metafields so they stay auditable and yours
- Turn on native duties collection for supported markets and confirm plan fees and lane coverage
- Shortlist a swappable landed-cost vendor of the Zonos class for guaranteed totals where native quoting falls short
- Write the per-market DDP/DDU policy with refusal math attached, and say it plainly on PDPs and at checkout
- Assign a named owner for classification reviews whenever the catalog or a tariff schedule moves
Official Docs & Sources
- Duties and import taxes — Shopify Help Center
- Managed Markets — Shopify Help Center
Official documentation linked for verification — our verdicts and estimates are our own.
Related Decisions
Zonos vs. Global-e: Landed-Cost Software or Merchant of Record?
Zonos wins past roughly 10% international share by keeping you seller of record; Global-e earns enterprise merchant-of-record scale; native covers supported lanes.
Global-e vs. Managed Markets: Which Merchant of Record Fits?
Managed Markets wins for most mid-market Shopify stores; a direct Global-e contract earns its complexity only at enterprise cross-border scale.
Zonos vs. Managed Markets: Merchant of Record or Not?
Zonos beats Managed Markets once international passes roughly 10–15% of sales; below that, Shopify's merchant-of-record lane wins on speed.
Should You Build or Buy Multi-Currency & Market Pricing on Shopify?
Multi-currency is native on Shopify. The real decision is the market-pricing layer on top.
Should You Build or Buy Translation on Shopify?
Translation on Shopify is a CUSTOMIZE call: free native Translate & Adapt as the floor, an owned AI pipeline on the translation APIs past three locales.
Ready to price the merchant-of-record decision?
We'll run the honest math on your international mix: the fee stack against native duties collection, a landed-cost vendor, and owned HS codes. If Managed Markets is the right answer for your stage, we'll say so.
Contact us todayVerdict scored for the reference scenario above. Estimates are not quotes; app pricing carries its verification date and gets re-verified quarterly. This page is general information, not customs, tax, or legal advice: confirm obligations with your trade professional. 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.