Markets and currencies
Applies toShopify
How it works
By default, SparkLayer shows B2B prices in your store's default currency. For example, if your store currency is GBP, every B2B customer sees prices in GBP. With Shopify Markets set up, you can add other currencies, such as USD or EUR. Each customer group then sees prices in its own currency.
When a B2B customer signs in, SparkLayer checks the price list assigned to their customer group. If that price list uses a different currency from your default (for example EUR instead of GBP), the customer sees all B2B prices, cart totals and checkout amounts in that currency. They don't need to switch currency themselves.
Setting it up takes 3 steps: a Shopify market for each currency, a price list in that currency, and a customer group that uses it.
Customer signs in
Group's price list
Prices in that currency
Order in Shopify
To see it working, try our demo store (opens in a new tab).
Set up Shopify Markets
Start in Shopify. Each currency you want to use needs a matching, active market.
- In your Shopify admin, go to Settings,Markets (opens in your Shopify admin in a new tab) (or Markets in the main menu if you use Shopify's new Markets experience).
- Create a market for each region or country where you want to offer a currency. For example, create a "European Union" market with Euro as its currency.
- Check the market's status is Active.
- Check Shopify Payments (opens in a new tab) is turned on. Multi-currency only works in regions where Shopify Payments is available.
You don't need to set up catalogs or product availability in the market. SparkLayer manages B2B product visibility and pricing itself. The market only needs to exist so Shopify recognises the currency. Next, create a price list in that currency.
Create a price list in another currency
Each price list has one currency, and you set every price in it yourself.
- Go to
SparkLayer Wholesale,Pricing,Price lists (in your Shopify admin). - Click Create price list (or open an existing price list).
- Enter a Name and a Handle (or ID), and choose the Currency, for example EUR, USD or AUD.
- Add your prices as usual, entering every value in the price list's currency.
You can't change a price list's handle or currency after you've created it. Once the price list is ready, assign it to a customer group.
Assign the price list to a customer group
The customer group decides which customers see the new currency.
- Go to
SparkLayer Wholesale,Customers,Customer groups (in your Shopify admin). - Click Edit on the customer group, or click Create customer group to make a new one.
- Under Customized rules, open Price lists and choose the price list in the right currency. Click Add price list to add more.
- Set any other ordering rules, such as a minimum order value. They apply in the price list's currency.
- Save the group.
A customer group can have several price lists, and the first one with the product's SKU wins: see Price list order. All of a group's price lists must use the same currency. If they don't, customers see PRICING:001.
When customers in the group sign in, they see B2B prices in that currency on product pages, in the cart and at checkout.
What customers see
Once the group is set up, its customers see their currency everywhere they shop:
- Product pages: B2B prices in the customer's currency. A customer on a EUR price list sees euros; a customer on your default GBP price list sees pounds.
- Cart and checkout: line items, subtotals and order totals in the customer's currency. The payment methods are the ones set on their customer group.
- Shipping: if a customer group has more than one shipping method (for example standard and express), shipping costs are converted from your store's default currency to the customer's currency.
How orders appear in Shopify
An order placed in another currency arrives in your Shopify admin in that currency. The draft order shows the customer's market, for example "France (EUR €)". How it arrives depends on the payment method:
| Payment method | How the order arrives in Shopify |
|---|---|
| Pay by invoice | As a draft order |
| Payment on account | As a draft order |
| Card at checkout | The customer completes the Shopify checkout, so it arrives as a completed order |
To have draft orders turned into completed orders automatically, turn on Auto-complete draft orders at
SparkLayer Wholesale,Integrations,Platform,Shopify order actions (in your Shopify admin).
Because of how Shopify converts currencies and applies discounts, you may see small rounding differences between the price you set and the price on the Shopify order. For example, €7.99 may show as €8.00 in the Shopify admin. This is a Shopify limitation.
Use Shopify Companies with Shopify Markets
If you use Shopify's Companies feature alongside SparkLayer, multi-currency works in the same way. See Shopify Companies for how SparkLayer works with Companies.
Limitations
These Shopify Markets features and setups aren't supported, or work differently, with SparkLayer:
- "Use local currencies": in a market with several countries, Shopify can let customers pay in their own region's currency (the market's Currency setting, Use local currencies). SparkLayer doesn't support this. Choose a single currency for markets with B2B customers, or orders may fail.
- Price rounding: small differences can appear between your SparkLayer price and the price on the Shopify order, because of Shopify's currency conversion and rounding.
- One market per currency: each currency you offer B2B customers needs its own market in Shopify Markets.
- Shopify Payments required: multi-currency only works in regions where Shopify Payments is available (opens in a new tab).
- Managed Markets and zero-value orders: with Shopify Managed Markets, you can't create a zero-value B2B order (such as £0.00 or €0.00) in any currency other than your store's default. Customers see an error at checkout if they try. See Shopify's Managed Markets requirements and considerations (opens in a new tab).
- Duties and import taxes: if you turn on duties in Shopify Markets, SparkLayer doesn't charge them in the SparkLayer cart. Duties aren't supported.
- Market catalogs: if you assign a product collection to a market in Shopify, SparkLayer doesn't detect or enforce it. SparkLayer manages B2B product visibility with its own rules and customer group settings.
FAQs
No. Multi-currency works on any Shopify plan that supports Shopify Markets and Shopify Payments. Some advanced Markets features, such as the new Markets experience with submarkets and catalogs, are only on Shopify Plus.
SparkLayer doesn't convert prices. You create a price list for each currency and enter the exact prices customers should see, so you control your B2B prices in every currency.
Shopify won't recognise the currency at checkout, which can cause errors when orders are placed (see SHOPIFY:001). Make sure an active Shopify market exists for every currency you use in SparkLayer.
Shopify Markets apply to your whole store, so retail (B2C) customers in those regions also see the market's currency. SparkLayer's B2B prices stay separate and are only visible to signed-in B2B customers.
Not from one price list, because each price list has one currency. If customers in the same group need different currencies depending on their region, create a price list per currency and assign the right one to each customer or customer group.
When SparkLayer sends a B2B order, Shopify applies its own currency conversion and discount calculations, which can cause small rounding differences (for example €7.99 becoming €8.00). This is a Shopify limitation.
No. SparkLayer uses the fixed prices you set in each price list, so Shopify's automatic exchange rates don't apply to B2B prices. You control the exact price customers see.
Last updated