DE · AT · CHGlossar

Externe ID (Odoo): Datensätze beim Import zuordnen

Aktualisiert:

Gilt für: Odoo 20.0; Community und Enterprise; Odoo Online, Odoo.sh und On-Premise; Import- und Exportfunktion, keine Lokalisierungsabhängigkeit

Kurz gesagt

Die externe ID ist in Odoo eine Kennung für einen einzelnen Datensatz, über die der Import eine Zeile einem vorhandenen Datensatz zuordnet: Eine bereits bekannte Externe ID oder Datenbank-ID ändert diesen Datensatz, statt einen neuen anzulegen; einen neuen legt der Import an, wenn keine bereits bekannte Kennung passt, also über eine neue Externe ID oder auch ganz ohne Externe ID, deren Angabe beim Import freiwillig ist. Sie steht in der Datei in der Spalte Externe ID (ID); stammen kann sie aus einem Altsystem, aus dem Datenfile eines Moduls oder aus der Importdatei selbst. Angaben nach Dokumentation 20.0, ohne Abweichung nach Edition oder Hosting.

Das Wichtigste

  • Externe ID: eindeutige Kennung eines einzelnen Datensatzes in der Spalte Externe ID (ID); sie kann aus einem Altsystem, aus dem Datenfile eines Moduls oder aus der Importdatei selbst stammen.
  • Für die Zuordnung entscheidet die Kennung: eine bereits bekannte Externe ID oder Datenbank-ID ändert den vorhandenen Datensatz; passt keine bekannte Kennung, legt der Import einen neuen an, auch ohne Externe ID, deren Angabe beim Import freiwillig ist.
  • Nicht die Datenbank-ID: die interne Odoo-ID aus der Spalte ID PostgreSQL gehört zu einem Datensatz, den es in dieser Datenbank schon gibt; bei ihr kommt es nach der Dokumentation nie zu einem Konflikt, einen neuen Datensatz legt sie nicht an.
  • Die Externe ID muss über alle Datensätze aller Objekte eindeutig sein; zwei Datensätze mit derselben Externen ID sind ein Konflikt, empfohlen ist ein Präfix aus App- oder Tabellenname.
  • Kennungen aus den Datenfiles installierter Module werden mit dem Modulnamen davor angegeben, etwa base.be für das Land Belgien.
  • Gilt für Odoo 20.0 (Release September 2026); die geöffneten Dokumentationsseiten trennen nicht nach Edition und Hosting.

Externe ID ist in Odoo eine Kennung für einen einzelnen Datensatz. An ihr entscheidet der Import, was mit einer Zeile geschieht: Eine bereits bekannte Kennung ändert den vorhandenen Datensatz; einen neuen legt der Import an, wenn keine bekannte Kennung passt, also über eine neue Externe ID oder auch ganz ohne Externe ID, deren Angabe beim Import freiwillig ist. Sie kann aus einem Altsystem, aus dem Datenfile eines Moduls oder aus Ihrer eigenen Importdatei stammen. Die Datenbank-ID (Spalte ID PostgreSQL) ist dagegen die Nummer, die derselbe Datensatz in dieser Odoo-Datenbank trägt.

Wozu die Spalte dient

Die Dokumentation 20.0 nennt zwei Zwecke: dieselbe Datei mehrfach einspielen, ohne Duplikate zu erzeugen, und Beziehungsfelder importieren. Eine Externe ID ist beim Import freiwillig; nennt eine Zeile weder eine Externe ID noch die Datenbank-ID eines vorhandenen Datensatzes, kann Odoo sie keinem bestehenden Datensatz zuordnen und legt dann einen neuen an. Eindeutig sein muss die Externe ID über alle Datensätze aller Objekte; die Dokumentation empfiehlt dafür ein Präfix aus App- oder Tabellenname (Beispiel: unternehmen_1). Verweise laufen über Spalten der Form Feld/Externe ID, etwa Land/Externe ID mit dem Wert base.be für Belgien.

Spalte in der Importdatei Beispielwert Bedeutung
Externe ID kunde_1001 Kennung des Datensatzes; ist sie bereits bekannt, ändert Odoo diesen Datensatz statt einen neuen anzulegen
Datenbank-ID (ID PostgreSQL) 21 interne Nummer desselben Datensatzes in dieser Odoo-Datenbank; sie gibt es nur für einen Datensatz, den die Datenbank schon enthält
Land/Externe ID base.be Kennung des verknüpften Datensatzes, hier des Landes Belgien

Beispiel: zwei Dateien mit Verweis

Zuerst die Kategorien, dann die Artikel: Verweise müssen auf Datensätze zeigen, die schon in der Datenbank stehen.

Externe ID,Name
kat_01,Baustoffe
kat_02,Werkzeug
Externe ID,Name,Kategorie/Externe ID
art_1001,Zement 25 kg,kat_01
art_1002,Akkuschrauber 18 V,kat_02

Ändern Sie später in der zweiten Datei nur einen Namen und importieren erneut, findet Odoo den Artikel über art_1002 und schreibt ihn um. Trägt eine Zeile keine bereits bekannte Kennung – etwa weil die Spalte Externe ID fehlt und auch keine Datenbank-ID angegeben ist –, legt der Import einen weiteren Datensatz an; die Dokumentation rät deshalb, die Spalte Externe ID in einer Importvorlage nicht zu entfernen.

Grundlage und Geltung

Der Begriff beschreibt eine Funktion des Datenimports. Grundlage der Beschreibung ist die Dokumentation 20.0 der Odoo S.A. für die Version 20 (veröffentlicht September 2026); eine steuerliche oder handelsrechtliche Vorschrift dazu geht aus den geöffneten Quellen nicht hervor. Die geöffnete Seite nennt keine Abweichung nach Land, Edition oder Hosting; im XML-Datenfile eines Moduls trägt das Feld id dieselbe Art Kennung.

Nicht zu verwechseln mit

  • Datenbank-ID: die interne Nummer dieses Datensatzes in dieser Odoo-Datenbank; sie gehört zu einem Datensatz, den die Datenbank schon enthält, und legt keinen neuen an. Die Dokumentation nennt sie selten und vor allem für Entwickler, weil es bei ihr nie zu einem Konflikt kommt.
  • Feld/Externe ID: die Kennung des verknüpften Datensatzes, nicht die des importierten.
  • Modulkennung: Datensätze aus den Datenfiles installierter Module bringen ihre Kennung mit, etwa base.be für Belgien (Modul und App).

Das Einspielen beschreibt Daten in Odoo importieren, den umgekehrten Weg Daten aus Odoo exportieren.

Häufige Fragen

Woran erkenne ich, ob ein Import aktualisiert oder neu anlegt?

An der Kennung: Enthält die Datei eine bereits bekannte Externe ID oder die Datenbank-ID eines vorhandenen Datensatzes, ändert Odoo diesen Datensatz; einen neuen legt der Import an, wenn keine bekannte Kennung passt, also über eine neue Externe ID oder auch ganz ohne Externe ID. Was ein Import geändert hat, zeigen die Filter Erstellt am und Letzte Änderung; rückgängig machen lässt sich ein Import nicht.

Darf ich die externe ID später ändern?

Nur mit Risiko. Die Dokumentation 20.0 warnt, dass Odoo den Datensatz über diese Kennung identifiziert: Wird eine bereits bekannte Externe ID in der Datei geändert oder entfernt, kann das System einen doppelten Datensatz anlegen, statt den vorhandenen zu aktualisieren. Kennungen aus dem Altsystem halten Sie deshalb in jeder Exportdatei unverändert.

Kann eine externe ID mit einer Kennung aus einem Modul kollidieren?

Nur wenn beide Zeichenfolgen gleich lauten. Odoo verlangt eine Externe ID, die über alle Datensätze aller Objekte eindeutig ist, und empfiehlt deshalb ein Präfix aus App- oder Tabellenname. Kennungen aus den Datenfiles installierter Module sind ebenfalls Externe IDs, etwa base.be für Belgien.

Quellen

  1. Daten exportieren und importieren (Dokumentation 20.0, deutsch)Odoo S.A. · abgerufen am
  2. Data Files (Entwicklerdokumentation 20.0): Attribut id als externe Kennung, ref-Attribut, CSV-Feld idOdoo S.A. · abgerufen am
  3. Export and import data (Dokumentation 20.0, englisch): Spalte Country/External ID mit dem Wert base.beOdoo S.A. · abgerufen am
  4. Define module data (Entwicklerdokumentation 20.0): CSV-Datenfile mit Verweisen der Form module.relatedidOdoo S.A. · abgerufen am
  5. Odoo Release Notes: Version 20, veröffentlicht September 2026Odoo S.A. · abgerufen am