# Mehrere Entitäten mit Beziehungen importieren

Source: https://help.epilot.cloud/de/entitaten/import-export/upload-und-mapping-von-attributen-in-mehrere-entitaten
Last updated: 2026-10-28

Mit dem Dateiimport bringst du zusammenhängende Daten aus einer csv-Datei nach epilot, ohne sie einzeln anzulegen. Eine einzige Datei beschreibt dabei mehrere verknüpfte Datensätze gleichzeitig, und ein Mapping verteilt die Spalten auf die richtigen Entitäten. Das funktioniert für ganz unterschiedliche Anwendungsfälle, wie z.B. Preise + Produkte + Coupons, Bestellungen + Kontakte, oder Anlagen + Kontakte. 

**Das bietet dir der Dateiimport**

* **Eine Datei, mehrere Entitäten:** Zusammengehörende Datensätze, etwa Produkte, Preise und Boni, entstehen gemeinsam und bleiben miteinander verknüpft.

* **Prüfung vor dem Speichern:** epilot liest die Datei, meldet Probleme und erstellt erst, wenn du bestätigst.

* **Wiederverwendbare Zuordnung:** Die Zuordnung beschreibt den Aufbau deiner Datei einmal und lässt sich bei jedem weiteren Import derselben Struktur wiederverwenden.

* **Klare Fehlermeldungen:** Du erfährst, ob du die Datei korrigieren oder erneut hochladen musst.

## Bevor du startest [#bevor-du-startest-0]

Prüfe vor dem ersten Import:

* **Der Aufbau deiner Datei ist stabil.** Der Import gleicht die Spalten deiner Datei gegen die gewählte Zuordnung ab. Wenn dein Quellsystem Spalten umbenennt, passt die Zuordnung nicht mehr.

* **Die Schlüsselspalte ist vorhanden.** Sie identifiziert den Datensatz und verbindet ihn mit dem richtigen Ziel, bei der Preispflege den Preis mit dem Produkt. Ohne sie kann der Import nicht laufen.

## Zuordnung im Integration Hub anlegen [#zuordnung-im-integration-hub-anlegen]

Die Zuordnung legst du einmal im Integration Hub an. Sie ist ein eingehender **Anwendungsfall** einer Integration und beschreibt, welche Spalte deiner Datei in welches Attribut welcher Entität geschrieben wird.

1\. Öffne unter **Integration** die **Integrationszentrale** und wähle deine Integration aus. Hast du noch keine, legst du sie mit **Integration erstellen** an.

2\. Klicke im Bereich **Eingehend*&#x2A; auf &#x2A;*+**, um einen neuen Anwendungsfall zu erstellen.

<Screenshot src="https://help.epilot.cloud/img/confluence/56583aee30-import-zuordnung-01-anwendungsfall-eingehend.webp" alt="import-zuordnung-01-anwendungsfall-eingehend.png" width="1487" height="642" maxWidth="760" />

3\. Gib unter **Allgemein** einen **Ereignisnamen** ein, zum Beispiel preisimport\_neukunden. Mit **Aus Name initialisieren** übernimmst du ihn als **Slug**. Den Slug kannst du später nicht mehr ändern.

4\. Klicke auf **Entität hinzufügen** und trage das **Entitätsschema** ein, zum Beispiel price für Preise.

5\. Lege unter **Eindeutige IDs** das Attribut fest, an dem ein Datensatz wiedererkannt wird, zum Beispiel external\_id. So aktualisiert ein erneuter Import den vorhandenen Datensatz, statt einen neuen anzulegen.

6\. Ordne unter **Feldzuordnungen** jedem Attribut einen Wert zu. Mit **Field** übernimmst du eine Spalte deiner Datei, mit **Constant** einen festen Wert und mit **JSONata** einen berechneten Wert, zum Beispiel aus zwei Spalten.

<Screenshot src="https://help.epilot.cloud/img/confluence/e5527f5e76-import-zuordnung-02-entitaetszuordnung.webp" alt="import-zuordnung-02-entitaetszuordnung.png" width="1600" height="748" maxWidth="760" />

7\. Füge so jede Entität hinzu, die deine Datei schreiben soll, zum Beispiel ein Produkt und seine Preise. Verknüpfungen legst du über Beziehungsattribute an, zum Beispiel price\_options zwischen Produkt und Preis. Das Diagramm zeigt dir alle Entitäten und ihre Verknüpfungen. Mit einem Klick auf eine Entität bearbeitest du ihre Feldzuordnung.

<Screenshot src="https://help.epilot.cloud/img/confluence/5bce29cc51-import-zuordnung-03-diagramm.webp" alt="import-zuordnung-03-diagramm.png" width="1600" height="1005" maxWidth="760" />

8\. Klicke auf **Anwendungsfall erstellen**. Ab jetzt steht die Zuordnung beim Import zur Auswahl.

## Import starten [#import-starten-1]

Öffne die Liste der relevanten Entität. Für die Preispflege ist das die Liste der **Preise**. Klicke neben **Importieren** auf den Pfeil und wähle **Mit Zuordnung importieren**. Mit **Direkt aus CSV importieren** nutzt du weiterhin den bisherigen CSV-Import.

<Screenshot src="https://help.epilot.cloud/img/confluence/0f154d3b2c-import-zuordnung-04-mit-zuordnung-importieren.webp" alt="import-zuordnung-04-mit-zuordnung-importieren.png" width="1012" height="366" maxWidth="760" />

## Datei hochladen und Zuordnung wählen [#datei-hochladen-und-zuordnung-wählen]

Lade im Fenster **Datei importieren** deine CSV-Datei hoch. epilot schlägt dir anhand der Spalten deiner Datei eine passende Zuordnung vor und zeigt, wie viele Spalten sie abdeckt, zum Beispiel **Alle 8 Spalten zugeordnet**. Passt der Vorschlag nicht, wählst du über **Andere Zuordnung wählen** eine andere aus. Weil die Zuordnung gespeichert ist, nutzt du sie bei jedem weiteren Import derselben Dateistruktur einfach wieder.

<Screenshot src="https://help.epilot.cloud/img/confluence/14c83affd8-import-zuordnung-05-datei-und-zuordnung.webp" alt="import-zuordnung-05-datei-und-zuordnung.png" width="1600" height="805" maxWidth="760" />

Klicke auf **Diese Datei prüfen**. epilot gleicht zuerst die Spalten gegen die Zuordnung ab, bevor eine Zeile verarbeitet wird. Probleme im Aufbau fallen dadurch sofort auf und nicht erst nach tausenden Zeilen.

## Prüfen und bestätigen [#prfen-und-besttigen-4]

Nach der Prüfung zeigt dir epilot unter **Erste Zeilen anzeigen** eine Vorschau deiner Datei.

<Screenshot src="https://help.epilot.cloud/img/confluence/2ae01988fb-import-zuordnung-06-vorschau.webp" alt="import-zuordnung-06-vorschau.png" width="1600" height="637" maxWidth="760" />

Darunter siehst du, wie viele **Zeilen** erkannt wurden und ob es **Fehler** oder **Warnungen** gibt. Unter **Was diese Datei schreibt** steht, wie viele Datensätze je Entität angelegt oder aktualisiert werden.

<Screenshot src="https://help.epilot.cloud/img/confluence/bdda7f2ed7-import-zuordnung-07-pruefergebnis.webp" alt="import-zuordnung-07-pruefergebnis.png" width="1600" height="839" maxWidth="760" />

**Es wird nichts gespeichert, bevor du bestätigst.** Gibt es Warnungen, setzt du den Haken bei **Ich habe die Warnungen gelesen und möchte trotzdem importieren**. Danach startest du den Import mit **Zeilen importieren**. Stimmt die Zeilenzahl nicht mit deiner Erwartung überein, ist das der beste Zeitpunkt, die Datei noch einmal anzusehen.

## Fehler und Warnungen [#fehler-und-warnungen-5]

Der Import unterscheidet zwischen Problemen, die den Vorgang stoppen, und solchen, die du bewusst übergehen kannst.

| Meldung                    | Was passiert                                                                                       | Was zu tun ist                                                             |
| -------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| **Schlüsselspalte fehlt**  | Der Import wird blockiert. Die Meldung nennt die betroffene Spalte.                                | Spalte in der Datei ergänzen oder korrekt benennen, dann erneut hochladen. |
| **Weitere Spalten fehlen** | Es erscheint eine Warnung; der Import muss ausdrücklich bestätigt werden.                          | Prüfen, ob die fehlenden Felder verzichtbar sind, und bewusst entscheiden. |
| **Datei nicht lesbar**     | Die Meldung nennt die Ursache: falsche Zeichenkodierung, eine defekte Zeile oder eine leere Datei. | Datei im Quellsystem neu exportieren und erneut hochladen.                 |

Jede Fehlermeldung nennt einen konkreten Grund. Daraus ergibt sich, ob du die Datei korrigierst, sie erneut hochlädst oder deine Admins hinzuziehst.

## Anwendungsfälle [#anwendungsflle-6]

Derselbe Mechanismus deckt mehrere Szenarien ab. Der Unterschied liegt allein in der Zuordnung, die du beim Import auswählst. Die beiden häufigsten stellen wir hier vor, weitere folgen demselben Muster.

| Anwendungsfall                                        | Eine Datei beschreibt                                                         | Daraus entstehen                                            |
| ----------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------- |
| **Preispflege**                                       | Produkte, Preise und Boni, oft über tausende Zeilen und viele Postleitzahlen  | Produkte, Preise und Coupons, korrekt miteinander verknüpft |
| **Bestellungen aus Vergleichsplatformen importieren** | Bestellungen, die dein ERP nicht direkt entgegennehmen kann                   | Aufträge und Kontakte, miteinander verknüpft                |
| **Anlagenmanagement**                                 | Anlagen und z.B. dazugehörige Kontakte und/oder Verträge mit ihren Stammdaten | Anlagen und Kontakte                                        |

## Bedingte Preise importieren [#bedingte-preise-importieren]

Nutzt du bedingte Preise, erstellt der Import aus deiner Preisdatei direkt die passenden Varianten. Zeilen, die sich nur in den Bedingungsspalten unterscheiden, etwa im Liefergebiet, werden zu Varianten desselben Preises.

Darauf achtest du in der Zuordnung:

* **Bedingungsspalten zuordnen:** Jede Bedingung des Preises braucht eine Spalte in der Datei, zum Beispiel Postleitzahl und Ort für das Liefergebiet.

* **Gültig ab zuordnen:** Ohne dieses Datum gelten die Werte sofort. Der Import warnt dich vorher, wenn das Datum fehlt.

* **Nur überschreibbare Attribute:** Eine Variante kann nur Attribute überschreiben, die im Entity Builder unter **Pro Variante überschreibbar** freigegeben sind. Die Prüfung nennt dir das Attribut und die Spalte, wenn das nicht passt.

Bei großen Dateien mit vielen Varianten dauert die Verarbeitung etwas länger. Der Import zeigt dir den Fortschritt und meldet sich erst als verarbeitet, wenn alle Varianten gespeichert sind.

In der Zuordnung erkennst du bedingte Preise am Bereich **Bedingte Varianten**. Unter **Variantenschlüssel** siehst du, welche Attribute eine Variante bestimmen, zum Beispiel das Liefergebiet (grid\_area) und das Datum Gültig ab (valid\_from). Mehrere Zeilen derselben Variante, zum Beispiel Preisstufen nach Verbrauch, fasst du mit **Array aus Zeilen** zu einem Preis zusammen.

<Screenshot src="https://help.epilot.cloud/img/confluence/09f8c8bf0e-import-zuordnung-08-bedingte-varianten.webp" alt="import-zuordnung-08-bedingte-varianten.png" width="1600" height="1018" maxWidth="760" />

###  

## Ausblick: Export in dein Wunschformat [#ausblick-export-in-dein-wunschformat-8]

Im nächsten Schritt kommt die Gegenrichtung dazu: Du wirst deine Daten aus epilot auch wieder **exportieren** können, und zwar in dem **Format, das das Zielsystem erwartet**, und &#x2A;*aus mehreren Entitäten in epilot.**

Damit lassen sich Preise, die du in epilot pflegst, an andere Systeme weitergeben, etwa an Vergleichsplattformen oder an dein ERP. 

<Callout type="info">
  **Geschlossene Beta Phase**

  Dieses Feature befindet sich derzeit in der geschlossenen Beta-Phase. Um es nutzen und testen zu können, kontaktiere bitte deine epilot AnsprechpartnerIn. Das bedeutet, dass das Feature noch nicht vollumfänglich entwickelt und stabil ist. Diese erste Version des Features kann noch vereinzelte Schwächen aufweisen. Wir arbeiten kontinuierlich daran, das Feature zu optimieren und neue Funktionen hinzuzufügen.
</Callout>
