---
title: Mehrwährungsfähige Advanced Prices importieren
description: So importieren Sie Advanced Prices für mehrere Währungen in einer einzigen Datei in Shopware 6, inklusive automatischer Felderkennung und Steuerberechnung.
---

Nutzen Sie diese Seite, wenn Ihre Importdatei für Advanced Prices mehr als eine Währung enthält.

Die App unterstützt **mehrwährungsfähige Advanced Prices-Importe** für Shopware. Damit importieren Sie Produktpreise für mehrere Währungen in einer Datei, inklusive automatischer Felderkennung, Steuerberechnung und UI-Integration.

Mit dieser Aktualisierung kann jede in Ihrem Shopware Shop definierte Währung ihren eigenen Preissatz haben, inklusive **Netto-, Brutto-, Listen-** und **Regulierungspreisen**, die dynamisch aus Ihrer Importdatei aufgebaut werden.

## Wichtige Funktionen

### 1. Currencies Registry

Eine neue **Currencies Registry** wurde eingeführt, um Währungsabfragen effizient zu verarbeiten.

**Verfügbare Methoden:**

- `getIdByIsoCode()` - Gibt eine Währungs-ID anhand des ISO-Codes zurück, zum Beispiel EUR -> 1.
- `getIsoCodeById()` - Findet den ISO-Code für eine bestimmte Währungs-ID.
- `getNameByIsoCode()` - Gibt den vollständigen Namen der Währung zurück, zum Beispiel "Dänische Kronen".
- `getAllIsoCodes()` - Listet alle aktiven Währungs-ISO-Codes auf, die in Shopware verfügbar sind.

### 2. Dynamisches Feld-Mapping

Der Mechanismus für **Dynamic Field Mapping** ermöglicht der App, Importfelder für jede verfügbare Währung automatisch zu erzeugen.

**So funktioniert es:**

- Die Feldbenennung folgt diesem Format: `[ISO].[priceType]`
- Beispiel: `DKK.priceNet`, `DKK.priceGross`

**Lesbare Bezeichnungen:** Jedes Feld wird mit einem gut verständlichen Namen angezeigt, zum Beispiel **"priceNet (Dänische Kronen)"**. Dadurch ist es im Import-UI leichter zu erkennen.

**Unterstützte Preistypen:**

- `priceNet`, `priceGross`
- `listPriceNet`, `listPriceGross`
- `regulationPriceNet`, `regulationPriceGross`

### 3. Multi-Currency Price Payload Builder

Ein neuer **price payload builder** übernimmt die Umwandlung von Importdaten in die von Shopware erwartete Struktur.

**Wichtige Funktionen:**

- **Automatische Steuerberechnung:** Wenn nur Netto- oder Bruttopreis angegeben ist, wird der fehlende Wert mit dem Steuersatz des Produkts berechnet.
- **Behandlung des linked-Attributs:**
    - `linked = false` -> Netto- und Bruttopreise wurden beide manuell angegeben.
    - `linked = true` -> Ein Preis wurde automatisch vom System berechnet.
- **Mehrwährungsstruktur:** Für jede Währung werden eigene Preisobjekte erstellt, inklusive verschachtelter `listPrice`- und `regulationPrice`-Werte.

### 4. UI-Integration

Währungsspezifische Preisfelder erscheinen jetzt automatisch in **Step 2** des Importassistenten. Die Felderkennung unterstützt dynamische Farbcodierung: Neue Felder werden hervorgehoben, entfernte Felder ausgegraut. Eigenes Spalten-Mapping wird unterstützt. Beispiel: Sie können `"priceDat"` -> `"DKK.priceNet"` zuordnen.

## Technische Zusammenfassung

| **Funktion** | **Beschreibung** |
| --- | --- |
| **Währungsparsing** | Erkennt Spalten im Format `[ISO].[priceType]`, zum Beispiel `EUR.priceGross`. |
| **Steuerberechnung** | Verwendet das bestehende `getProductTaxRate()` aus der Produkt-Registry, um fehlende Werte zu berechnen. |
| **linked-Attributlogik** | Spiegelt das Shopware Systemverhalten: `linked=false`, wenn beide Preise angegeben sind; sonst `linked=true`. |
| **Datenstruktur** | Baut vollständig Shopware-konforme verschachtelte Preisarrays mit Unterstützung für `listPrice` und `regulationPrice` pro Währung. |

## Testempfehlungen

Um korrektes Verhalten sicherzustellen, empfehlen wir diese Prüfungen:

1. **Mit währungsspezifischen Spalten testen.** Beispiel: `DKK.priceNet, DKK.priceGross, USD.priceNet`.
2. **Steuerberechnung prüfen.** Geben Sie nur einen Preis an, netto oder brutto, und bestätigen Sie, dass der andere automatisch berechnet wird.
3. **Eigenes Spalten-Mapping testen.** Beispiel: `"MyPrice"` -> `"DKK.priceNet"` zuordnen.
4. **Mehrere Währungen testen.** Importieren Sie eine einzelne CSV-Datei mit mehreren Währungen gleichzeitig.
5. **Listen- und Regulierungspreise validieren.** Prüfen Sie, ob verschachtelte Preisfelder für alle Währungen korrekt importiert werden.
6. **linked-Attribut prüfen.** Bestätigen Sie, dass `linked` in Shopware korrekt angezeigt wird, wenn beide Preise oder nur ein Preis importiert wird.
7. **Kompatibilität mit Systemwährung prüfen.** Stellen Sie sicher, dass Ihre Standardwährung weiterhin wie bisher importiert wird.

## Zusammenfassung

Mit automatischer Währungserkennung, dynamischem Feld-Mapping und nativer UI-Integration können Sie Preise für mehrere Währungen in einem einzigen Job importieren, berechnen und verwalten.
