
Jede Odoo-Implementierung erreicht irgendwann denselben Punkt: Die Konfiguration steht, die Benutzer sind geschult, und das Unternehmen braucht seine echten Daten im neuen System. Bei der Datenmigration verlieren viele Projekte Zeit, denn Fehler in Stammdaten oder Eröffnungssalden zeigen sich später als falsche Berichte, doppelte Kontakte und nicht abgestimmte Konten.
Dieser Leitfaden erklärt, wie Sie eine Migration in Odoo 19 Enterprise planen und durchführen – von Stammdaten wie Kunden, Lieferanten, Produkten und dem Kontenplan über die Importfunktion bis hin zu den Eröffnungssalden für Forderungen, Verbindlichkeiten, Hauptbuch und Lagerbestand. Zum Abschluss folgen eine Cut-over-Abfolge und die Prüfungen, mit denen Sie bestätigen, dass Ihre Zahlen stimmen.
Ein Hinweis zu den Quellen: Dieser Artikel folgt der offiziellen Odoo-Dokumentation für Version 19. Menünamen und Optionen können je nach installierten Apps, Lokalisierung und Zugriffsrechten abweichen. Prüfen Sie daher jeden Schritt in einer Testdatenbank, bevor Sie ihn im Live-System anwenden.
Schritt 1: Den Migrationsumfang planen
Legen Sie zunächst fest, was übertragen wird und was als Archiv im Altsystem bleibt. Laut dem Buchhaltungs-Onboarding von Odoo validieren Unternehmen, die neu starten, die steuerliche Lokalisierung, importieren Stammdaten und konfigurieren die Buchhaltungseinstellungen; Unternehmen, die von einer Altsoftware wechseln, importieren zusätzlich Eröffnungsbuchungen.
Der Zeitpunkt des Wechsels ist wichtig. Die Odoo-Dokumentation empfiehlt den Umstieg zum Ende eines Geschäftsjahres, weil so die zu übertragende Datenmenge minimal bleibt, und rät von einem Wechsel mitten in einem Steuerzeitraum ab.
Erstellen Sie ein Migrationsinventar, das für jedes Datenobjekt das Quellsystem, den fachlich Verantwortlichen, das Datensatzvolumen und das Zielmodell in Odoo auflistet. Typische Objekte sind:
- Grundeinstellungen: Währungen, Journale, Steuerpositionen, Steuern und Zahlungsbedingungen
- Stammdaten: Produktkategorien, Produkte, Merkmale und Varianten, Kontakte und deren Bankkonten
- Anpassungen des Kontenplans am Standardkontenplan der Lokalisierung
- Eröffnungssalden: die Summen- und Saldenliste, offene Kundenrechnungen und Gutschriften, offene Lieferantenrechnungen und Rückerstattungen, Bank- und Kassensalden sowie eine Eröffnungsinventur
Vereinbaren Sie frühzeitig, was nicht migriert wird. Historische, abgeschlossene Transaktionen bleiben in der Regel als Referenz im Altsystem. Das hält die Migration schlanker und erleichtert die Abstimmung der Eröffnungsposition.
Schritt 2: Kontenplan und steuerliche Lokalisierung vorbereiten
Das bei der Anlage der Datenbank oder des Unternehmens gewählte Land bestimmt das Paket der steuerlichen Lokalisierung, das einen für dieses Land konfigurierten Standardkontenplan hinzufügt. Sie können das Paket in den Einstellungen der Buchhaltung unter „Steuerliche Lokalisierung“ prüfen.
Behandeln Sie dies als erste Hürde Ihres Plans. Die Dokumentation warnt, dass die steuerliche Lokalisierung nicht mehr geändert werden kann, sobald eine Buchung gebucht wurde. Bestätigen Sie sie daher, bevor Buchhaltungsdaten geladen werden.
Ordnen Sie Ihre Altkonten dem Odoo-Kontenplan zu, statt ihn zu ersetzen. Entspricht ein Odoo-Konto einem Ihrer Konten, bearbeiten Sie dessen Namen oder Nummer. Gibt es keine Entsprechung, legen Sie das Konto manuell an oder importieren es. Kontonummern müssen innerhalb eines Kontenplans eindeutig sein.
Löschen Sie keine Standardkonten und ändern Sie nicht deren Kontotyp, denn Standardkonten und Einstellungen hängen davon ab. Benennen und nummerieren Sie sie stattdessen um. Der Typ jedes Kontos steuert außerdem Berichte und den Jahresabschluss – wählen Sie die Typen für neue Konten daher sorgfältig.

Schritt 3: Stammdaten in der Reihenfolge ihrer Abhängigkeiten laden
Odoo löst Verknüpfungen beim Import auf, daher kann ein Datensatz nur auf bereits vorhandene Datensätze verweisen. Die Onboarding-Dokumentation der Buchhaltung nennt folgende Reihenfolge: Währungen, Journale, Steuerpositionen, Steuern, Zahlungsbedingungen, Produktkategorien, Produkte, Bankkonten der Kontakte und Kontakte.
Importieren Sie bei Produkten zuerst die Produktkategorien, damit die Kategorie jedes Produkts beim Import gesetzt werden kann. Wenn Sie Varianten verwenden, legen Sie die Merkmale vor den Produkten an. Die Importanleitung für Produkte beschreibt ein separates Merkmalsblatt mit Spalten für Merkmal, Anzeigetyp, Variantenerstellungsmodus und Werte.
Gehen Sie mit dem Variantenerstellungsmodus vorsichtig um. Laut Dokumentation lässt er sich nicht mehr ändern, sobald das Merkmal bei mindestens einem Produkt verwendet wurde. Merkmals- und Wertnamen dürfen keine Kommas enthalten, und mehrere Werte werden durch ein Komma ohne Leerzeichen getrennt.
Prüfen Sie bei Kontakten das Forderungskonto, das Verbindlichkeitskonto und die Zahlungsbedingungen, denn sie bestimmen, wie jeder Kunde und Lieferant in der Buchhaltung gebucht wird.
Schritt 4: Importvorlagen und die Importfunktion nutzen
Odoo kann Daten in die meisten Geschäftsobjekte aus Excel- (XLSX) oder CSV-Dateien importieren. Öffnen Sie die Listenansicht des Objekts, klicken Sie auf das Zahnradsymbol für Aktionen und wählen Sie „Datensätze importieren“. Viele Objekte wie Kontakte, Produkte und Buchungen bieten eine herunterladbare Importvorlage mit bereits vorbereiteter Spaltenzuordnung.
Die Arbeit mit einer Vorlage ist der sicherste Weg. Sie können Spalten hinzufügen, entfernen und umsortieren, sollten aber die identifizierende Spalte beibehalten. Gibt es keine Vorlage, exportieren Sie zunächst einige vorhandene Datensätze, um die exakten Feldnamen zu erhalten.
Der Importbildschirm folgt einer klaren Abfolge: Datendatei hochladen, bei CSV-Dateien die Formatierungsoptionen anpassen (Trennzeichen, Kodierung, Datumsformat und Tausendertrennzeichen), prüfen, ob jede Dateispalte dem richtigen Odoo-Feld zugeordnet ist, und nicht erkannte Spalten manuell zuordnen, auf „Testen“ klicken, um die Daten ohne Speichern zu validieren, und erst nach bestandenem Test auf „Importieren“ klicken.
Nehmen Sie die Warnung von Odoo ernst: Importe sind dauerhaft und lassen sich nicht rückgängig machen. Das Filtern von Datensätzen nach Erstellungs- oder Änderungsdatum kann helfen, die von einem Import betroffenen Datensätze zu finden – das ist jedoch eine Hilfe zur Wiederherstellung, keine Rückgängig-Funktion.
Achten Sie auf Formate. Odoo empfiehlt Datumsangaben nach ISO 8601 wie 1981-07-24, echte Datumszellen in Excel und ein korrekt gewähltes Datumsformat bei CSV-Dateien. Tabulatorgetrennte Dateien werden nicht automatisch erkannt, und unbekannte Währungssymbole in Zahlenfeldern können einen Import stoppen. Bei großen Dateien rät die Dokumentation, die Daten in kleinere Pakete aufzuteilen, um Zeitüberschreitungen zu vermeiden; alle Varianten desselben Produkts müssen dabei im selben Paket liegen.
Schritt 5: Externe IDs und relationale Felder beherrschen
Die externe ID ist die wichtigste Spalte jeder Migrationsdatei. Sie gibt jedem Datensatz eine eindeutige Kennung, und beim Import einer Datei mit externen IDs werden die passenden Datensätze aktualisiert, statt Duplikate anzulegen. So lässt sich dieselbe Datei gefahrlos korrigieren und erneut importieren.
Bilden Sie externe IDs aus Ihren Altschlüsseln und versehen Sie sie mit einem Präfix je Objekt, etwa einem Kunden- und einem Lieferantenpräfix, damit sie über alle Tabellen hinweg eindeutig bleiben. Ändern oder entfernen Sie sie nach dem Laden nie, denn laut Dokumentation kann das beim nächsten Import Duplikate erzeugen.
Für relationale Felder gelten bestimmte Regeln:
- Many2one-Felder wie die Kategorie eines Produkts oder das Land eines Kontakts können mit dem Namen des verknüpften Datensatzes befüllt werden; bei doppelten Namen wird jedoch der erste Treffer verknüpft, daher ist eine Spalte mit der Endung External ID zuverlässiger
- Many2many-Felder wie Kontakt-Tags nehmen mehrere Werte auf, die durch Kommas ohne Leerzeichen getrennt werden
- Bei One2many-Feldern wie Auftragszeilen steht die erste Zeile in der Zeile des übergeordneten Datensatzes und jede weitere Zeile in einer eigenen Zeile, wobei die Spalten des übergeordneten Datensatzes leer bleiben
Zwei weitere Details vermeiden Überraschungen. Spalten, die in der Datei fehlen, erhalten Standardwerte; vorhandene Spalten mit leeren Zellen überschreiben diese Standardwerte dagegen mit Leerwerten. Und wenn Sie vorhandene Daten aktualisieren, exportieren Sie sie mit aktivierter importkompatibler Option, damit die externe ID enthalten ist und nur importierbare Felder exportiert werden.
Schritt 6: Daten bereinigen und Testläufe durchführen
Die Bereinigung sollte erfolgen, bevor die Daten Odoo erreichen. Entfernen Sie doppelte Kunden und Lieferanten, vereinheitlichen Sie Namen, Telefonnummern und Adressen, schließen oder archivieren Sie veraltete Produkte und stellen Sie sicher, dass jeder Verweis in einer Datei – etwa auf eine Kategorie, Steuer oder Zahlungsbedingung – in der Zieldatenbank existiert.
In Odoo 19 Enterprise ergänzt die App Datenbereinigung Regeln zur Duplikaterkennung, die ähnliche Datensätze zum Zusammenführen gruppieren, sowie Regeln zur Feldbereinigung wie das Entfernen von Leerzeichen, das Festlegen der Groß- und Kleinschreibung und das Formatieren von Telefonnummern. Laut Dokumentation sind Duplikaterkennung und Feldbereinigung Enterprise-Funktionen, während das Datenrecycling auch in Community verfügbar ist. Community-Benutzer sollten den Großteil der Bereinigung daher vor dem Import in ihren Tabellen erledigen.
Führen Sie mindestens eine vollständige Generalprobe in einer Test- oder Staging-Datenbank durch, mit den finalen Dateien und der finalen Ladereihenfolge. Erfassen Sie jeden Fehler, beheben Sie ihn an der Quelle und wiederholen Sie den Vorgang, bis das Laden fehlerfrei durchläuft. Nutzen Sie die Generalprobe, um die Dauer jedes Schritts zu messen, damit der echte Cut-over realistisch terminiert werden kann.
Schritt 7: Eröffnungssalden laden
Die Odoo-Dokumentation beschreibt vier vorzubereitende Eröffnungspositionen: Kontensalden, offene Kundenrechnungen und Gutschriften, offene Lieferantenrechnungen und Rückerstattungen sowie eine Eröffnungsinventur.
Importieren Sie für das Hauptbuch die Eröffnungs-Summen- und Saldenliste als Buchung mit der Importvorlage für sonstige Vorgänge, die in der Liste der Buchungen verfügbar ist. Ersetzen Sie vor dem Import die Forderungs- und Verbindlichkeitssalden durch zwei Verrechnungskonten, AR Clearing und AP Clearing, beide mit dem Typ Umlaufvermögen. Die Summen- und Saldenliste muss ausgeglichen sein; sie wird als Entwurf importiert, den Sie prüfen und anschließend buchen.
Importieren Sie anschließend offene Kundenrechnungen und Lieferantenrechnungen mit ihren Vorlagen aus den Listen der Kundenrechnungen bzw. Lieferantenrechnungen; Gutschriften und Rückerstattungen werden aus ihren eigenen Listen importiert. Die Dokumentation legt klare Regeln fest: Der Partner muss exakt einem vorhandenen Kontakt entsprechen, die Belegnummer darf noch nicht existieren und ihr Jahr muss zum Rechnungsdatum passen, Sie verwenden entweder ein Fälligkeitsdatum oder Zahlungsbedingungen, aber nicht beides, das Konto der Zeile ist das Forderungs- oder Verbindlichkeits-Verrechnungskonto, und der Einzelpreis ist der nach eventuellen Teilzahlungen noch offene Betrag.
Odoo empfiehlt, jede offene Rechnung als eine einzige Gesamtzeile statt Position für Position zu importieren. Importierte Belege kommen als Entwürfe an, die Sie über das Menü „Aktion“ gesammelt bestätigen. Beim Buchen werden die Verrechnungskonten durch die tatsächlichen Forderungs- und Verbindlichkeitssalden ausgeglichen.
Für den Lagerbestand verwenden Sie Lager > Vorgänge > Physischer Bestand und importieren die gezählten Mengen mit der Vorlage für Bestandsanpassungen. Klicken Sie dann auf „Alle anwenden“, geben Sie einen Inventurgrund und das Zähldatum ein und aktualisieren Sie die Mengen. Los- und Seriennummern erscheinen in separaten Zeilen und können bei der Zählung ausgewählt oder erfasst werden.
Stimmen Sie Lager und Buchhaltung sorgfältig ab. Laut Dokumentation müssen die Bestandskonten in der Summen- und Saldenliste dem Bestandswert entsprechen, berechnet als Produktkosten mal Menge. Prüfen Sie, wie die Bewertungseinstellungen Ihrer Produktkategorien Bestandsanpassungen buchen, und vereinbaren Sie mit Ihrem Buchhalter, wie der Bestandswert ins Hauptbuch gelangt, damit er nicht doppelt gezählt wird.
Für Bank und Kasse setzen Sie den Anfangssaldo auf dem ersten Kontoauszug jedes Journals auf den tatsächlichen Saldo vor der ersten Transaktion in Odoo. Wenn Sie die Banksynchronisierung nutzen, löschen Sie alle Transaktionen, die vor dem Stichtag der Summen- und Saldenliste liegen.
Schritt 8: Einem kontrollierten Cut-over folgen und abstimmen
Frieren Sie am Tag des Cut-overs die Transaktionen im Altsystem ein, ermitteln Sie die finalen Salden, laden Sie die Dateien in der geprobten Reihenfolge und dokumentieren Sie jeden Schritt in einem Freigabeprotokoll. Eine typische Abfolge ist: Prüfung der Lokalisierung, Grundeinstellungen, Kategorien und Produkte, Kontakte, Eröffnungs-Summen- und Saldenliste, offene Rechnungen, Eröffnungsbestand und Banksalden.
Mit der Abstimmung weisen Sie nach, dass die Migration gelungen ist. Vergleichen Sie die Anzahl der Datensätze je Objekt zwischen Quelle und Odoo und prüfen Sie dann diese Salden:
- Die Summen- und Saldenliste in Odoo entspricht Konto für Konto der Abschluss-Summen- und Saldenliste des Altsystems
- Die Summen der Forderungen und Verbindlichkeiten entsprechen der Summe der importierten offenen Kunden- und Lieferantenrechnungen
- Die Konten AR Clearing und AP Clearing sind vollständig ausgeglichen
- Die Lagermengen je Produkt und Lagerort stimmen mit der Zählung überein, und der Bestandswert stimmt mit den Bestandskonten überein
- Jedes Bank- und Kassenjournal beginnt mit dem tatsächlichen Kontoauszugssaldo
Sobald bestätigt ist, dass die Verrechnungskonten ausgeglichen sind, sieht Odoo vor, ihren Kontotyp auf Außerbilanziell zu ändern, damit sie nicht mehr in den Hauptberichten erscheinen. Bewahren Sie die Abstimmungsarbeitsmappe und die Freigaben als Teil Ihrer Projektunterlagen auf.
Wie 1CBMS Sie unterstützen kann
1CBMS plant und führt Datenmigrationen in Odoo 19 für Unternehmen in Ägypten und im Irak durch – von der Extraktion aus dem Quellsystem und der Bereinigung über das Design der externen IDs, Testläufe und Eröffnungssalden bis zur freigegebenen Abstimmung. Kontaktieren Sie uns unter www.1cbms.com, um eine Migration zu planen, mit der Ihr Team mit verlässlichen Zahlen live geht.