Externe ID (Odoo): Datensätze beim Import zuordnen
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.befür Belgien (Modul und App).
Das Einspielen beschreibt Daten in Odoo importieren, den umgekehrten Weg Daten aus Odoo exportieren.