> ## Documentation Index
> Fetch the complete documentation index at: https://help.polygon-one.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Importfehler (PPWR)

> Jede Fehlermeldung des PPWR-Imports im Wortlaut — Ursache und Behebung

## So lesen Sie das Import-Ergebnis

Ein PPWR-Import scheitert fast nie als Ganzes. Nach dem Import zeigt der Dialog **Import-Ergebnisse** drei Zahlen (importiert, aktualisiert, übersprungen) und darunter eine Tabelle der Fehler mit den Spalten **Kennung**, **Typ** und **Fehler**. Gültige Zeilen werden importiert, auch wenn andere Zeilen scheitern.

<Note>
  Die Fehlertabelle hat **keine** Spalte mit der Zeilennummer. In **Kennung** steht der Schlüssel der Zeile (Code, Referenz oder das Paar aus beiden); nur wenn dieser fehlt, tritt die Zeilennummer an seine Stelle. Suchen Sie die betroffene Zeile in Ihrer Datei also über die Kennung.
</Note>

Eine Ausnahme sind **Dateifehler**: Kann die Datei überhaupt nicht gelesen werden, wird gar nichts importiert (siehe [Fehler an der ganzen Datei](#fehler-an-der-ganzen-datei)).

<Note>
  Suchen Sie die Meldung, die bei Ihnen steht, mit der Suche oben (`Strg`/`Cmd` + `K`) — jede Meldung steht auf dieser Seite im Wortlaut.
</Note>

## Pflichtfelder fehlen

### Code ist erforderlich

> Code ist erforderlich

**Wann passiert das?** Im **Komponenten-Import** ist die Spalte **Code** leer (oder enthält nur Leerzeichen). Derselbe Fehler tritt bei der Verpackungsstückliste über die API auf, wenn das Feld `componentCode` fehlt oder leer ist.

**So beheben Sie es:** Tragen Sie in jeder Zeile einen Code ein. Der Code ist — im Komponenten-Import zusammen mit der Spalte **Lieferant** — der Abgleichschlüssel der Komponente; ohne ihn kann der Import nicht entscheiden, ob eine Komponente neu angelegt oder aktualisiert wird. Steht der Wert in Ihrer Datei in einer anders benannten Spalte, ordnen Sie die Spalte einmalig unter **Einstellungen → CSV-Importe** zu.

### Name ist erforderlich

> Name ist erforderlich

**Wann passiert das?** Die Spalte **Name** ist leer — im **Einheiten-Import** oder im **Komponenten-Import**.

**So beheben Sie es:** Ergänzen Sie den Namen. Er ist die Bezeichnung, unter der die Einheit bzw. Komponente in den Listen erscheint, und ist in beiden Importen Pflicht.

### Referenz ist erforderlich

> Referenz ist erforderlich

**Wann passiert das?** Die Referenz einer **bestehenden** Verpackungseinheit fehlt, auf die sich die Zeile beziehen soll: im Import **Artikelverknüpfungen** die Spalte **Einheit-Referenz**, in der Verpackungsstückliste über die API das Feld `specInternalRef`.

**So beheben Sie es:** Ergänzen Sie die interne Referenz der Verpackungseinheit. Sie ist der Abgleichschlüssel der Einheit — anders als beim Komponenten-Code spielt der Lieferant dabei keine Rolle. Die Referenzen finden Sie in der Liste **Verpackungseinheiten** bzw. deren Export.

<Note>
  **Im Einheiten-Import gibt es diesen Fehler nicht mehr.** Dort ist die Spalte **Referenz** optional: Bleibt sie leer, legt der Import eine **neue** Einheit an und vergibt automatisch eine Referenz (`PU-1`, `PU-2`, …). Das bedeutet aber auch, dass ein erneuter Import derselben referenzlosen Zeilen **Duplikate** erzeugt — Details unter [Die Referenz weglassen](/de/ppwr/stammdaten/import#die-referenz-weglassen).
</Note>

### Beschreibung und vorgesehener Verwendungszweck ist erforderlich

> Beschreibung und vorgesehener Verwendungszweck ist erforderlich

**Wann passiert das?** Im **Einheiten-Import** ist die Spalte **Beschreibung & Verwendungszweck** leer.

**So beheben Sie es:** Beschreiben Sie kurz, was die Verpackung ist und wofür sie verwendet wird. Das Feld ist Pflicht, weil die PPWR-Konformitätserklärung den vorgesehenen Verwendungszweck nennen muss — der Import kann es deshalb nicht leer lassen. In älteren Dateien heißt die Spalte noch **Notes** bzw. **Notizen**; diese Überschrift wird weiterhin akzeptiert.

### Mindestens ein Material ist erforderlich

> Mindestens ein Material ist erforderlich

**Wann passiert das?** Im **Komponenten-Import** ist die Spalte **Materialien** **leer** — also leer, nur Leerzeichen oder nur Trennzeichen (`;`, `,`).

**So beheben Sie es:** Tragen Sie mindestens ein Material ein. Zulässig sind `plastic`, `paper_board`, `glass`, `metal`, `wood`, `composite` und `other` sowie deren deutsche Bezeichnungen. Mehrere Materialien trennen Sie mit `;` oder `,`.

<Note>
  Steht in der Spalte ein Wert, den der Import **nicht kennt** (z. B. `Kunstoff`), erscheint nicht diese Meldung, sondern **„Ungültiger Wert. Zulässige Werte: …"** — siehe [unten](#ungültiger-wert-zulässige-werte).
</Note>

### Artikelnummer ist erforderlich

> Artikelnummer ist erforderlich

**Wann passiert das?** Im Import **Artikelverknüpfungen** ist die Spalte **Artikelnummer** leer.

**So beheben Sie es:** Tragen Sie die **interne Artikelnummer** des Artikels ein, mit dem die Einheit verknüpft werden soll. Der Artikel muss bereits angelegt sein — dieser Import legt keine Artikel an.

## Ungültige Werte

### Ungültiger Wert. Zulässige Werte: …

> Ungültiger Wert. Zulässige Werte: `{values}`. Verwende einen Wert aus der Importvorlage oder konfiguriere eine Wertzuordnung unter Einstellungen → CSV-Importe.

**Wann passiert das?** Eine **codierte Spalte** enthält einen Wert, den der Import nicht kennt. Betroffen sind **Verpackungstyp**, **Rolle**, **Recyclingfähigkeitsklasse**, **Materialien**, **Polymer**, **Rezyklatquelle**, **Rezyklatnachweis**, **Nachweisgrundlage Schwermetalle** und **Nachweisgrundlage PFAS**. Die Meldung listet die zulässigen Werte immer mit auf.

Akzeptiert werden je Wert zwei Schreibweisen: der **Code** (`plastic`) und die **Bezeichnung** in Ihrer Anmeldesprache (`Kunststoff`). Groß-/Kleinschreibung und umschließende Leerzeichen sind egal; die Bezeichnung muss aber exakt stimmen — `Kunstoff` oder `Papier` statt `Papier / Karton` scheitern.

**So beheben Sie es:** Zwei Wege:

1. **Datei korrigieren** — den Wert durch einen der in der Meldung genannten Werte ersetzen.
2. **Wertzuordnung anlegen** (nur beim Datei-Import) — wenn Ihre Datei dauerhaft eigene Schreibweisen führt (z. B. `PE-Folie` oder ein ERP-Kürzel wie `KST`): **Einstellungen → CSV-Importe** öffnen, den Tab **Verpackungseinheiten** bzw. **Komponenten** wählen, unter der Spalte **Eigene Wertzuordnungen** aufklappen und Ihre Schreibweise im Feld des passenden Werts eintragen. Die Zuordnung gilt ab dem nächsten Import für alle Dateien. Details unter [Eigene Wertzuordnungen](/de/ppwr/stammdaten/import#eigene-wertzuordnungen).

<Note>
  **Über die API gilt das nicht.** Weder Ihre Wertzuordnungen noch die deutschen Bezeichnungen werden dort ausgewertet — `Kunststoff` wird abgelehnt. Senden Sie über die API immer den **Code** (`plastic`).

  Bei den mitgelieferten Bezeichnungen mit Klammerzusatz funktioniert im Datei-Import beides: mit und ohne den Teil in Klammern (`Post-Consumer` ebenso wie `Post-Consumer (PCR)`).
</Note>

<Warning>
  Die Wertzuordnung hilft **nur** bei dieser Meldung. Für Fehler bei der Zuordnung von Datensätzen — **Mehrdeutiger Komponenten-Code**, **Keine Komponente mit diesem Code**, **Keine Verpackungseinheit mit dieser Referenz** — gibt es keine Wertzuordnung; dort zählt der Code bzw. die Referenz zeichengenau.
</Warning>

### Ungültiger Ja/Nein-Wert

> Ungültiger Ja/Nein-Wert. Verwende ja/nein, wahr/falsch, 1/0 oder x.

**Wann passiert das?** Eine Ja/Nein-Spalte enthält etwas anderes als eine der bekannten Schreibweisen — betroffen sind **Eigenmarke**, **Ändert Konformität**, **Kontaktsensibel**, **Lebensmittelkontakt** und **PFAS-konform**.

**So beheben Sie es:** Verwenden Sie `ja`/`nein`, `yes`/`no`, `true`/`false`, `wahr`/`falsch`, `1`/`0`, `y`/`n` oder `x` (für „ja"). Eine **leere** Zelle ist kein Fehler: Sie bedeutet **nein** — bei **PFAS-konform** dagegen **unbekannt**.

### Muss eine nicht-negative Zahl sein

> Muss eine nicht-negative Zahl sein

**Wann passiert das?** Ein Zahlenfeld enthält keinen Zahlenwert oder eine negative Zahl. Betroffen sind **Breite (mm)**, **Höhe (mm)**, **Tiefe (mm)**, **Masse (g)**, **Schwermetalle (mg/kg)**, **PFAS-Summe (ppb)** und **Gesamtfluor (mg/kg)**.

**So beheben Sie es:** Tragen Sie eine Zahl ≥ 0 ein oder lassen Sie die Zelle leer — leer ist erlaubt und bedeutet „nicht angegeben". Häufige Ursachen: eine mit importierte Einheit (`12 g` statt `12`) oder ein Text wie `k.A.`.

Zum Dezimaltrennzeichen:

* **Excel** (`.xlsx`, `.xls`) — eine als **Zahl** formatierte Zelle funktioniert immer, unabhängig davon, wie sie angezeigt wird. Eine als **Text** formatierte Zelle mit `12,5` scheitert dagegen; formatieren Sie die Spalte in dem Fall als Zahl.
* **CSV mit Semikolon** — das Dezimalkomma wird erkannt (`12,5`). Vorausgesetzt, die Kopfzeile enthält kein weiteres Trennzeichen (Komma, Tabulator oder `|`) — sonst wird das Semikolon nicht als Spaltentrennzeichen erkannt.
* **CSV mit Komma** — hier muss der Punkt stehen (`12.5`).

### GTIN muss 8, 12, 13 oder 14 Ziffern haben

> GTIN muss 8, 12, 13 oder 14 Ziffern haben

**Wann passiert das?** Im **Einheiten-Import** hat die Spalte **GTIN** eine andere Länge oder enthält andere Zeichen als Ziffern.

**So beheben Sie es:** Tragen Sie die GTIN als reine Ziffernfolge mit 8, 12, 13 oder 14 Stellen ein — ohne Bindestriche und ohne Leerzeichen. Leer lassen ist erlaubt. Achten Sie in Excel darauf, dass die Spalte als **Text** formatiert ist: Zahlenformatierung schneidet führende Nullen ab und macht aus langen GTINs eine Exponentialschreibweise.

### Marktmitgliedstaaten müssen 2-stellige ISO-Codes sein

> Marktmitgliedstaaten müssen 2-stellige ISO-Codes sein

**Wann passiert das?** Im **Einheiten-Import** enthält die Spalte **Marktmitgliedstaaten** einen Eintrag, der kein zweibuchstabiger Ländercode ist — z. B. `Deutschland` statt `DE`.

**So beheben Sie es:** Verwenden Sie zweibuchstabige ISO-Ländercodes und trennen Sie mehrere mit `;` oder `,` (z. B. `DE;FR;AT`). Groß-/Kleinschreibung ist egal. Eine **leere** Spalte ist kein Fehler — sie importiert als leere Liste und wird **nicht** aus Ihrer PPWR-Standardeinstellung nachgefüllt.

### Rezyklatanteil muss zwischen 0 und 100 % liegen

> Rezyklatanteil muss zwischen 0 und 100 % liegen

**Wann passiert das?** Im **Komponenten-Import** liegt **Rezyklatanteil (%)** außerhalb von 0–100 oder ist keine Zahl. Häufige Ursache: der Anteil steht als Bruchteil (`0,3`) statt als Prozentwert (`30`) — das ist zwar kein Fehler, aber fast immer ein Datenfehler.

**So beheben Sie es:** Tragen Sie den Prozentwert als Zahl zwischen 0 und 100 ein, ohne `%`-Zeichen. Leer lassen ist erlaubt.

### Menge muss eine ganze Zahl ≥ 1 sein

> Menge muss eine ganze Zahl ≥ 1 sein

**Wann passiert das?** In der Verpackungsstückliste über die API ist das Feld `quantity` 0 oder negativ.

**So beheben Sie es:** Tragen Sie eine ganze Zahl ≥ 1 ein — sie gibt an, wie oft die Komponente in der Einheit vorkommt. Ein **fehlender** Wert ist kein Fehler und bedeutet 1.

<Warning>
  Eine **Kommazahl** (`2.5`) oder ein Text ergibt **nicht** diese Meldung, sondern einen unübersetzten englischen Text wie `Invalid input: expected int, received number`. Gemeint ist dasselbe: Die Menge muss eine ganze Zahl sein.
</Warning>

## Fachliche Regeln für Komponenten

### Rezyklatanteil benötigt Quelle und Methode

> Rezyklatanteil benötigt Quelle und Methode

**Wann passiert das?** **Rezyklatanteil (%)** ist größer als 0, aber **Rezyklatquelle** oder **Rezyklatnachweis** fehlt. Ein Anteil von genau 0 löst den Fehler nicht aus — dann ist kein Nachweis nötig.

**So beheben Sie es:** Füllen Sie beide Spalten: **Rezyklatquelle** (`pcr` = Post-Consumer oder `pir` = Post-Industrial) und **Rezyklatnachweis** (`physical` = Physisch oder `mass_balance` = Massenbilanz). Ohne diese Angaben ist die Rezyklatquote nicht belegt und darf nicht in eine Konformitätserklärung einfließen.

### Lebensmittelkontakt-Komponenten sind auch kontaktsensitiv

> Lebensmittelkontakt-Komponenten sind auch kontaktsensitiv

**Wann passiert das?** **Lebensmittelkontakt** ist auf „ja" gesetzt, **Kontaktsensibel** aber nicht.

**So beheben Sie es:** Setzen Sie **Kontaktsensibel** ebenfalls auf `ja`. Lebensmittelkontakt ist fachlich ein Sonderfall von kontaktsensitiv — die Kombination „Lebensmittelkontakt ja, kontaktsensibel nein" gibt es nicht.

### Ein PFAS-Nachweis gilt nur für Lebensmittelkontakt-Komponenten

> Ein PFAS-Nachweis gilt nur für Lebensmittelkontakt-Komponenten

**Wann passiert das?** Eine PFAS-Spalte ist gefüllt, obwohl **Lebensmittelkontakt** nicht auf „ja" steht. Betroffen sind **PFAS-konform**, **Nachweisgrundlage PFAS**, **Prüfmethode PFAS**, **PFAS-Summe (ppb)** und **Gesamtfluor (mg/kg)**.

**So beheben Sie es:** Entweder **Lebensmittelkontakt** auf `ja` setzen (wenn die Komponente tatsächlich Lebensmittelkontakt hat) — oder die PFAS-Spalten dieser Zeile leeren. Die PFAS-Grenzwerte aus Art. 5 PPWR gelten nur für Lebensmittelkontaktverpackungen; ein PFAS-Wert an einer anderen Komponente wäre eine Aussage ohne Rechtsgrundlage.

<Note>
  **Schwermetalle sind davon nicht betroffen.** **Schwermetalle (mg/kg)** und **Prüfmethode Schwermetalle** gelten für **jede** Komponente und dürfen unabhängig vom Lebensmittelkontakt gefüllt werden.
</Note>

### Nachweisgrundlage fehlt

> Nachweisgrundlage fehlt: Bitte Prüfbericht oder Lieferantenerklärung angeben (für angegebene Art-5-Werte erforderlich)

**Wann passiert das?** Die Zeile gibt einen Art-5-Wert an, ohne die zugehörige Nachweisgrundlage zu nennen. Es gibt genau zwei Auslöser:

* **Schwermetalle (mg/kg)** ist gefüllt, aber **Nachweisgrundlage Schwermetalle** fehlt oder steht auf `not_substantiated`.
* **Lebensmittelkontakt** ist `ja` **und** mindestens eine der Spalten **PFAS-konform**, **PFAS-Summe (ppb)** oder **Gesamtfluor (mg/kg)** ist gefüllt, aber **Nachweisgrundlage PFAS** fehlt oder steht auf `not_substantiated`.

**So beheben Sie es:** Füllen Sie zum jeweiligen Wert die Spalte **Nachweisgrundlage Schwermetalle** bzw. **Nachweisgrundlage PFAS** mit `test_report` (Prüfbericht) oder `supplier_declaration` (Lieferantenerklärung). `not_substantiated` (Nicht belegt) ist keine gültige Grundlage für einen angegebenen Wert. Alternativ lassen Sie den Art-5-Wert in dieser Datei leer und tragen ihn später mit Nachweis nach.

<Note>
  Maßgeblich ist allein, was **in der Importzeile** steht — nicht, was in der Plattform gespeichert ist. Eine Zeile, die nur Name oder Notizen ändert und keinen Art-5-Wert nennt, wird nicht blockiert, auch wenn die bestehende Komponente keine Nachweisgrundlage hat.
</Note>

## Zuordnung und Verknüpfung

### Doppelter Schlüssel in der Datei

> Doppelter Schlüssel in der Datei – erstes Vorkommen importiert, diese Zeile übersprungen

**Wann passiert das?** Derselbe Abgleichschlüssel kommt in **einer** Datei (bzw. in einer API-Anfrage) mehrfach vor:

| Import                      | Schlüssel, der doppelt ist              |
| --------------------------- | --------------------------------------- |
| Einheiten                   | **Referenz**                            |
| Komponenten                 | **Code**                                |
| Artikelverknüpfungen        | **Einheit-Referenz + Artikelnummer**    |
| Verpackungsstückliste (API) | **`specInternalRef` + `componentCode`** |

**So beheben Sie es:** Führen Sie die betroffenen Zeilen in Ihrer Datei zu **einer** Zeile zusammen und importieren Sie erneut. Wichtig: Der Import **führt die Zeilen nicht zusammen** — es gewinnt die erste Zeile, alle weiteren werden übersprungen. Werte, die nur in einer späteren Zeile stehen, gehen dabei verloren.

<Note>
  Beim Komponenten-Import zählt für diesen Fehler der **Code allein** — auch dann, wenn die beiden Zeilen verschiedene Lieferanten nennen. Um dieselbe Code-Nummer für zwei Lieferanten anzulegen, importieren Sie die zweite Zeile in einer separaten Datei.
</Note>

### Mehrdeutiger Komponenten-Code

> Mehrdeutiger Komponenten-Code – passt auf mehrere Komponenten; Spalte „Lieferant“ zur Eindeutigkeit ergänzen

**Wann passiert das?** Der Komponenten-Code trifft nicht eindeutig eine Komponente. Es gibt zwei verschiedene Auslöser:

* **Im Komponenten-Import:** Die Zeile nennt **keinen** Lieferanten (oder einen, der nicht auflöst), und der Code existiert bereits im Bestand **eines Lieferanten**. Der Import legt dann weder eine zweite Komponente in Ihrem eigenen Bestand an, noch aktualisiert er die Lieferantenkomponente auf gut Glück — die Zeile bricht ohne Schreibvorgang ab.
* **In der Verpackungsstückliste über die API:** Der Code passt auf **zwei oder mehr** Ihrer Komponenten. Diese Schnittstelle kennt kein Lieferantenfeld, also gibt es nichts zum Unterscheiden.

**So beheben Sie es:** Ergänzen Sie im **Komponenten-Import** die Spalte **Lieferant** mit dem Namen **genau so, wie er in der Plattform hinterlegt ist** — dann trifft die Zeile eindeutig die Komponente dieses Lieferanten. Soll die Komponente zu Ihrem eigenen Bestand gehören, vergeben Sie stattdessen einen Code, der noch nicht belegt ist.

Für die Verpackungsstückliste über die API gibt es keine Unterscheidungsmöglichkeit in der Datei: Vereindeutigen Sie dort die Codes in der Komponentenliste, oder verknüpfen Sie die betroffene Einheit über die Spalte **Komponenten-Codes** des Einheiten-Imports — beachten Sie dann aber, dass dort **still die zuerst angelegte** Komponente gewinnt.

<Info>
  Welcher Schlüssel an welcher Stelle gilt, steht in der Übersicht [Wie der Import zuordnet](/de/ppwr/stammdaten/import#wie-der-import-zuordnet).
</Info>

### Keine Verpackungseinheit mit dieser Referenz

> Keine Verpackungseinheit mit dieser Referenz

**Wann passiert das?** Die Referenz verweist auf keine aktive Verpackungseinheit — im Import **Artikelverknüpfungen** die Spalte **Einheit-Referenz**, in der Verpackungsstückliste über die API das Feld `specInternalRef`. Auch eine **gelöschte** Einheit zählt als „nicht vorhanden".

**So beheben Sie es:** Legen Sie die Einheit zuerst an — über den **Einheiten-Import** oder manuell — und importieren Sie die Verknüpfungen danach. Prüfen Sie außerdem die Schreibweise: Die Referenz wird zeichengenau verglichen, `EIN-001` ist nicht `ein-001`. Wurde die Einheit gelöscht, stellen Sie sie in der Liste **Verpackungseinheiten** über den Filter für gelöschte Datensätze wieder her.

### Keine Komponente mit diesem Code

> Keine Komponente mit diesem Code

**Wann passiert das?** In der Verpackungsstückliste über die API verweist das Feld `componentCode` auf einen Code, zu dem es keine aktive Komponente gibt.

**So beheben Sie es:** Legen Sie die Komponente zuerst über den **Komponenten-Import** an, dann die Verknüpfung. Dieser Import legt bewusst **keine** Komponenten automatisch an — anders als die Spalte **Komponenten-Codes** im Einheiten-Import, die für einen unbekannten Code eine Platzhalter-Komponente erzeugt.

### Kein Artikel mit dieser Nummer

> Kein Artikel mit dieser Nummer

**Wann passiert das?** Im Import **Artikelverknüpfungen** gibt es zur angegebenen **internen Artikelnummer** keinen aktiven Artikel.

**So beheben Sie es:** Legen Sie den Artikel zuerst an (Liste **Artikel** → **Importieren**) und importieren Sie die Verknüpfungen danach. Die Nummer wird zeichengenau verglichen. Dieser Import legt keine Artikel an.

<Note>
  Die Verknüpfungsspalte **Artikelnummern** im Einheiten-Import verhält sich anders: Dort wird eine unbekannte Nummer **still übersprungen** und erscheint gar nicht im Fehlerbericht.
</Note>

### Interne Referenz bereits vergeben

> Die interne Referenz ist bereits an eine andere Verpackungseinheit vergeben. Bitte eine andere interne Referenz vergeben und erneut importieren.

**Wann passiert das?** Selten. Der Einheiten-Import erkennt eine bereits vorhandene Referenz normalerweise und **aktualisiert** die bestehende Einheit (Upsert). Diese Meldung erscheint nur, wenn die Einheit mit dieser Referenz **zwischen** dem Lesen und dem Schreiben des Imports entstanden ist — typischerweise durch einen parallel arbeitenden Kollegen oder einen zweiten, gleichzeitig laufenden Import.

**So beheben Sie es:** Importieren Sie die Datei einfach erneut — beim zweiten Lauf findet der Import die inzwischen vorhandene Einheit und aktualisiert sie. Sollte die Zeile eine **neue, eigenständige** Einheit anlegen sollen, vergeben Sie eine andere, noch freie Referenz oder lassen Sie die Zelle leer — dann vergibt Polygon One selbst eine freie `PU-n`-Referenz.

### Code bereits vergeben

> Der Code ist bereits an eine andere Komponente desselben Lieferanten vergeben. Bitte einen anderen Code vergeben und erneut importieren.

**Wann passiert das?** Selten. Der Komponenten-Import erkennt einen bereits vorhandenen Code normalerweise und **aktualisiert** die bestehende Komponente (Upsert); doppelte Codes **innerhalb** der Datei werden als [Doppelter Schlüssel in der Datei](#doppelter-schlüssel-in-der-datei) gemeldet. Diese Meldung erscheint nur, wenn die Kollision **zwischen** dem Lesen und dem Schreiben des Imports entsteht — typischerweise durch einen parallel arbeitenden Kollegen oder einen zweiten, gleichzeitig laufenden Import. Auch eine Zeile, die den **Lieferanten** einer bestehenden Komponente ändert, kann so kollidieren: Der Code muss je Lieferant eindeutig sein, und in der Ziel-Gruppe kann er inzwischen belegt sein.

**So beheben Sie es:** Importieren Sie die Datei einfach erneut — beim zweiten Lauf findet der Import die inzwischen vorhandene Komponente und aktualisiert sie. Soll die Zeile eine **neue, eigenständige** Komponente anlegen (oder bei einer Kollision durch Lieferantenwechsel), vergeben Sie einen anderen, noch freien Code. Derselbe Code für **verschiedene** Lieferanten ist erlaubt.

### Komponente konnte nicht mit der Einheit verknüpft werden

> Komponente konnte nicht mit der Einheit verknüpft werden

**Wann passiert das?** Selten. Einheit und Komponente wurden gefunden, das Schreiben der Verknüpfung ist aber fehlgeschlagen — typischerweise, weil einer der beiden Datensätze zwischen dem Lesen und dem Schreiben gelöscht wurde (etwa durch einen parallel arbeitenden Kollegen).

**So beheben Sie es:** Prüfen Sie, ob Einheit und Komponente noch existieren, und importieren Sie die Datei erneut. Bereits angelegte Verknüpfungen werden dabei nicht dupliziert.

## Fehler an der ganzen Datei

Bei diesen Meldungen wird **keine einzige Zeile** importiert. Die Meldung erscheint als Titel mit Erklärungstext, nicht als Zeilenfehler.

### Dateiformat nicht unterstützt

> **Dateiformat nicht unterstützt** — Diese Datei kann nicht importiert werden. Bitte lade eine CSV- oder Excel-Datei (.csv, .xlsx, .xls) hoch.

**Wann passiert das?** Die gewählte Datei hat eine andere Endung als `.csv`, `.xlsx` oder `.xls` — häufig `.numbers`, `.ods`, `.txt` oder `.pdf`.

**So beheben Sie es:** Exportieren bzw. speichern Sie die Datei als CSV oder Excel und laden Sie sie erneut hoch.

### Datei konnte nicht gelesen werden — abweichende Spaltenanzahl

> **Datei konnte nicht gelesen werden** — Die Spaltenanzahl einiger Zeilen weicht von der Kopfzeile ab. Häufigste Ursache: in derselben Datei werden gemischte Trennzeichen (Komma und Semikolon) verwendet. Bitte exportiere die Datei erneut mit einem einheitlichen Trennzeichen und ohne leere Zeilen.

**Wann passiert das?** In einer CSV-Datei haben einzelne Zeilen mehr oder weniger Felder als die Kopfzeile. Die Meldung nennt die betroffenen Zeilennummern.

**So beheben Sie es:** Exportieren Sie die Datei mit **einem** einheitlichen Trennzeichen neu (in Excel: **Speichern unter → CSV**) und entfernen Sie leere Zeilen am Dateiende. Enthält ein Feld selbst das Trennzeichen, muss es in Anführungszeichen stehen. Am robustesten ist der Weg über die **Excel-Vorlage** (`.xlsx`) — dort gibt es kein Trennzeichenproblem.

### Datei konnte nicht gelesen werden — fehlerhafte Anführungszeichen

> **Datei konnte nicht gelesen werden** — In der Datei sind Anführungszeichen fehlerhaft gesetzt, sodass einzelne Felder nicht eindeutig getrennt werden können. Bitte prüfe die markierten Zeilen oder exportiere die Datei erneut.

**Wann passiert das?** In einer CSV-Datei ist ein Anführungszeichen nicht geschlossen oder ein Anführungszeichen im Text ist nicht verdoppelt. Dann „verschluckt" ein Feld den Rest der Zeile.

**So beheben Sie es:** Prüfen Sie die genannten Zeilen. Ein Anführungszeichen **innerhalb** eines Felds muss verdoppelt werden (`"Kunststoff ""PET"""`). Einfacher: die Datei aus Excel neu exportieren — oder gleich die Excel-Vorlage verwenden.

### Datei konnte nicht gelesen werden — Datei nicht verarbeitbar

> **Datei konnte nicht gelesen werden** — Die Datei konnte nicht verarbeitet werden. Bitte stelle sicher, dass es sich um eine gültige CSV- oder Excel-Datei handelt, und exportiere sie ggf. erneut.

**Wann passiert das?** Die Datei hat zwar die richtige Endung, ließ sich aber nicht öffnen — z. B. weil sie beschädigt, passwortgeschützt oder in Wahrheit ein anderes Format mit umbenannter Endung ist.

**So beheben Sie es:** Öffnen Sie die Datei in Excel, entfernen Sie einen eventuellen Passwortschutz und speichern Sie sie erneut als `.xlsx` oder `.csv`.

<Note>
  Es gibt weitere Dateifehler zu **GeoJSON**-Dateien („Ungültige GeoJSON-Datei", „Kein gültiges GeoJSON", „Geometrietyp nicht unterstützt", „Keine Parzellen gefunden", „Geometrie fehlt", „Koordinaten außerhalb des gültigen Bereichs"). Diese treten ausschließlich beim **GeoJSON-Upload im Datenformular Ihrer Lieferanten** (EUDR-Modul) auf, nicht im PPWR-Import — sie sind unter [Importfehler (EUDR)](/de/eudr/datenhaltung/import-fehler) beschrieben.
</Note>

## Hinweise oberhalb der Fehlerliste

Diese beiden Meldungen sind **keine** Dateifehler: Die Datei wurde gelesen und der Import ist gelaufen. Sie stehen im Ergebnisdialog **über** der Fehlertabelle und nennen die wahrscheinliche gemeinsame Ursache vieler Zeilenfehler.

### Pflichtspalten nicht gefunden

> **Pflichtspalten nicht gefunden** — Folgende Pflichtspalten fehlen in deiner Datei: `{columns}`. Füge sie mit genau diesen Spaltenüberschriften hinzu (siehe Vorlage) oder ordne deine vorhandenen Spalten unter Einstellungen → CSV-Importe zu.

**Wann passiert das?** Die Datei ist lesbar, aber der Import findet eine oder mehrere Pflichtspalten nicht — meist, weil die Überschriften anders lauten als in der Vorlage (Sprache, Zusätze, Tippfehler) oder weil über der Kopfzeile noch Titelzeilen stehen. Weil die Spalte fehlt, ist ihr Wert in **jeder** Zeile leer; darunter stehen deshalb meist lauter Meldungen wie **„Code ist erforderlich"**. Der eigentliche Fehler ist die Spalte, nicht die Zeile.

**So beheben Sie es:** Entweder die Spaltenüberschriften an die Vorlage angleichen — oder Ihre eigenen Überschriften einmalig unter **Einstellungen → CSV-Importe** im Tab **Verpackungseinheiten** bzw. **Komponenten** zuordnen. Achten Sie darauf, dass die Kopfzeile die **erste** Zeile des Tabellenblatts ist.

### Das sieht nach einer anderen Vorlage aus

> **Das sieht nach einer anderen Vorlage aus** — Die Spaltenüberschriften in dieser Datei passen zur Importvorlage „`{template}`“. Wenn du diese ausgefüllt hast, importiere sie stattdessen dort.

**Wann passiert das?** Die Überschriften Ihrer Datei passen zu einer **anderen** Vorlage als der, in die Sie gerade importieren — z. B. eine ausgefüllte Einheiten-Vorlage im Komponenten-Import. Der Hinweis nennt die erkannte Vorlage beim Namen (**Verpackungseinheiten**, **Komponenten**, **Verpackungsstückliste**, **Verpackungs-Artikelzuordnung**, **Artikel**, **Lieferanten**, **Bestellungen**, **Parzellen**, **Stückliste**).

**So beheben Sie es:** Schließen Sie den Dialog und starten Sie den Import an der Stelle, die zur genannten Vorlage gehört. Einheiten- und Komponenten-Vorlage haben verschiedene Pflichtspalten und sind nicht austauschbar.

## Eine Meldung, die hier nicht steht

Zeigt das Import-Ergebnis einen technisch klingenden englischen Text (etwa einen Datenbank- oder Constraint-Namen), handelt es sich um einen unerwarteten Fehler, für den es keine übersetzte Meldung gibt. Die Meldung wird dann unverändert durchgereicht.

**So beheben Sie es:** Versuchen Sie den Import erneut — viele dieser Fälle sind vorübergehend. Bleibt der Fehler, schicken Sie uns die Meldung im Wortlaut zusammen mit der **Kennung** aus der Fehlertabelle über den Support.

<CardGroup cols={2}>
  <Card title="Wie der Import zuordnet" icon="key" href="/de/ppwr/stammdaten/import#wie-der-import-zuordnet">
    Welcher Abgleichschlüssel an welcher Stelle gilt.
  </Card>

  <Card title="Import (CSV / Excel)" icon="upload" href="/de/ppwr/stammdaten/import">
    Vorlagen, Spalten und zulässige Werte.
  </Card>
</CardGroup>
