Shopify Markets & Currencies
Please note In order to setup multiple currencies for your B2B customers, you must have Shopify Markets enabled. For each currency you wish to offer to your B2B customers, you will need to set up a corresponding "market" within the Shopify Markets tool.
By default, when you upload pricing in SparkLayer, it will show in the default currency of your Shopify store. So if your Shopify store is set to USD, your B2B pricing will by default show as USD when customers log in.
If you're looking to enable multiple currencies for your B2B customers (e.g. USD, EUR, GBP) it's possible to configure this in SparkLayer and Shopify, allowing you to control what currencies your customers see when they log in, all from within the same store.
The process for creating price lists in additional currencies follows the exact same process as normal. When creating a price list, under Price List Currency, simply choose the currency you wish to show to your customers.
When setting up your customer groups, you can then assign this price list and any additional ordering rules (e.g. minimum order).
Once you've set up your customer groups and associated them with the appropriate price list, the user journey follows the same user journey as before. The only difference is, rather than seeing pricing in your default currency, they will see pricing show in their assigned currency, along with their exact B2B pricing. This happens automatically when they sign in.
Want to see this in action? You can test out multiple currencies in our SparkLayer Demo Store.
In the screenshot below, we've illustrated the same product page with one showing in GBP and one in EUR. In this instance, the GBP pricing is the default Shopify store currency, and EUR is the additional currency that has been added.
When the customer proceeds through the checkout, they'll also see the order totals converted into their specific currency and they'll see the payment methods you've set against their customer group.
If you have multiple shipping methods set up for the customer group (e.g. standard and express shipping), there is an important limitation to be aware of. The shipping totals shown to the customer will by default be displayed with the correct amount but the currency symbol of your default store currency. This is due to a limitation within Shopify only supporting the default store currency when rendering shipping totals and it's likely to be remedied in the very near future.
For customers placing an order via a different currency, when an order is placed, it will enter the Shopify admin via the standard routes. For draft orders, you can automatically convert this into a Completed order if required.
Payment method | Description |
---|---|
Payment by invoice | By default the order will be submitted as a Draft Orders. |
Payment on Account | By default the order will be submitted as a Draft Orders. |
Upfront Payment | Customers will be taken through the Shopify checkout and orders will arrive into Shopify as completed orders |
Request for quote | By default the order will be submitted as a Draft Orders |
Buy Now Pay Later | Customers will be taken through the Shopify checkout |
Based on the currency selected, the order will display the appropriate currency. For example, a customer with a Euro price list will be sent into Shopify with the Euro currency assigned.
An important note on pricing Due to limitations within Shopify, you may notice minor discrepancies in the pricing when an order arrives in Shopify. For example, if your B2B price is set to €7.99, it may display in Shopify as €8.00.
The technical reason for this relates to Shopify's method of currency conversion and how they apply discounts against an order. We are investigating methods to resolve this and will update this accordingly in the future.
The multiple currency solution detailed in this guide can be a good option for merchants but it does require some level of manual intervention due to limitations within Shopify.
If you need a more robust way of managing multiple-currencies or require customers to make payments online in any currency, it is recommended to set up a separate Shopify store per currency. We have a guide here that walks you through the process with our recommended approach and you can also read our blog post on some of the factors where this makes sense.
If you'd like to see a store in action that's doing this, we've two demo stores that run multi-currency and behind-the-scenes sync data (in the attachment, you can see the same product with the two currencies)
We've provided a summary of known limitations:
- Show prices to customers in their local currency: In a market that includes multiple countires / regions, there is a setting to "Show prices to customers in their local currency". SparkLayer does not currently support this setting and it will need to be disabled for B2B customers in this market to successfully place orders (please see screenshot below)
- Price rounding: you may in some instances see minor discrepancies between the B2B pricing your set and how the pricing arrives into Shopify.
- Shipping currency display: If you have multiple shipping methods set up for a customer group, regardless of the currency set, these shipping methods will display in the base currency. Once the order is placed, the correct currency will display within Shopify.
- Shopify Markets: for each currency you wish to offer to your B2B customers, you will need to set up a corresponding "market" within the Shopify Markets tool.
- Shopify Payments: Our multiple currency approach will only be supported in regions where Shopify Payments is supported. You can find all supported countries here.