506

EasyScan SKU & Barcode

HomeAll our Shopify appsContact Us
EasyScan SKU & Barcode

EasyScan SKU & Barcode

Read reviewsStart 10-day free trial

Barcodes & SKUs

Market prices on barcode labels

Barcode labels can print Shopify Markets prices for a chosen country instead of the shop's base price.

Last updated on 26 Aug, 2026

What it does

Barcode labels can print the price a buyer in a chosen country would pay (Shopify Markets pricing), in that market's currency, instead of always the shop's base price. Example: a Stockholm store picks Sweden, and labels print the SEK market price instead of the EUR base price.

How merchants use it

  • Saved shop default: Settings > Labels > Barcode label options > "Label price country" (stored as barcodeLabel.priceCountryCode).

  • Per-print override: "Price country (Shopify Markets)" selector on the Barcode page label layout preview, applies to that print run only.

  • Empty selection means "Shop default price", the existing behavior, unchanged.

  • Direct Print has no per-run UI; it follows the saved setting.

How it works under the hood

  1. At print time, the app calls POST /barcode/market-prices with {shop, variantIds[], countryCode}.

  2. Server validates the country code, fetches ProductVariant.contextualPricing(context: {country}) from the Shopify Admin API in batches of 250 via nodes(ids:), capped at 2,500 variants per print run.

  3. Returned prices are overlaid onto cloned variants right before printing; the loaded product list stays in base pricing, and all variant-loading paths (scan, bulk load, resource picker, CSV import) get market pricing without changes.

  4. Fallbacks: a variant with no price for that country keeps its base price (the run reports how many fell back); a lookup failure never blocks printing.

  5. Currency formatting fix: formatters previously ignored the currency override, so a SEK amount would have printed with the shop's currency symbol. useAdjustedCurrency, the barcode page's adjustedCurrency, and Direct Print's formatter now accept per-variant currency/format overrides.

Design notes

  • Shopify's ContextualPricingContext is keyed by country (no market ID input), so the UI offers countries; a merchant thinking in Markets picks the country that market covers. Country list comes from the 2026-01 schema's CountryCode enum (244 values); display names via Intl.DisplayNames.

  • Requires only read_products (already held); no re-authorization needed.

  • Limitation: tax-inclusive pricing (Market.priceInclusions) is NOT read; labels show whatever contextualPricing returns. EU shelf labels usually must be tax-inclusive, so merchants should confirm the printed figure suits their market before physical-store use.

Was this page helpful?
Previous

Orders

Next

Please contact us through the EasyScan app for further support