Datenimport mit Mensch in der Schleife: Zwischentabelle und Zeilenprüfung
Warum Daten erst in eine Zwischentabelle gehören, wie Zeilen geprüft werden und warum Bereinigung vor dem Import mehr spart als Korrektur danach.
Eine Kollegin aus dem Vertrieb schickt eine Excel-Datei mit Kunden, der Einkauf eine Liste mit Artikeln, und der Shop liefert einen Export mit Bestellungen. Jemand ordnet die Spalten dem Odoo-Importassistenten zu, klickt auf "Importieren", und die Daten stehen im System. Das Problem zeigt sich erst Tage später: doppelte Kontakte, Artikel mit falscher Einheit, Preise im falschen Feld. Dann beginnt die Korrektur im Livesystem, Datensatz für Datensatz, mit Rückfragen an die Fachbereiche. Das kostet mehr Zeit als eine Prüfung vor dem Schreiben gekostet hätte, und manche Fehler fallen gar nicht auf.
Dieser Beitrag zeigt, wie Sie einen Import in drei Schritte teilen: Daten in eine Zwischentabelle laden, Zeile für Zeile prüfen und erst dann nach Odoo schreiben.
Warum der Ein-Klick-Import an seine Grenze kommt
Ein direkter Import ist vertretbar, wenn die Datei klein ist, die Spalten eindeutig sind und ein Fehler sich leicht zurücknehmen lässt. Er wird riskant, sobald eine dieser Bedingungen fehlt:
- Die Quelle stammt aus einem Altsystem oder aus Excel, in dem jeder Anwender Spalten anders genannt und befüllt hat.
- Der Import erzeugt Verknüpfungen, etwa Kunde zu Auftrag oder Produkt zu Lieferant.
- Die Daten laufen in Bereiche, in denen Korrekturen schwer sind, etwa gebuchte Belege.
- Der Import wiederholt sich, zum Beispiel täglich oder monatlich.
Entscheidungsregel: Wenn ein falscher Datensatz nur durch Handarbeit im Livesystem zu beheben wäre, gehört eine Zwischenstufe davor.
Die Zwischentabelle: Daten ankommen lassen, ohne sie zu verwenden
Eine Zwischentabelle (englisch Staging-Tabelle) ist ein Speicher, der die Rohdaten der Datei aufnimmt, ohne dass Odoo-Stammdaten oder Belege entstehen. Jede Zeile der Datei wird eine Zeile der Tabelle, ergänzt um Status, Fehlerhinweis und Verweis auf die Quelldatei.
Ein Beispiel aus der Shop-Anbindung: Ein Shopify-, Shopware- oder WooCommerce-Export liefert Produkte, die teils schon in Odoo existieren. Landen sie zuerst in der Zwischentabelle, sehen Sie vor dem Schreiben, welche Artikelnummern bereits vergeben sind, welche Varianten fehlen und wo Preise leer bleiben.
Was die Zwischentabelle mindestens enthalten sollte:
- die Originalwerte jeder Zeile, unverändert
- die zugeordneten Zielfelder in Odoo
- einen Status je Zeile, zum Beispiel "neu", "geprüft", "abgelehnt", "geschrieben"
- einen Hinweis, warum eine Zeile auffällt
- die Herkunft: welche Datei, welcher Lauf
So bleibt jede Zeile nachvollziehbar, auch Wochen später.
Spaltenzuordnung: der Teil, den ein Agent vorbereiten darf
Die Zuordnung von Spalten zu Feldern ist mühsam und fehleranfällig. "Bezeichnung", "Name", "Artikeltext" und "Produkt" können dasselbe Zielfeld meinen, "Preis" kann netto oder brutto sein. Hier kann Software vorarbeiten.
In Simplify-ERP läuft dieser Schritt so: Ein Agent ordnet die Spalten einer Datei den Feldern einer Staging-Tabelle zu, ein Mensch prüft die Zeilen, und Code schreibt sie anschließend nach Odoo. Der Import lernt dabei Spalten-Aliase aus früheren Importen. Die Zuordnung "Artikeltext" zu "Produktname" muss also beim nächsten Lauf nicht neu erklärt werden. Die Aufgabenteilung ist der eigentliche Punkt: Der Agent schlägt vor, der Mensch entscheidet, deterministischer Code schreibt.
Das gilt auch, wenn Sie ein anderes Werkzeug verwenden. Entscheidend ist, dass ein Vorschlag, egal ob von einer Regel oder einem KI-Modell, nie direkt in die Stammdaten fließt.
Prüffrage: Gibt es für jede Spalte eine dokumentierte Antwort auf "Welches Odoo-Feld ist das, in welcher Einheit und in welchem Format?"
Die Zeilenprüfung: was der Mensch sieht und entscheidet
Eine Prüfung über Hunderte Zeilen funktioniert nur, wenn die Ansicht auf Auffälligkeiten sortiert ist. Prüfen Sie nicht jede Zeile gleich gründlich, sondern lassen Sie sich Ausnahmen zuerst zeigen:
- Pflichtfelder leer
- mögliche Dubletten, etwa gleicher Firmenname mit anderer Schreibweise
- Verweise auf Datensätze, die in Odoo nicht existieren (Kategorie, Lieferant, Steuer)
- Werte außerhalb des Üblichen, etwa Preis null oder Menge negativ
- Zeilen, die einen bestehenden Datensatz überschreiben würden
Der Prüfer hat je Zeile drei Möglichkeiten: freigeben, korrigieren oder ablehnen. Abgelehnte Zeilen bleiben mit Begründung in der Tabelle. Das ist wichtig für die Rückmeldung an den Fachbereich: "Diese Zeilen haben wir nicht übernommen, und das ist der Grund."
Entscheidungsregel: Wer prüft, kennt die Daten. Bei Kunden ist das der Vertrieb, bei Artikeln der Einkauf oder die Produktpflege, bei Buchungsdaten die Buchhaltung. Die IT stellt das Werkzeug bereit, urteilt aber nicht über Inhalte.
Schreiben nach Odoo: Probelauf, Schutz bestehender Daten, Wiederholbarkeit
Erst nach der Freigabe schreibt ein definierter Schritt die Zeilen in die Zielmodelle. Drei Eigenschaften machen diesen Schritt sicher:
- Probelauf: Er zeigt, was geschrieben würde, ohne etwas zu schreiben. In Simplify-ERP schreibt ein Probelauf nichts.
- Schutz gebuchter Daten: Gebuchte Belege werden nie überschrieben. Bei importierten Eingangsrechnungen, etwa aus sevDesk, gilt dasselbe Prinzip: einbahnig und wiederholbar, mit Zuordnung von SKR-Konten und Steuern.
- Wiederholbarkeit: Ein zweiter Lauf mit derselben Datei darf keine zweiten Datensätze erzeugen. Dafür braucht jede Zeile einen stabilen Schlüssel, etwa Artikelnummer oder externe Belegnummer.
Bei Artikelnummern lohnt eine Regel für Neuanlagen: Simplify-ERP vergibt sie fortlaufend ab der höchsten vorhandenen Nummer. Dann kollidieren neu importierte Artikel nicht mit bestehenden.
Bereinigen vor dem Import, nicht danach
Die Zwischentabelle ersetzt keine Datenbereinigung, sie macht den Bedarf sichtbar. Je mehr Sie vor dem Import in der Quelle klären, desto kürzer wird die Zeilenprüfung. Typische Punkte:
- Dubletten in der Quelle zusammenführen
- Einheiten und Währungen vereinheitlichen
- Freitextfelder, die eigentlich Auswahlwerte sind (Land, Zahlungsbedingung), auf eine feste Liste bringen
- Formeln aus Tabellen als Regeln benennen: Wenn ein Preis in Excel aus Einkaufspreis plus Aufschlag berechnet wird, gehört der Aufschlag als Regel ins ERP und nicht als Ergebnis in ein Preisfeld
Beispiele aus dem Betrieb
Shop-Anbindung: Vor der ersten Synchronisation importieren Sie den bestehenden Shopkatalog in die Zwischentabelle. Sie klären, welches System die Produktdaten führt, und lehnen Zeilen ab, die in Odoo schon richtig gepflegt sind.
Versionsupgrade: Bei einem Upgrade werden oft Daten in eine neue Instanz übernommen. Hier hilft derselbe Gedanke: Stapelweise kopieren, Relationen zuordnen und Konflikte von einem Menschen entscheiden lassen. Simplify-ERP kopiert bei der Übernahme bestehender Installationen Daten in Stapeln über XML-RPC (eine Schnittstelle, über die zwei Odoo-Instanzen Daten austauschen) mit Relationszuordnung und einem Assistenten für Konflikte.
KI-Automatisierung ohne Code: Wenn ein Agent Daten aus Dokumenten oder E-Mails liest, etwa Kontaktdaten aus Visitenkarten, ist das Ergebnis ein Vorschlag. Menschen sollten ihn bestätigen, bevor er gespeichert wird. Die Ausnahme sind Werte, bei denen Sie bewusst eine Konfidenzschwelle festlegen und deren Fehlerfolgen gering sind.
Unternehmensweite Suche: Wer einen Suchindex aus Odoo-Daten aufbaut, merkt sofort, wie schlecht gepflegte Stammdaten Suchergebnisse verschlechtern. Eine geprüfte Zwischenstufe vor dem Import verbessert die Basis für jede spätere Auswertung.
Checkliste: Import mit Prüfschritt planen
- Welche Quelle, welches Zielmodell, wie oft wiederholt sich der Import?
- Wer ist fachlich für die Prüfung verantwortlich, und wie viel Zeit hat er eingeplant?
- Welche Spalten sind eindeutig, welche brauchen eine Zuordnungsregel?
- Welcher Schlüssel identifiziert eine Zeile, damit ein zweiter Lauf nichts verdoppelt?
- Welche Auffälligkeiten sollen automatisch markiert werden?
- Welche Datensätze dürfen nie überschrieben werden?
- Gibt es einen Probelauf, und wer wertet ihn aus?
- Wie gelangt die Rückmeldung über abgelehnte Zeilen an den Fachbereich?
- Wo liegt die Quelldatei nach dem Lauf, und wie lange bleibt die Zwischentabelle erhalten?
Ihr nächster Schritt
Nehmen Sie den letzten Import, der in Ihrem Betrieb Nacharbeit verursacht hat. Beantworten Sie heute eine Frage dazu: An welcher Stelle hätte ein Mensch die fehlerhaften Zeilen sehen können, bevor sie in Odoo standen, und wer wäre dafür zuständig gewesen? Schreiben Sie die Antwort als Prüfschritt mit Verantwortlichem in Ihre Importplanung.
