Odoo statt Excel: Wann der Wechsel sinnvoll wird
Kurz gesagt
Ein Wechsel von Tabellen zu Odoo lohnt sich, wenn dieselbe Angabe in zwei Tabellen steht, zwei Personen eine Datei bearbeiten oder eine Auswertung monatlich von Hand entsteht. Die Entscheidung hängt an Verweisen und Mehrfachpflege, nicht an der Kopfzahl; die Signale im Artikel sind Erfahrungswerte der Redaktion. Die Reihenfolge Artikel- und Preisliste, Kunden und Lieferanten, dann Aufträge und Rechnungen gilt, soweit Ihre Positionen auf diese Stammsätze verweisen.
Das Wichtigste
- Auslöser für den Wechsel ist Mehrfachpflege oder ein Verweis über Tabellen hinweg, nicht die Zahl der Beschäftigten.
- Odoo 20.0 importiert Daten in jedes Geschäftsobjekt aus Excel (.xlsx) oder CSV (.csv); jede Spalte wird einem Feld zugeordnet, und der Lauf wird vorher getestet (Dokumentation 20.0).
- Die Spalte Externe ID (External ID) muss über alle Objekte hinweg eindeutig sein; ein Präfix je Objekt nennt die Dokumentation gute Praxis. Fehlt sie, kann ein zweiter Lauf neue Datensätze anlegen.
- Ein Verweis wie Position auf Artikel setzt voraus, dass der Zieldatensatz schon in Odoo liegt; deshalb zuerst Stammdaten, dann Bewegungsdaten, soweit die Positionen auf Artikel und Kunden verweisen.
- Die App Tabellenkalkulation (Spreadsheet) steht im Editionsvergleich vom 14. Oktober 2026 in der Spalte Enterprise; das Importwerkzeug gehört zum Community-Paket.
- Ein Import ist endgültig und lässt sich nicht rückgängig machen; die Dokumentation rät, vorher zu testen und große Dateien in kleineren Stapeln zu verarbeiten.
Tabellen sind nicht das Problem, sondern die zweite Kopie derselben Angabe. Solange Artikelnummern, Preise und Kundenanschriften in einer Datei stehen und niemand sonst hineinschreibt, trägt die Tabelle weiter. Der Wechsel kommt in Frage, wenn zwischen diesen Angaben Verweise entstehen, die niemand mehr von Hand nachhält.
Worauf es bei der Entscheidung ankommt
Zwei Fragen entscheiden, ob ein System die Dateien ablösen kann. Erstens: Steht derselbe Datensatz an mehr als einer Stelle? In Odoo pflegen Sie einen Kontakt einmal, statt die Anschrift in jedem Beleg erneut zu führen, und Belege verweisen auf diesen Kontaktsatz. Welche Anschrift ein einzelner Beleg nutzt, legen Sie je Beleg fest: Rechnungs- und Lieferadresse lassen sich getrennt wählen (Dokumentation 20.0, Delivery and invoice addresses). Zweitens: Muss zwischen zwei Angaben verwiesen werden, etwa von der Rechnungsposition zum Artikel? Solche Beziehungen sind in Odoo ein Feld mit einem Verweis auf einen vorhandenen Datensatz. Für den Import beschreibt die Dokumentation 20.0 drei Wege: über den Namen, über die Datenbank-ID oder über die Externe ID — je Feld nur einen davon.
Die Signale und die Reihenfolge unten sind Erfahrungswerte der Redaktion, keine Messgrößen.
Welche Signale für den Wechsel sprechen
Die Tabelle nennt vier Signale, wie Sie sie prüfen und was daraus für den Wechsel folgt.
| Signal | Wie Sie es prüfen | Was daraus folgt |
|---|---|---|
| Eine Nummer steht in zwei Dateien | Beide Spalten sortieren und vergleichen; Zeilen notieren, die nur einmal vorkommen | Legen Sie fest, welche Datei führt; die andere übernimmt den Wert |
| Zwei Personen bearbeiten dieselbe Datei | Im Ablageordner nach Kopien suchen („Kopie von …“) | Bearbeiten beide denselben Datensatz in Odoo, entfallen diese Kopien |
| Eine Auswertung entsteht monatlich von Hand | Die Schritte bis zur Zahl im Bericht aufschreiben und zählen | Wiederkehrende Zwischenschritte gehören in eine Liste, eine Pivot-Tabelle oder globale Filter |
| Verweise stehen in Formeln | Eine Zeile einfügen und nachsehen, ob die Ziele noch stimmen | Verweise müssen Datensätze sein, keine Zellbezüge; im Import trägt Feld/Externe ID den Verweis |
Die ersten drei Tabellen in dieser Reihenfolge
Die Reihenfolge folgt einer Bedingung des Imports: Ein Verweis zeigt auf einen Datensatz, den es schon geben muss. Die Dokumentation formuliert die Regel an einem Beispiel mit zwei Tabellen so: erst die Firmen importieren, dann die Personen. Übertragen auf einen Betrieb mit drei Dateien ergibt das diese Abfolge.
| Reihenfolge | Tabelle | Warum sie an dieser Stelle steht | Was Sie dafür vorbereiten |
|---|---|---|---|
| 1 | Artikel- und Preisliste | Artikelnummern werden in Aufträgen, Lager und Rechnungen zitiert; unter den drei Dateien verweist sie nicht auf Aufträge oder Kunden, setzt aber eigene Bezugsdaten voraus (Produktkategorien, Attribute, Lieferanten) | Externe ID je Zeile (Beispiel: art_1001); Bezugsdaten wie Produktkategorie, Attribute und Lieferanten vorher anlegen |
| 2 | Kunden- und Lieferantenliste | Belege verweisen auf einen Kontakt; Land und Zahlungsbedingungen müssen vorhanden sein | Externe ID je Zeile, empfohlen mit Präfix (Beispiel: kunde_2001); doppelte Namen auflösen |
| 3 | Aufträge und Rechnungen | Positionen verweisen auf Artikel und Kunde; diese Verweise setzen die Stammsätze voraus. Verkaufsauftragspositionen sind in 20.0 auch ohne verknüpftes Produkt möglich (Beschreibung statt Produkt) | Externe IDs beider Stammsätze, sofern die Positionen verweisen; Verweis über die Spalte Feld/Externe ID |
Importierbar sind nach der Dokumentation 20.0 unter anderem Kontakte, Produkte und Aufträge. Offene Posten und Eröffnungssalden folgen einer eigenen Abfolge; sie steht unter Eröffnungssalden und offene Posten übernehmen.
Ein Rechenbeispiel
Beispielrechnung mit erfundenen Zahlen. Angenommen werden drei Tabellen mit 480 Artikeln, 620 Kunden und 140 Rechnungen, zusammen 1.240 Zeilen. Für das Aufräumen setzen wir 10 Minuten je 100 Zeilen an, für einen Testlauf 15 Minuten je Tabelle; beide Werte sind eigene Annahmen, nicht gemessen.
| Tabelle | Zeilen | Aufräumen | Testlauf |
|---|---|---|---|
| Artikel- und Preisliste | 480 | 48 Minuten | 15 Minuten |
| Kunden und Lieferanten | 620 | 62 Minuten | 15 Minuten |
| Aufträge und Rechnungen | 140 | 14 Minuten | 15 Minuten |
| Summe | 1.240 | 124 Minuten | 45 Minuten |
Die Vorbereitung ergibt nach diesen Annahmen 169 Minuten, also 2 Stunden und 49 Minuten. Notieren Sie zum Vergleich, wie lange die Pflege derselben Tabellen im letzten Monat gedauert hat; die Annahmen oben sind gesetzt, nicht gemessen.
Typische Fehler
- Alle Dateien in einem Lauf importieren: Soweit eine Position auf einen Artikel oder Kunden verweist, findet der Verweis kein Ziel, wenn der Stammsatz fehlt. Halten Sie die Reihenfolge ein; die Dokumentation lässt im Beispiel erst die Firmen und dann die Personen importieren.
- Ohne Spalte Externe ID importieren: Ändert oder entfernt ein zweiter Lauf die ID, kann Odoo einen weiteren Datensatz anlegen, statt den vorhandenen zu ändern. Die deutsche Programmoberfläche formuliert die Regel so: Verwenden Sie für externe IDs einen eindeutigen Schlüssel über alle Objekte hinweg, zum Beispiel „lead_1“ statt „1“.
- Die Formatierungsoptionen bei einer Excel-Datei suchen: Sie erscheinen nach der Dokumentation nur für CSV. In Excel speichern Sie Datumswerte als Datumszellen; in CSV schreiben Sie ISO 8601 (JJJJ-MM-TT), weil Odoo das Format aus den ersten Zeilen schätzt und Tag und Monat sonst vertauscht werden (Dokumentationsbeispiel: 01-03-2016).
- Ein Währungssymbol verwenden, das Odoo nicht kennt: Der Import bricht ab. Tausender- und Dezimaltrennzeichen erkennt Odoo selbst; bei CSV lässt sich das Tausendertrennzeichen ändern. Prüfen Sie das bei Schweizer Zahlen (CHF 1’234.50).
- Erst in der Produktivdatenbank importieren: Ein Import ist endgültig und lässt sich nicht rückgängig machen. Testen Sie in einer Kopie der Datenbank, auf Odoo.sh in einer Staging-Datenbank (Odoo.sh-Leistungen und Grenzen).
- Erwarten, dass alles in der Tabellenkalkulation weiterläuft: Die App steht im Editionsvergleich (Stand 14. Oktober 2026) in der Spalte Enterprise und gehört dort zu Dokumente. Prüfen Sie die Zuordnung für Ihre Edition, bevor Sie darauf setzen.
So gehen Sie vor
- Schreiben Sie die drei Tabellen auf und markieren Sie je Spalte, ob sie einen anderen Datensatz benennt (Artikel-, Kunden-, Auftragsnummer). Jede solche Spalte wird beim Import ein Verweis. Verweist eine Spalte auf Daten außerhalb der drei Tabellen (etwa Produktkategorien, Attribute oder Lieferanten), legen Sie diese Bezugsdaten vorher an: laut Dokumentation müssen die Datensätze des bezogenen Objekts zuerst importiert werden.
- Ergänzen Sie in jeder Tabelle eine Spalte Externe ID; ein Präfix je Objekt (art_, kunde_, auftrag_) ist gute Praxis. Suchen Sie Doppelte.
- Importieren Sie in dieser Reihenfolge, soweit Ihre Positionen auf diese Stammsätze verweisen: Artikel und Preise, dann Kunden und Lieferanten, dann Aufträge und Rechnungen.
- Laden Sie die erste Datei in einer Kopie der Datenbank in der Ansicht des Objekts über Aktionen (Actions) ‣ Importieren (Import) hoch, ordnen Sie die Spalten zu und klicken Sie Test. Korrigieren Sie Fehler in der Quelldatei, laden Sie sie erneut hoch und klicken Sie erst dann Importieren; der Ablauf steht unter Daten in Odoo importieren.
- Prüfen Sie nach jedem Lauf die importierten Datensätze über ihre externe ID und öffnen Sie einen Datensatz mit Verweis. Dateizeilen und Datensatzanzahl müssen nicht übereinstimmen: Zusätzliche Auftragspositionen belegen eigene Dateizeilen, und ein erneuter Lauf mit derselben externen ID ändert vorhandene Datensätze, statt neue anzulegen.
- Ersetzen Sie zuletzt die Auswertung, nicht am ersten Tag. Wie Sie die Daten vorher bereinigen, steht unter Stammdaten für Odoo vorbereiten; die Kosten rechnet Odoo-Gesamtkosten.