How to run predictable international prices on Shopify Markets: fixed prices, catalogs, and duties

Short summary: Use fixed prices, Catalogs/price lists, and a clear DDP duties plan to control sticker prices, protect margins, and avoid surprise charges for in...

May 10, 2026No ratings yet14 views
Rate:

Short summary: Use fixed prices, Catalogs/price lists, and a clear DDP duties plan to control sticker prices, protect margins, and avoid surprise charges for international buyers. This guide gives step-by-step setup and testing advice for merchants and developers. [1]

Why choose fixed prices (and when to use converted prices)

Converted prices are fast: Shopify converts a base SKU price into a presentment currency using exchange rates and conversion fees, which is useful when you want low maintenance and accept small margin fluctuations. [3]

Fixed prices are precise: enter a local price in the market base currency when you need exact sticker prices to cover VAT, duties, or local shipping thresholds, or when psychological pricing matters. Fixed product prices must be entered in the market’s currency and override converted prices. [2]

Step 1 — Plan markets, catalogs, and pricing rules

Map goals to Markets and Catalogs

  • Decide whether a market will use converted prices (automatic/manual FX + rounding) or fixed prices per country. [1][3]
  • If you need country-level fixed pricing (different VAT, duties, or price points), plan a catalog + price list strategy — Catalogs group the product selection and price lists attach fixed prices for that catalog. [5][4]
  • Note plan constraints: some per-market customizations and checkout/theme features are gated by Shopify plan or require migration steps; review your admin access before you build. [1]

Step 2 — Implement fixed prices at scale (developer and non-developer paths)

Developer path: Catalogs + PriceList GraphQL

Create a catalog, create a price list in the market currency, and add fixed prices per variant using the PriceList mutations (priceListFixedPricesAdd / priceListFixedPricesUpdate). This approach is the recommended API path for automated, repeatable updates. [4][5]

Practical tip: export your pricing matrix from your ERP or spreadsheet, transform prices into the market base currency, and push them with batched GraphQL mutations; for large catalogs, follow API rate guidance and test in a staging store. (Practical experience and migration notes recommend Catalogs + price lists for EU expansion and psychological pricing.) [8][5]

No-code path: bulk CSV or apps

If you don’t have custom development, use a bulk editor that supports Markets price lists (for example, Ablestar’s spreadsheet workflow) to add or remove fixed prices in bulk. This keeps the store admin manageable for large SKU sets. [9]

Step 3 — Duties, DDP labels, and checkout collection

Collecting duties and import taxes at checkout requires HS codes and origin country on products, plus a supported DDP carrier or third-party app to fulfil DDP flows; Shopify will calculate and can collect duties at checkout but you must confirm carrier support and label workflows. [6]

Be aware of transaction fees for duty calculations: Shopify documents a temporary 0.5% fee (effective 2025-02-02) and different standing rates for Shopify Payments vs other gateways—factor these into margin math. [6]

Operational warning: DDP label purchasing is supported only for select carriers and routes—if you collect duties at checkout, purchase a DDP label or fulfil externally to avoid carrier surcharges. Double-check supported carriers for your origin/destination pair. [6]

Step 4 — Price adjustments, manual FX, rounding, and testing

Use manual exchange rates to lock local prices when you need stable presentment values; manual rates override automatic rates and preserve mental price points across volatility. Pair manual FX with rounding rules or sitewide price adjustments for simple regional lifts. [3][2]

Test every change with a staging store or the storefront "view as" features and verify: (a) that fixed prices appear in the presentment currency, (b) shipping/free-shipping threshold copy displays the correct local amounts, and (c) checkout collects duties when expected. Community reports show display quirks if presentment/local-currency settings and fixed price lists aren't aligned—testing prevents surprises. [1][2]

Fees, Managed Markets, and margin planning

If you use Managed Markets (Global-e powered) expect a Managed Markets fee (documented percentages differ by plan) plus Shopify Payments processing and FX fees; Managed Markets has a distinct flow and merchant-of-record considerations, so evaluate totals before onboarding. [7]

Takeaway checklist (actionable next steps)

  1. Choose converted or fixed pricing per market and document VAT/duties requirements. [1][2]
  2. Add HS codes and country of origin to products now to enable accurate duties calculation. [6]
  3. For fixed prices at scale: build Catalogs + PriceList automation or use a bulk CSV editor (Ablestar) if you lack dev resources. [5][4][9]
  4. Confirm DDP carrier support and label workflows before collecting duties at checkout to avoid surcharges. [6]
  5. Test in staging: presentment prices, checkout duties collection, and theme copy for thresholds. [3][1]

If you need a technical starting point: export a pricing spreadsheet, create a catalog per pricing region, use priceListFixedPricesAdd to deploy fixed prices, and run a staged checkout to validate duties and payouts. The combination of Catalogs + PriceLists plus explicit duties setup gives the most predictable international pricing outcomes on Shopify today. [5][4][6][8]

References

  1. 1.help.shopify.com
  2. 2.help.shopify.com
  3. 3.help.shopify.com
  4. 4.shopify.dev
  5. 5.shopify.dev
  6. 6.help.shopify.com
  7. 7.help.shopify.com
  8. 8.www.datronixtech.com
  9. 9.support.ablestar.com

Join the mailing list

Get new posts from Shopify Blogs

Be the first to know when fresh articles are published.

No emails will be sent yet. Your signup is saved for future updates.

Comments (0)

Leave a comment

No comments yet. Be the first to comment!