Back to Spree

Set Up Multi-Currency Pricing

docs/user/how-to/multi-currency-pricing.mdx

5.4.24.9 KB
Original Source

When you sell to customers in different countries, you'll want each customer to see prices in their local currency. In Spree, this involves two steps: creating a Market for each currency, then setting a base price in that currency on your products.

In this guide, we'll walk through a common scenario — a US-based store adding a German market so customers in Germany can browse and buy in EUR.

<Note>This guide covers multi-currency pricing — different currencies for different regions. If you need different prices within the same currency across regions (e.g., separate EUR prices for Germany, France, and Spain), see <u>Set Up Multi-Region Pricing</u> instead.</Note>

Prerequisites

Before you start, you should have at least one active market already configured — typically your home market. In this example, a US market with USD is already set up.

1. Create a Market for the New Currency

The Market must be created first. Until a currency is assigned to a Market, you will not be able to set prices for other currencies (in this case, EUR).

To create a Market, navigate to Settings → Markets in the admin dashboard.

Click New Market to open the creation form.

Fill in the details for your new market. For a German market:

  • NameGermany
  • Default CountryGermany
  • CurrencyEUR
  • Default LocaleDE for German, or EN if your storefront runs in English
  • Tax Inclusive — check this if prices should display with VAT included, which is standard practice in EU markets
  • Default — leave unchecked, since the US market is already the default

Click Create, and Germany will now appear in your Markets list alongside your US market.

2. Set EUR Prices on Your Products

With the EUR market in place, the currency switcher is now available in the product editor. You'll need to add a EUR price to every product you want to sell in Germany — any product without a EUR price will not be shown to customers browsing in that market.

To set the EUR prices, navigate to Products and open the product you want to update.

Where you find the currency switcher depends on whether the product has variants. For single-variant products, look in the Pricing section. For multi-variant products, look in the Variants section, where pricing and inventory are managed together in a combined table.

Enter the EUR price for this product (e.g., 89.00 for a product priced at 99.00 USD) and click Update to save.

Repeat this process for every product you want to make available to German customers.

<Warning>Any product without a EUR price set will not be displayed to customers browsing in the Germany market. Make sure all products you want to sell in a market have a price in that market's currency.</Warning>

<Note>Multi-currency prices can also be set via CSV import. See the <u>Product Import File Template</u> for reference.</Note>

3. Verify on the Storefront

Once your market and product prices are set up, verify the setup by visiting your storefront.

  1. Look for the market switcher in your storefront's navigation. If you're using the Spree Next.js starter storefront, this appears in the navigation bar.
  2. Switch to Germany / EUR
  3. Confirm that product prices are now displayed in EUR

If a product does not appear after switching to EUR, check that a EUR price has been saved for that product in the product editor.

Next Steps