Shopware 6 Advanced Prices Import with Full Multi-Currency Support

When managing an international store, pricing in one currency isn’t enough. Your Danish customers expect to see prices in DKK, your American audience in USD, and your German buyers in EUR — all while keeping margins and taxes consistent.
Until now, that kind of flexibility required complex manual mapping or custom code. But with our latest update, the Shopware Advanced Prices Import feature has become truly global.
We’ve rolled out complete multi-currency support, allowing you to import, calculate, and synchronize prices across all your currencies — automatically, intelligently, and in one go. Let’s explore this latest feature of the Improved Import, Export & Mass Actions app.
Table of contents
- Why Shopware 6 Multi-Currency Import Matters
- What’s New Under the Hood of Improved Import, Export & Mass Actions
- A Look at the Data Structure
- How to Use Multi-Currency Import
- Testing Tips for Shopware 6 Multi-Currency Import
- Why This Update Changes Shopware 6 Advanced Pricing Management
- Final Thoughts: Shopware 6 Multi-Currency Advanced Price Import
Why Shopware 6 Multi-Currency Import Matters
Ecommerce today is borderless. Most merchants operate in multiple markets, and each one demands local pricing. But maintaining price accuracy across different currencies often meant juggling multiple files, spreadsheets, and conversion rates.
With the new multi-currency import for Shopware 6, that manual work disappears. You can now include all your currencies in a single import file — and the app automatically detects, maps, and processes them, building Shopware-ready price structures without a single line of code.
The result: less time spent fixing CSVs, fewer import errors, and perfectly aligned global prices.
What’s New Under the Hood of Improved Import, Export & Mass Actions
This release brings four major improvements that work together to make multi-currency imports seamless, efficient, and future-proof.
1. Currency Registry — Fast, Smart, and Centralized
At the heart of this update is a new Currencies Registry, designed for fast ISO code lookups and consistent currency management.
It works much like Shopware’s language or tag registries and provides developers with a clean set of methods:
- getIdByIsoCode() – Retrieve a currency ID from its ISO code (e.g., EUR → 1).
- getIsoCodeById() – Get the ISO code for any currency ID.
- getNameByIsoCode() – Return a human-readable name, like “Dänische Kronen.”
- getAllIsoCodes() – Quickly list all active currencies in the store.
This registry powers the entire import process, ensuring your system recognizes every active currency instantly.
2. Dynamic Field Mapping — Fields That Build Themselves
Before this update, you needed to manually define columns for every currency in your import file. Now, the system does it for you.
The app automatically generates currency-specific price fields from your active currencies using the format: [ISO].[priceType] — for example, DKK.priceNet or DKK.priceGross.
In the UI, these fields appear with friendly names like “priceNet (Dänische Kronen)”, making them instantly recognizable.
Supported price types include:
- Standard prices (priceNet, priceGross)
- List prices (listPriceNet, listPriceGross)
- Regulation prices (regulationPriceNet, regulationPriceGross)
Every field adapts dynamically — add or remove currencies in Shopware, and your import mapping updates automatically.
3. Automatic Tax Calculation and Linked Pricing Logic
The import engine has been upgraded to think like a real pricing system. If your file includes only one type of price (say, net but not gross), the app now calculates the missing value automatically using the product’s tax rate.
Behind the scenes, two new methods do the heavy lifting:
- extractCurrencyPrices() parses each currency-specific column in your import file.
- buildCurrencyPrice() constructs complete, valid price objects in Shopware’s native format — including nested list and regulation prices.
It even sets the “linked” attribute correctly:
- linked = false when both prices (net and gross) are provided manually.
- linked = true when one is calculated automatically.
This ensures consistent, compliant pricing across every market you serve.
4. Seamless UI Integration — No Setup Required
Everything you need is now built right into the import wizard. When you reach Step 2 of the import process, the mapping screen automatically displays currency-specific fields.
New fields appear in color and custom mappings are supported — for example, you can map a column like “MyPrice” to “DKK.priceNet” with just one click.
No manual configuration, no scripts, and no guesswork.
A Look at the Data Structure
The system now builds fully Shopware-compliant nested price arrays, complete with list and regulation prices for each currency.
Here’s an example of how your data looks once processed:
[
[
‘currencyId’ => ‘xxx’,
‘net’ => 100,
‘gross’ => 120,
‘linked’ => false,
‘listPrice’ => [
‘currencyId’ => ‘xxx’,
‘net’ => 80,
‘gross’ => 96,
‘linked’ => false
],
‘regulationPrice’ => [
‘currencyId’ => ‘xxx’,
‘net’ => 50,
‘gross’ => 60,
‘linked’ => true
]
],
// … additional currencies
]
This structure mirrors Shopware’s internal format, so your imported data integrates perfectly without additional transformation.
How to Use Multi-Currency Import
You don’t need to change your workflow — just extend your import file to include currency-specific columns.
Example CSV structure:
productSku,DKK.priceNet,DKK.priceGross,USD.priceNet,USD.priceGross
TSHIRT001,100,120,15,18
Then, in your Shopware 6 admin, locate the Improved Import, Export & Mass Actions app and:
- Navigate to Import → Profiles.
- Select or create a Shopware Advanced Prices profile.
- Upload your CSV or connect via URL/FTP.
- The app will automatically detect your currency columns.
- Map custom columns if needed.
- Run the import — and watch as each currency’s prices are processed, calculated, and linked automatically.
That’s it — your multi-currency prices are now ready in Shopware.
Testing Tips for Shopware 6 Multi-Currency Import
Before going live, we recommend verifying the following:
- Import a CSV containing currency-specific columns (e.g., DKK.priceNet, EUR.priceGross).
- Test tax calculation by omitting one price (net or gross).
- Try custom mappings (e.g., “MyPrice” → “DKK.priceNet“).
- Import multiple currencies in one file.
- Include list and regulation prices to ensure proper nesting.
- Check that “linked” attributes display correctly in Shopware.
- Confirm your system currency still behaves as before — full backward compatibility is maintained.
Why This Update Changes Shopware 6 Advanced Pricing Management
This upgrade transforms advanced pricing management from a manual, repetitive task into a fully automated multi-currency engine. Whether you’re managing 3 currencies or 30, our app now scales with your business — dynamically generating fields, handling conversions, and respecting tax logic.
For merchants, that means less setup time and more pricing accuracy. For developers, it means clean registry access, dynamic field generation, and complete Shopware-compliant payloads — no workarounds required.
Final Thoughts: Shopware 6 Multi-Currency Advanced Price Import
With multi-currency advanced price import, global pricing in Shopware is no longer a challenge. Every aspect — from tax handling to field mapping — happens automatically, giving you confidence that every customer sees the right price in their local currency.
It’s a major step toward a more flexible, international-ready import system — one that grows with your store and simplifies your global operations.
👉 Update your app today and experience seamless Shopware multi-currency import support for advanced prices. Your global customers (and your data team) will thank you.
- 🔧 Get the Improved Import & Export Tool for Shopware 6
- 💬 Contact our team for expert support and personalized import strategies
- 📘 Read our full guide on importing Shopware 6 advanced prices as a standalone entity — ideal if you’re managing prices outside the main product update







