In diesem Beitrag
Odoo-Migration abnehmen: Datensätze und Salden abgleichen
Aus fünf Quellaufträgen werden fünf Zielaufträge. Die Summen je Gesellschaft stimmen. In unserem lokalen Testdatensatz haben trotzdem zwei Aufträge den falschen Betrag. Eine Migration kann ihre Summenprüfungen bestehen und den Mitarbeitenden dennoch fehlerhafte Daten hinterlassen.
Nimm eine Odoo-Migration ab, indem du einen vereinbarten Quellstand mit den erwarteten Zieldatensätzen vergleichst und anschließend die darauf aufbauenden Geschäftsabläufe prüfst. Kontrolliere Identitäten und Beziehungen ebenso wie Beträge und Zustände. Ordne jede Abweichung einer verantwortlichen Person und einem Nachtest zu. Erst die erforderlichen fachlichen Freigaben vervollständigen die Abnahme.
Recherche geprüft: 5. November 2026. Produktaussagen beruhen auf offiziellen Odoo-Quellen. Wir haben neun synthetische JSON-Abgleichfälle mit der Python-Standardbibliothek ausgeführt. Dabei wurde keine Odoo-Datenbank migriert, keine Kundendaten untersucht und kein Buchhaltungsbericht validiert. Die CSV-Vorlage enthält vorgeschlagene Prüfungen mit dem Status NOT_RUN.
Was muss eine erfolgreiche Odoo-Migration nachweisen?
Eine erfolgreiche Odoo-Migration muss die vereinbarten Geschäftsdatensätze und Arbeitsabläufe für ihren Umfang liefern. Eine startende Datenbank oder ein erfolgreicher Import belegt davon nur einen Teil. Lege fest, wer welchen Ablauf abschließen können muss, welche Datensätze dabei entstehen sollen und welche historischen Informationen abrufbar bleiben müssen.
Beschreibe zuerst den Übertragungsweg. Ein Upgrade zwischen Odoo-Versionen unterscheidet sich vom Import der Historie eines anderen ERP. Beim Import können neue Zuordnungen und bewusste Ausschlüsse nötig sein; ein Upgrade kann Anwendungsfunktionen oder die Kompatibilität eigener Module verändern. Der Abnahmenachweis muss den konkreten Weg benennen.
Odoos Upgrade-Leitfaden empfiehlt, Geschäftsabläufe und externe Integrationen auf der aktualisierten Datenbank vor dem Produktivwechsel zu testen. Übersetze das in Nachweise für deinen Betrieb: Ein teilweise erfüllter Auftrag benötigt andere Prüfungen als ein neu angelegter Kontakt.
Trenne technische Durchführung und fachliche Freigabe. Die Entwicklung kann zeigen, dass der geprüfte Vergleich unter seinen Regeln keine Abweichung gefunden hat. Die Finanzverantwortlichen beurteilen weiterhin, ob die gewählten Saldenkontrollen und dokumentierten Anpassungen das Buchhaltungsergebnis tragen. Die Lagerverantwortlichen müssen prüfen, ob die Restmengen tatsächlich noch zu erledigende Arbeit abbilden.
Welchen Ausgangsstand musst du vor dem Datenabgleich festhalten?
Halte Quellstand und Vergleichsumfang fest, bevor du Abweichungen berechnest. Dokumentiere die einbezogenen Gesellschaften, Belegzustände und den Stichtag sowie die genehmigten Transformationsregeln. Ohne diese Grenzen kann eine Differenz aus unterschiedlichen Datenmengen entstehen. Umgekehrt kann ein vermeintlicher Gleichstand wichtige Datensätze durch einen Filter ausblenden.
Bewahre die ursprünglichen Exporte oder andere freigegebene Quellnachweise zusammen mit ihren Auswahlparametern auf. Halte Ziel-Build und Mapping-Version fest. Wenn nach dem Snapshot weitere Vorgänge entstehen, definiere ihre Übernahme beim Produktivwechsel und den anschließenden Abgleich. Ein gestern freigegebener Export deckt heutige Eingänge nicht automatisch ab.
| Grenze | Vor dem Test dokumentieren | Zu vermeidender Fehlschluss |
|---|---|---|
| Datenumfang | Gesellschaften, Objekttypen, Zustandsfilter und bewusste Ausschlüsse. | Archivierte Datensätze oder Entwürfe fehlen nur auf einer Seite. |
| Zeit | Snapshot-Zeitpunkt, Berichtsperiode und Auslegung der Zeitzone. | Ein späterer Vorgang erscheint als Migrationsfehler oder verdeckt einen früheren fehlenden Vorgang. |
| Geld und Mengen | Währung, Betragsbasis, Einheiten und genehmigte Rundungsregeln. | Unterschiedliche Einheiten oder Währungen werden irreführend addiert. |
| Identität | Stabile Quellschlüssel und deren Zuordnung zu Zieldatensätzen. | Zwei ähnlich benannte Kunden gelten fälschlich als dasselbe Konto. |
| Erwartete Änderungen | Genehmigte Transformationen und die freigebende Person. | Eine unerklärte Abweichung wird nach einem fehlgeschlagenen Test als beabsichtigt umgedeutet. |
Bewahre eine stabile Geschäftsreferenz, auch wenn sich Datenbank-IDs ändern. Odoo beschreibt externe IDs zum Wiederherstellen importierter Beziehungen. Der Abgleich sollte zeigen, welcher Quelldatensatz zu welchem Ziel wurde, einschließlich genehmigter Aufteilungen oder Zusammenführungen.
Prüflogik und Transformation brauchen eine unabhängige Grundlage. Übernimmt die Berechnung des Sollwerts dieselbe falsche Einheitenumrechnung wie der Import, können beide Seiten übereinstimmen. Leite einige Referenzfälle unmittelbar aus der freigegebenen Geschäftsregel oder dem Originalbeleg ab und vergleiche sie mit dem importierten Ergebnis.
Warum können gleiche Anzahlen und Summen Fehler verdecken?
Gleiche Anzahlen und Summen können Fehler verdecken, weil aggregierte Kontrollen die Datensatzidentität ausblenden. Ein fehlender Datensatz kann durch einen unerwarteten ersetzt werden; gegenläufige Betragsfehler können sich aufheben. Unser ausgeführtes Modell behält fünf Datensätze und sämtliche Summen je Gesellschaft und Währung bei, obwohl zwei Auftragsbeträge abweichen. Ergänze Summenkontrollen deshalb um den Einzelabgleich.
Das Modell enthält Aufträge der Gesellschaften A und B. EUR und USD bleiben in getrennten Gruppen. Die zwei EUR-Aufträge von A sollten 100,00 € und 200,00 € betragen. Im fehlerhaften Ziel stehen 110,00 € und 190,00 €:
Quelle Gesellschaft A / EUR: 100,00 + 200,00 = 300,00
Ziel Gesellschaft A / EUR: 110,00 + 190,00 = 300,00
Einzelabweichungen: +10,00 und -10,00Die Summenabweichung null gibt keinen der beiden Belege frei. Das sind synthetische Auftragsbetragskontrollen, keine Saldenliste der Buchhaltung. Wir haben Dezimalwerte nach einer beispielhaften Nulltoleranzregel exakt verglichen. Steuer-, Wechselkurs- oder Bewertungsberechnungen wurden nicht ausgeführt.
| Änderung im Testdatensatz | Übergeordnete Kontrollen | Beobachtete Detailabweichungen |
|---|---|---|
| Unveränderter Ausgangsstand | Fünf Zeilen; Summen je Gesellschaft und Währung stimmen. | Keine Abweichungen nach den Vergleichsregeln des Modells. |
| Gegenläufige Betragsfehler | Anzahlen und Summen stimmen weiterhin. | Zwei Betragsabweichungen: +10,00 € und -10,00 €. |
| Gelieferte Menge steigt von 6 auf 10 | Anzahlen und Beträge stimmen weiterhin. | Eine Mengenabweichung. |
| Kundenreferenz und Gesellschaft dieses Kunden ändern sich | Anzahlen und Beträge stimmen weiterhin. | Zwei Abweichungen in Beziehungsfeldern. |
| Identität des Anhangs ändert sich | Anzahlen und Beträge stimmen weiterhin. | Eine Abweichung der Inhaltsidentität. |
| Entwurf wechselt in den modellinternen Zustand sale | Anzahlen und Beträge stimmen weiterhin. | Eine Zustandsabweichung. |
| Eine Quellauftragsreferenz wird ersetzt | Anzahlen und Beträge stimmen weiterhin. | Eine fehlende und eine unerwartete Identität. |
| Zwei Datensätze haben denselben zusammengesetzten Schlüssel | Anzahlen und Beträge stimmen weiterhin. | Doppelter Schlüssel, fehlende Identität und sechs Feldabweichungen. |
| Ziel-Snapshot verwendet einen anderen Stichtag | Der Vergleich wird vor der Annahme von Summen abgewiesen. | Abweichender Vergleichsumfang. |
Alle neun erwarteten Beobachtungen stimmten mit dem lokalen Lauf überein. Lade das ausführbare Abgleichmodell und die aufgezeichneten Modellergebnisse herunter. Starte die gespeicherte Python-Datei mit:
python3 reconcile-model.pyDas Modell vergleicht benannte Felder in JSON-Datensätzen. Es verwendet keine Odoo-Auftragszeilen, Buchungsbelege oder Anhangsspeicherung. Die Anhangswerte sind Identitätskennzeichen als Platzhalter für echte Inhaltsprüfungen. Der unveränderte Kontrollfall zeigt nur, dass der Vergleicher seinen eigenen festgelegten Ausgangsstand akzeptiert.
Welche Geschäftsdatensätze gehören in den Abgleich?
Gleiche die Datensätze ab, die innerhalb des Migrationsumfangs betriebliche Verpflichtungen abbilden. Prüfe Identitäten und Beziehungen, bevor du Summen vertraust. Untersuche danach Beträge, Restmengen und Zustände in der jeweiligen Gesellschaft und Währung. Ergänze Nachweise, dass Dokumente zugänglich bleiben und die zuständigen Personen ihre Arbeit fortsetzen können.
| Bereich | Zu vergleichende Nachweise | Wer gibt das fachliche Ergebnis frei? |
|---|---|---|
| Kunden und Produkte | Stabile Identität, erforderliche Merkmale und beabsichtigte Beziehungen. | Verantwortliche für Kunden- oder Produktdaten. |
| Offene Aufträge | Kopf- und Positionsreferenzen, Beträge, Zustand und verbleibende Arbeit. | Verantwortliche für Vertrieb oder Einkauf. |
| Teilerfüllung | Bestellte, erfüllte und offene Mengen in den genehmigten Einheiten. | Lager- oder Leistungsverantwortliche. |
| Forderungen und Verbindlichkeiten | Finanzseitig definierte Salden nach Konto, Gesellschaft, Währung und Periode; Ausnahmen auf Belegebene. | Autorisierte Finanzverantwortliche. |
| Bestand | Mengenkontrollen getrennt von Bewertungsnachweisen, mit relevanten Lagerort- oder Chargendimensionen. | Bestandsverantwortliche, bei Bewertung zusätzlich Finance. |
| Rechnungen und Gutschriften | Belegidentität, Zustand, Beträge und genehmigte Beziehung zu Ausgleich oder Korrekturen. | Autorisierte Finanzverantwortliche. |
| Anhänge | Richtiges Dokument am richtigen Datensatz, durch die vorgesehene Rolle abrufbar. | Die darauf angewiesene Prozessverantwortung. |
| Zugriffe und Integrationen | Erlaubte und abgewiesene Vorgänge sowie Enddatensätze nach einer kontrollierten Übertragung. | Anwendungs- und Integrationsverantwortliche. |
Eine Finanzkontrolle benötigt eine vereinbarte buchhalterische Grundlage. Addiere keine unterschiedlichen Währungen, ersetze Salden nicht durch Rechnungsanzahlen und setze einen importierten Entwurf nicht mit einer Buchung gleich. Halte technischen Vergleich und buchhalterische Prüfung getrennt und bewahre die akzeptierten Berichte und Anpassungen auf.
Bei Teilaufträgen zählt die verbleibende Verpflichtung. Zehn bestellt und sechs geliefert lässt nach der einfachen Modellregel vier offen. Zeigt der migrierte Kopf bereits zehn gelieferte Einheiten, kann diese Arbeit aus der Liste des Mitarbeitenden verschwinden, obwohl der Auftragsbetrag unverändert ist.
Für Berechtigungen nutze die separate Odoo-20-Testmatrix zur Gesellschaftstrennung. Für die Zuordnung hinter den Zieldaten dient die unabhängige Validierung KI-gestützter Odoo-Mappings. Verlinke deren Nachweise im Abnahmeprotokoll, statt sämtliche Fachprüfungen in einer Prozentzahl zusammenzufassen.
Was gehört in die CSV zur Migrationsabnahme?
Die CSV muss jeden Sollwert mit Istwert und Nachweis verbinden und die verantwortliche Freigabe gesondert festhalten. Ausgangsumfang und Ziel-Build machen den Vergleich später nachvollziehbar. Offene Differenzen brauchen Fehlerreferenz und Nachteststatus. Ein leeres Istwertfeld darf niemals als Abweichung null gelten.
Lade die vorgeschlagene Vorlage zur Migrationsabnahme herunter. Die betrieblichen Ausgangswerte stehen auf TO_DEFINE, Istwerte bleiben leer, Durchführung ist NOT_RUN und Freigabe PENDING. Die Vorlage enthält weder eine stillschweigende Finanzfreigabe noch ein Ergebnis einer echten Migration.
| Feldgruppe | Dein Eintrag | Regel |
|---|---|---|
| Ausgangsstand | Snapshot, Filter, Gesellschafts-/Währungsumfang und Ziel-Build. | Unterschiedliche Datenmengen benötigen vor dem Vergleich eine dokumentierte Anpassung. |
| Kontrolle | Vergleichsmethode, Sollwert, Einheit und Toleranz. | Toleranzen vor Kenntnis des Ergebnisses genehmigen. |
| Durchführung | Istwert, Abweichung, Nachweisreferenz und Ausführungsstatus. | NOT_RUN bleibt von einem bestandenen Vergleich getrennt. |
| Behebung | Fehler, Nachtestnachweis und technische Verantwortung. | Ein reparierter Import verlangt einen neuen Abgleich der betroffenen Datensätze. |
| Freigabe | Fachverantwortung, Entscheidung und Datum. | Ein technisches Bestehen trägt nicht automatisch eine freigebende Person ein. |
Bei der Betragskontrolle für A/EUR im Modell betragen Soll und Ist jeweils 300,00. Diese Zeile darf eine übereinstimmende Summe melden. Die zwei Belegvergleiche schlagen weiterhin fehl und bleiben als Fehler verknüpft. Überschreibe ihre Abweichungen nicht mit der Summenabweichung null.
Ist eine Transformation beabsichtigt, dokumentiere ihre erwartete Wirkung und die dafür zuständige Freigabe. Eine akzeptierte Differenz muss auf eine genehmigte Regel oder Ausnahme verweisen. Sie darf keinen Vergleich schließen, dessen Ergebnis niemand erklären kann.
Wie prüfst du den migrierten Ablauf statt nur seiner Exporte?
Beginne einen Ablaufstest mit einem bekannten übertragenen Datensatz, führe die Aktion unter der vorgesehenen Rolle aus und kontrolliere die entstandenen Geschäftsdatensätze. Nutze eine geschützte Umgebung mit kontrollierten externen Diensten und einer relevanten Ausnahme. Exporte zeigen gespeicherte Werte; die Generalprobe zeigt, ob das Team unter der neuen Konfiguration weiterarbeiten kann.
Suche beim Teilauftrag den übernommenen Datensatz samt zugehörigem Dokument. Prüfe, ob der autorisierte Mitarbeitende die erwartete offene Menge sieht. Führe den vereinbarten nächsten Schritt in der geschützten Umgebung aus und vergleiche den neuen Datensatz sowie die Restverpflichtung mit dem Soll. Bewahre auch den abgewiesenen Fall einer Rolle auf, die diese Aktion nicht ausführen darf.
Odoos Dokumentation zur Neutralisierung nennt automatische und externe Funktionen, die in Testdatenbanken deaktiviert werden. Prüfe eigene Integrations-Worker separat. Auch eine als Test markierte Datenbank benötigt kontrollierte Ziele für die Generalprobe.
Der Upgrade-Prozess für Anpassungen trennt Modulprüfungen auf leerer Datenbank von Tests mit aktualisierten Daten und der Generalprobe. Bewahre diese Nachweise getrennt auf. Ein installierbares Modul hat damit noch nicht den Umgang mit historischen Teilaufträgen gezeigt.
Bei einer dateibasierten Übertragung erläutert der Leitfaden zur Integration älterer ERP-Systeme die Übergabegrenze. Beziehe den tatsächlichen Import und seine Wiederherstellung in die Generalprobe ein. Eine Referenz muss Quelldatei und entstandene Zieldatensätze verbinden.
Wie beeinflussen späte Änderungen und offene Differenzen die Freigabe?
Binde die Freigabe an den getesteten Build und Datenumfang. Ein spätes Mapping oder neue Quelldaten können einen Teil der Nachweise entwerten. Bestimme die betroffenen Kontrollen und wiederhole sie vor der Freigabe. Offene Differenzen brauchen eine benannte Entscheidungsverantwortung; ihre Auswirkungen bestimmen die Sperre, nicht Ticketalter oder Statusbezeichnung.
Definiere das Verfahren für die letzte Datenänderung vor der Generalprobe. Halte fest, wann der Ausgangsstand endet, wer weitere Quellschreibvorgänge kontrolliert und wie spätere Änderungen erkannt werden. Der abschließende Vergleich muss diese Veränderungen ausdrücklich berücksichtigen.
Dokumentiere für jeden verbleibenden Fehler den betroffenen Ablauf und die mögliche fachliche Folge. Eine autorisierte Person kann nach der vereinbarten Freigaberegel über eine Ausnahme entscheiden. Bewahre Entscheidung und Bedingungen auf. Eine pauschale Zustimmung lässt später offen, ob ein fehlender Anhang oder eine falsche Restlieferung bewusst akzeptiert wurde.
Wiederhole nach dem Produktivwechsel die vereinbarten Kontrollen am produktiven Ergebnis und beobachte den nächsten relevanten Arbeitsschritt. Ein späterer Import oder eine Lieferung kann einen Fehler zeigen, den eine sofortige Anmeldung nicht entdeckt. Die QA-Checkliste vor dem Software-Launch ordnet diese Nachweise in die gesamte Freigabe ein.
Was würden wir vor der Abnahme verlangen?
Wir würden eine nachvollziehbare Verbindung vom vereinbarten Ausgangsstand über Einzelabgleich und Ablaufnachweise zu den erforderlichen fachlichen Freigaben verlangen. Beginne mit einem kritischen Prozess und mache jede offene Differenz sichtbar. Übertrage diese Methode auf den genehmigten Umfang. Ein unterschriebenes Protokoll muss zeigen, was auf welchem Build und unter welchen Restbedingungen nachgewiesen wurde.
Wavects Software-Qualitätssicherung ist der kommerzielle Weg für eine unabhängige Abnahme. Bring den Migrationsumfang und ein strittiges Ergebnis mit. Die erste sinnvolle Prüfung klärt, ob die Nachweise ein korrektes Geschäftsergebnis von einer lediglich fehlerfrei durchgelaufenen Migration unterscheiden können.
