DE · AT · CHAnleitung

Daten aus Odoo exportieren: Ausstieg und Archiv

Rechtsstand: · Aktualisiert:

Gilt für: Odoo 20.0; Community und Enterprise; Odoo Online, Odoo.sh und On-Premise; Datenbank-Manager und Listenexport; unabhängig von der Lokalisierung

Kurz gesagt

Vollständig ist nur die Datenbank-Sicherung: als zip-Sicherung mit Dateispeicher, bei Odoo Online über Back-up herunterladen. Für ein anderes System exportieren Sie zusätzlich je Datenklasse die Liste mit der Spalte Externe ID. Die Aufbewahrungsfristen laufen danach weiter: in Deutschland 10, 8 oder 6 Jahre (§ 147 Abs. 3 Satz 1 AO), in Österreich 7 Jahre (§ 212 Abs. 1 UGB), in der Schweiz 10 Jahre (Art. 958f Abs. 1 OR).

Das Wichtigste

  • Listenexport: Objektliste öffnen, Aktionen (Actions) ‣ Exportieren (Export); Formate Excel (.xlsx) und CSV (.csv), Dokumentation 20.0.
  • Updatable fields only filtert die Liste der verfügbaren Felder auf importierbare Felder; die Spalte Externe ID (External ID) steht nur nach manuellem Hinzufügen in der Liste der Exportfelder, ist aber im Export enthalten, solange der Schalter an ist (Dokumentation 20.0).
  • Zip-Sicherung und Dateispeicher: Im Community-Datenbankmanager nimmt die zip-Sicherung den Dateispeicher nur mit angehaktem Kontrollkästchen Include filestore mit, das Format pg_dump custom format (without filestore) enthält ihn gar nicht; auf der Kommandozeile nimmt odoo-bin db dump --format zip den Dateispeicher mit, sofern --no-filestore weggelassen wird (Dokumentation 20.0).
  • Odoo Online: Back-up herunterladen liefert eine ZIP-Datei; ist die Option deaktiviert, ist die Datenbank zu groß.
  • Eine gekündigte Cloud-Datenbank bleibt drei Wochen deaktiviert (Schonfrist) und wird danach vernichtet; gelöschte personenbezogene Daten können bis zu zwölf Monate in den Sicherungen bleiben (Datenschutzerklärung, Stand 24. September 2026).
  • Nach dem Export bleiben die Aufbewahrungsfristen bestehen: Deutschland 10, 8 oder 6 Jahre (Lieferscheine ohne Buchungsbelegfunktion enden mit der Rechnung), Österreich 7 Jahre, Schweiz 10 Jahre.

Ein Export aus Odoo bedeutet drei verschiedene Dinge, die einander nicht ersetzen: eine Tabelle für ein anderes System, den vollständigen Bestand als Sicherungsarchiv und die Unterlagen für die Aufbewahrung. Diese Anleitung ordnet jeder Datenklasse einen Weg zu und prüft anschließend, ob nichts fehlt; Grundlage ist Odoo 20.0, das die Dokumentation im September 2026 als Release führt. Den umgekehrten Weg behandelt Datenübernahme aus dem Altsystem nach Odoo.

Was Sie vorab brauchen

  • Je Datenklasse eine Entscheidung: ins Zielsystem übernehmen, archivieren oder beides. Die drei Ziele brauchen verschiedene Dateien.
  • Ein Konto mit Exportrecht: Nach dem Community-Zweig 20.0 (odoo/orm/models.py) darf exportieren, wer Administrator ist oder der Gruppe base.group_allow_export angehört, sonst endet der Aufruf mit einer Fehlermeldung.
  • Zugang zum Datenbank-Manager Ihrer Betriebsart: auf dem eigenen Server <odoo-server>/web/database/manager mit Master-Passwort, bei Odoo Online der Datenbankmanager unter odoo.com/my/databases, bei Odoo.sh der Reiter Back-ups des Zweigs. Ist er abgeschaltet – die Dokumentation empfiehlt das für internetzugewandte Systeme –, sichern Sie in der Systemadministration, etwa mit odoo-bin db dump --format zip.
  • Platz für die Dateien und eine Ablage auf einem anderen Rechner als dem, auf dem die Datenbank läuft.
  • Die Liste der Objekte; die Modellnamen stehen im Entwicklermodus unter Einstellungen (Settings) ‣ Technisch (Technical) ‣ Datenbankstruktur (Database Structure) ‣ Modelle (Models).

Der Exportplan nach Datenklasse

Die Tabelle ist der Kern dieser Anleitung: je Datenklasse der Ort in Odoo, der Weg nach außen und die Prüfung, die belegt, dass nichts fehlt. Die Vollständigkeitsprüfung der letzten Spalte wird unten Schritt für Schritt ausgeführt.

Datenklasse Wo sie in Odoo liegt Weg nach außen Vollständigkeitsprüfung
Stammdaten (Kontakte, Produkte, Preise, Steuersätze, Zahlungsbedingungen) Listenansicht der jeweiligen App Aktionen (Actions) ‣ Exportieren (Export) mit der Spalte Externe ID Zahl der Datensätze in der Liste gegen die verschiedenen Werte der Spalte Externe ID
Belege und Bewegungen (Angebote, Aufträge, Lieferungen, Bestellungen, Lagerbewegungen) Listenansicht der jeweiligen App wie Stammdaten; Verweise als Feld/Externe ID Zeilen je Modell; Stichprobe eines Belegs mit seinen Positionen
Buchhaltung (Rechnungen, Buchungen, Journalposten, Zahlungen) Buchhaltung, Listen und Berichte Listenexport je Objekt; vollständig nur in der Sicherung Summen je Journal und Periode gegen den Bericht
Anhänge und Dateien (Rechnungs-PDF, Bilder, hochgeladene Belege) Dateispeicher (Filestore); Binärfelder ohne Dateispeicher in einer Spalte der Datenbank Dateien im Dateispeicher nur in der Sicherung mit Dateispeicher; Binärfelder aus einer Datenbankspalte reisen im Listenexport als Base64-Text (Community-Zweig 20.0) einen Anhang nach dem Einspielen der Sicherung öffnen
Nachrichten und Protokolle (Chatter, Aktivitäten, Protokolle) Datenbank Sicherung; dafür genügt der Datenbank-Dump Stichprobe eines Datensatzes mit Verlauf
Konfiguration und Anpassungen (Studio, Automatisierungsregeln, Vorlagen, Sequenzen, Zugriffsrechte) Datenbank; Studio zusätzlich als Modul studio_customization Sicherung; Studio zusätzlich als ZIP über den Studio-Export Studio-Modul im Archiv; Import in eine Kopie derselben Version
Eigener Code (eigene Module, OCA-Module) nicht in der Datenbank Repository und Quelltexte mit dem installierten Stand sichern Version für die Zielversion vorhanden

Schritt für Schritt: exportieren, sichern, ablegen

Schritt 1: Datenklassen und Objekte festlegen

Notieren Sie, welche Objekte zu welcher Zeile der Tabelle gehören, und ergänzen Sie sie um Objekte, die nur in Ihrem Betrieb vorkommen. Ein Objekt ohne Listenansicht kommt nur über die Sicherung mit; die Modellnamen entnehmen Sie dem technischen Menü.

Schritt 2: Den Ausgangsstand festhalten

Öffnen Sie je Objekt die Listenansicht mit den Filtern für den vollen Bestand und notieren Sie den Zähler: oben rechts in der Listenansicht steht Wert / Gesamtzahl. Ein Pluszeichen daran heißt nach dem Community-Zweig 20.0, dass die Zahl noch nicht vollständig geladen ist; klicken Sie darauf, bis es verschwindet. Datum und Uhrzeit gehören dazu, denn der Export ist ein Stand.

Schritt 3: Die Liste exportieren

Markieren Sie die Datensätze und öffnen Sie Aktionen (Actions) ‣ Exportieren (Export). Der Dialog Daten exportieren (Export Data) zeigt links die Verfügbaren Felder (Available fields), rechts die Zu exportierenden Felder (Fields to export), dazu eine Suche und je Feld Unterfelder anzeigen (Show sub-fields). Als Format stehen Excel (.xlsx) und CSV (.csv) zur Wahl; eine Zusammenstellung lässt sich als Exportvorlage für alle Nutzer speichern. Schalten Sie Updatable fields only ein: Nach der Dokumentation 20.0 filtert er die Liste der Verfügbaren Felder auf Felder, die sich wieder importieren lassen, und lässt die Liste der Zu exportierenden Felder unverändert. Die Spalte Externe ID (External ID) steht in dieser Liste nur, wenn Sie sie von Hand hinzufügen; in die exportierte Datei kommt sie nach der Dokumentation dennoch, solange der Schalter an ist. Eine deutsche Beschriftung hat der Schalter im Zweig 20.0 nicht. Ist mehr als eine Sprache installiert und ist mindestens ein gewähltes Feld übersetzbar, erscheint unter der Liste ein Feld Sprachen (Languages): Ohne Auswahl gibt Odoo übersetzbare Felder in Ihrer Benutzersprache aus; jede von Ihnen gewählte Sprache ersetzt sie durch eine Spalte wie Name@fr_FR. Große Exporte können laut Dokumentation 20.0 in eine Zeitüberschreitung (Timeout) laufen; teilen Sie sie dann in kleinere Stapel, etwa je Geschäftsjahr. Auch in der Kanban-Ansicht geht der Export, dort wählen Sie Karten mit gedrückter Alt-Taste.

Schritt 4: Verknüpfungen mitnehmen

Beziehungsfelder lassen sich über den Namen, die Datenbank-ID (Database ID) oder die Externe ID schreiben; je Feld ist nur eine dieser drei Arten erlaubt. Die Datenbank-ID ist die laufende Nummer der Quell-Datenbank und im Zielsystem bedeutungslos, für einen Umzug nehmen Sie die Spalte mit der Endung /Externe ID. Externe Kennungen sind über alle Objekte eindeutig und tragen ein Präfix nach Tabelle, etwa kunde_12; mehr dazu unter Externe ID (Odoo). Achtung: Nach dem Community-Zweig 20.0 legt ein Export mit der Spalte Externe ID für Datensätze ohne Kennung eine solche an, im Modul __export__ und mit dem Namen <Tabelle>_<ID>_<acht Zeichen>; der Export ist damit kein reines Lesen. Probieren Sie ihn zuerst in einer Kopie aus.

Schritt 5: Die Datenbank-Sicherung mit Dateispeicher erstellen

Anhänge liegen im Dateispeicher, nicht in den Spalten der Listenexporte. Auf dem eigenen Server öffnen Sie den Datenbank-Manager, wählen die Datenbank und klicken auf Backup. Der Community-Zweig 20.0 zeigt dort das Format zip (vorausgewählt) und das Kontrollkästchen Include filestore, ebenfalls vorausgewählt; das zweite Format pg_dump custom format (without filestore) enthält den Dateispeicher nicht. Für Sichern, Wiederherstellen, Anlegen und Löschen verlangt die Seite das Master-Passwort. Ist der Datenbank-Manager abgeschaltet, sichern Sie mit odoo-bin db dump --format zip; --no-filestore lassen Sie weg, weil sonst die Anhänge fehlen. Beschriftungen und Voreinstellungen, die nur der öffentliche Community-Zweig 20.0 belegt, sind kein Nachweis für Enterprise, Odoo Online oder Odoo.sh; prüfen Sie den Dialog dort in Ihrer eigenen Datenbank.

Bei Odoo Online läuft der Schritt über den Datenbankmanager: Back-up herunterladen liefert eine ZIP-Datei; ist die Option deaktiviert, ist die Datenbank zu groß für diesen Weg. Für den Umzug auf einen eigenen Server nennt die Dokumentation genau diese Folge: Sicherung herunterladen und dort über den Datenbank-Manager wiederherstellen. Bei Odoo.sh finden Sie im Reiter Back-ups die Sicherungen zum Herunterladen und Wiederherstellen; jede automatische Sicherung der Produktionsdatenbank enthält Datenbank-Dump, Dateispeicher, Protokolle und Sitzungen. Die Datenschutzerklärung hält fest, dass Sie über Ihr Kundenkonto in der Cloud jederzeit eine vollständige Sicherung herunterladen können, um sie zu übertragen oder zu archivieren. Nach einer Kündigung bleibt die Cloud-Datenbank drei Wochen deaktiviert und wird danach vernichtet; holen Sie die Sicherung also vorher.

Schritt 6: Anpassungen und Code getrennt sichern

Studio legt jede Anpassung im Modul studio_customization ab und lädt es über den Studio-Export als ZIP-Datei herunter, wahlweise mit Daten und Anhängen. Der Import setzt dieselbe Odoo-Version und dieselben Apps und Module voraus, weil Studio die zugrunde liegenden Module nicht als Abhängigkeiten einträgt. Eigene und fremde Module stehen nicht in der Datenbank; sichern Sie den Codestand samt Version daneben. Die Sicherung selbst behandelt Odoo sichern: Backup-Strategie und Wiederherstellung.

Schritt 7: Das Archiv beschreiben

Legen Sie zu jedem Archivstück einen kurzen Vermerk: Betriebsart, Odoo-Version, Datum, Inhalt, Format, ob der Dateispeicher enthalten ist und mit welchem Werkzeug die Datei zu lesen ist. Ohne diesen Vermerk ist eine Sicherung nach zwei Jahren ein Fundstück.

So prüfen Sie die Vollständigkeit

  1. Sicherung einspielen. Stellen Sie die ZIP-Datei in einer Kopie wieder her, auf dem eigenen Server über den Datenbank-Manager mit dem Kontrollkästchen Neutralisieren, bei Odoo.sh in einem Staging-Zweig. Eine neutralisierte Datenbank ist eine Nicht-Produktivdatenbank, in der nach der Dokumentation 20.0 unter anderem geplante Aktionen, ausgehende E-Mails, die Banksynchronisierung, Zahlungsanbieter, Versandmethoden, IAP-Token und die Sichtbarkeit der Website abgeschaltet sind; die Aufzählung der abgeschalteten Funktionen ist nicht abschließend (Testumgebung für Odoo).
  2. Zeilen je Datei zählen. Vergleichen Sie die Datenzeilen der Exportdatei – ohne Kopfzeile – mit der Zahl aus Schritt 2. Weichen die Werte ab, prüfen Sie zuerst die Filter und danach, ob Unterfelder exportiert wurden.
  3. Kennungen zählen, nicht Zeilen. Wählen Sie Unterfelder einer Position, etwa die Zeilen eines Verkaufsauftrags, so steht nach dem Community-Zweig 20.0 nur die erste Position in der Zeile des Kopfes – der Export mischt die erste Zeile der Unterfelder in die Hauptzeile – und jede weitere Position kommt als zusätzliche Zeile hinzu, in der die Felder des Kopfes leer bleiben. Dieselbe Anordnung verlangt die Import-Dokumentation 20.0 für den Rückweg: die erste Auftragszeile steht in der Zeile des Auftrags, jede weitere in einer zusätzlichen Zeile ohne Angaben zum Auftrag. Zählen Sie daher die verschiedenen Werte der Spalte Externe ID: 12.000 Aufträge mit durchschnittlich 4,2 Positionen ergeben 12.000 Kennungen bei rund 50.400 Zeilen – je Auftrag eine Kopfzeile samt erster Position und je weitere Position eine Zeile (Beispielrechnung mit erfundenen Zahlen).
  4. Stichproben öffnen. Nehmen Sie je Datenklasse einen Datensatz: einen Artikel mit Bild, eine Rechnung mit angehängtem PDF, einen Kontakt mit Verlaufseintrag. Fehlt ein Anhang, kann die Sicherung ohne Dateispeicher entstanden sein; prüfen Sie dann im Community-Datenbankmanager das Kontrollkästchen Include filestore und auf der Kommandozeile, ob –no-filestore gesetzt war.
  5. Archivstücke zusammenstellen. Prüfen Sie, dass Sicherung, Listenexporte und Studio-ZIP-Datei denselben Stand haben, und öffnen Sie eine Datei auf einem Rechner ohne Odoo.
  6. Im Zielsystem testen. Importieren Sie eine kleine Stichprobe mit der Spalte Externe ID und prüfen Sie die Verknüpfungen; der Ablauf steht in Daten in Odoo importieren: CSV, Excel und externe IDs.

Wenn etwas nicht klappt

Symptom Ursache Behebung
Der Export läuft in eine Zeitüberschreitung Die Auswahl ist größer, als ein Durchgang verarbeitet (Dokumentation 20.0) In kleineren Stapeln exportieren, etwa je Geschäftsjahr oder je Firma, und die Dateien danach zusammenführen
Die Spalte Externe ID fehlt in der Datei Der Schalter Updatable fields only war aus, oder die Tabelle hat keinen eigenen Datensatztyp (Dokumentation 20.0; Community-Zweig 20.0) Schalter einschalten; die Spalte ist dann im Export enthalten, auch wenn sie in der Liste Zu exportierende Felder nicht steht. Bei einer Tabelle ohne eigenen Datensatztyp exportieren Sie die Spalte Datenbank-ID und bilden die Kennung im Zielsystem neu.
Ein Feld fehlt in der Feldliste Updatable fields only blendet nicht importierbare Felder aus Schalter ausschalten, wenn die Datei nur gelesen wird; sonst das Feld über die Suche oder Unterfelder anzeigen (Show sub-fields) erreichen
Anhänge fehlen Der Listenexport enthält nur die gewählten Felder; Anhänge am Chatter und in der Dokumenten-App stehen in keiner Spalte des Datensatzes Die Sicherung mit Dateispeicher verwenden oder die Anhänge über ihre eigene Liste exportieren
Das PDF ist eine Textwüste Ein Binärfeld wird als Base64-Text exportiert (Community-Zweig 20.0) Die Datei über die Sicherung entnehmen und die Spalte im Export abwählen
Die Kopie verschickt E-Mails an Kundschaft Sie haben ohne Neutralisieren wiederhergestellt Kopie löschen und erneut mit Neutralisieren einspielen; bei Odoo.sh Staging verwenden
Zahlen und Datumswerte kommen falsch an Trennzeichen, Währungszeichen oder Datumsformat passen nicht CSV mit ISO-Datumsangaben (JJJJ-MM-TT) schreiben, Währungszeichen aus den Zellen entfernen und die Formatoptionen beim Import setzen

Aufbewahrung: Was der Export nicht ersetzt

Der Export beendet die Aufbewahrungspflicht nicht, er erfüllt sie nur anders. In Deutschland beträgt die Frist zehn Jahre für Bücher und Aufzeichnungen, Inventare, Jahresabschlüsse, Lageberichte, die Eröffnungsbilanz und die Unterlagen nach § 147 Abs. 1 Nr. 4a AO, acht Jahre für Buchungsbelege und sechs Jahre für die sonstigen Unterlagen nach § 147 Abs. 1 AO (§ 147 Abs. 3 Satz 1 AO); bei empfangenen Lieferscheinen, die keine Buchungsbelege sind, endet sie mit dem Erhalt der Rechnung, bei abgesandten mit deren Versand (§ 147 Abs. 3 Satz 3 und 4 AO). Der Startzeitpunkt ist je Unterlagenart ein anderer: Nach § 147 Abs. 4 AO beginnt die Frist mit dem Schluss des Kalenderjahrs, in dem die letzte Eintragung in das Buch gemacht, das Inventar, die Eröffnungsbilanz, der Jahresabschluss oder der Lagebericht aufgestellt, der Handels- oder Geschäftsbrief empfangen oder abgesandt oder der Buchungsbeleg entstanden ist, ferner die Aufzeichnung vorgenommen oder die sonstige Unterlage entstanden ist. Für Institute nach dem Kreditwesengesetz einschließlich Zweigstellen nach § 53 KWG, für Unternehmen unter der Aufsicht nach § 1 Abs. 1 VAG und für Wertpapierinstitute ist § 147 Abs. 3 Satz 1 AO weiter in der am 31. Dezember 2024 geltenden Fassung anzuwenden; die Achtjahresfrist gilt für sie nicht (Art. 97 § 19a Abs. 3 EGAO). Bei einer Außenprüfung kann die Finanzbehörde verlangen, dass die Daten in einem maschinell auswertbaren Format übertragen werden (§ 147 Abs. 6 Satz 1 Nr. 3 AO); für den Ausstieg gilt die Erleichterung des § 147 Abs. 6 Satz 5 AO: Nach einem Systemwechsel oder der Auslagerung aus dem Produktivsystem genügt es, die Daten nach Ablauf des fünften Kalenderjahres, das auf die Umstellung folgt, ausschließlich auf einem maschinell lesbaren und maschinell auswertbaren Datenträger vorzuhalten, solange noch nicht mit einer Außenprüfung begonnen wurde. Die Frist selbst läuft weiter.

In Österreich sind Bücher, Inventare, Eröffnungsbilanzen, Jahresabschlüsse samt Lageberichten, Konzernabschlüsse samt Konzernlageberichten, empfangene und abgesandte Geschäftsbriefe und Buchungsbelege sieben Jahre geordnet aufzubewahren, und zwar darüber hinaus so lange, als sie für ein anhängiges gerichtliches oder behördliches Verfahren von Bedeutung sind, in dem der Unternehmer Parteistellung hat (§ 212 Abs. 1 UGB); die Frist läuft vom Schluss des Kalenderjahrs, für das die letzte Bucheintragung vorgenommen, das Inventar aufgestellt, die Eröffnungsbilanz und der Jahresabschluss festgestellt, der Konzernabschluss aufgestellt oder der Geschäftsbrief empfangen oder abgesandt worden ist (§ 212 Abs. 2 UGB). In der Schweiz gilt für Geschäftsbücher und Buchungsbelege eine Frist von zehn Jahren ab Ablauf des Geschäftsjahres (Art. 958f Abs. 1 OR); elektronisch aufbewahren ist zulässig, wenn die Übereinstimmung mit den Geschäftsvorfällen gewährleistet ist und die Unterlagen jederzeit wieder lesbar gemacht werden können (Art. 958f Abs. 3 OR). Ob im Einzelfall das Altsystem, eine Kopie oder Ihr Archiv genügt, klären Sie mit Ihrer Steuerberatung; welche Rolle Betriebsart und Abonnement spielen, behandelt Odoo und digitale Souveränität: Community, OCA, Ausstieg.

Wann Sie Hilfe holen sollten

  • Das Master-Passwort fehlt oder der Datenbank-Manager ist abgeschaltet: Die Wiederherstellung gehört in die Systemadministration.
  • Die Datenbank ist groß: Bei Odoo Online ist der Download dann gesperrt; planen Sie den Weg über den Support vor einer Kündigung.
  • Es gibt mehrere Gesellschaften, eigene Module oder Studio-Anpassungen: Verknüpfungen und Modulversionen entscheiden, ob die Übernahme gelingt.
  • Nur ein Teil des Bestands geht ins Zielsystem: Nehmen Sie Ihre Steuerberatung dazu, bevor Sie Systeme oder Datenträger abschalten.

Häufige Fragen

Reicht eine Sicherung ohne Dateispeicher für einen Umzug?

Nein. Odoo legt Dateien wie Rechnungs-PDF, Produktbilder und hochgeladene Belege als Anhänge im Dateispeicher ab, nicht in den Spalten des Datensatzes; eine Sicherung ohne Dateispeicher enthält sie nicht. Im Community-Datenbankmanager steuert das Kontrollkästchen Include filestore, ob die zip-Sicherung den Dateispeicher mitnimmt; das Format pg_dump custom format (without filestore) enthält ihn ohnehin nicht, und die Kommandozeile schließt ihn mit --no-filestore aus (Dokumentation 20.0). Einzelne Binärfelder dagegen, die Odoo in einer Spalte der Datenbank speichert statt als Anhang, stecken auch ohne Dateispeicher in der Sicherung (ORM-Dokumentation 20.0, Feld Binary: attachment=True legt den Wert als ir_attachment ab, attachment=False in einer Tabellenspalte). Wird nur die Datenbank gebraucht, etwa für einen Test, reicht das kleinere Format ohne Dateispeicher.

Kann ich einen Datenbestand ohne Sicherung aus Odoo herausziehen?

Ja, aber nur ausschnittsweise. Der Listenexport enthält genau die Felder, die Sie auswählen. Anhänge, die nicht an einem Feld des Datensatzes hängen, etwa Dateien in der Dokumenten-App oder am Chatter, stehen in keiner Spalte des Datensatzes; nehmen Sie sie über die Liste der Anhänge (Einstellungen ‣ Technisch ‣ Datenbankstruktur ‣ Dateianhänge) oder mit der Sicherung mit.

Was passiert, wenn ich in Odoo Online kündige?

Nach der Datenschutzerklärung wird die Kundendatenbank bei Kündigung drei Wochen deaktiviert – als Schonfrist, in der Sie es sich anders überlegen können – und danach vernichtet; gelöschte personenbezogene Daten können bis zu zwölf Monate in den Sicherungen bleiben. Laden Sie die Sicherung daher vor der Kündigung herunter. Der Abonnementvertrag verlangt zusätzlich, dass Odoo auf Ihre Wahl löscht oder die Daten zurückgibt.

Muss ich Daten, die ich nicht ins Zielsystem übernehme, weiter aufbewahren?

Ja, soweit eine Aufbewahrungsfrist sie erfasst: Deutschland 10, 8 oder 6 Jahre (§ 147 Abs. 3 Satz 1 AO), Österreich 7 Jahre und darüber hinaus so lange, wie die Unterlagen für ein anhängiges Verfahren von Bedeutung sind, in dem Sie Parteistellung haben (§ 212 Abs. 1 UGB), Schweiz 10 Jahre (Art. 958f Abs. 1 OR). In Deutschland läuft die Frist zudem nicht ab, solange die Unterlagen für Steuern von Bedeutung sind, für die die Festsetzungsfrist noch läuft (§ 147 Abs. 3 Satz 5 AO).

Wie viele Zeilen muss meine Exportdatei haben?

So viele, wie die Liste Datensätze zeigt, wenn Sie nur Felder des Datensatzes exportieren. Wählen Sie dagegen Unterfelder einer Position, etwa die Zeilen eines Verkaufsauftrags, steht nach dem Community-Zweig 20.0 die erste Position in derselben Zeile wie der Auftragskopf und jede weitere Position in einer zusätzlichen Zeile, in der die Felder des Kopfes leer bleiben; die Import-Dokumentation 20.0 verlangt für den Rückweg dieselbe Anordnung. Zählen Sie dann die verschiedenen Werte in der Spalte Externe ID oder Datenbank-ID, nicht die Zeilen.

Quellen

  1. Daten exportieren und importieren (Odoo 20.0), Abschnitte Daten von Odoo exportieren (Schalter Updatable fields only filtert die Liste der Verfügbaren Felder und lässt die Liste der Zu exportierenden Felder unverändert; Hinweis: Timeout bei großen Exporten, kleinere Stapel), Übersetzungen exportieren (Feld Sprachen, ohne Auswahl Ausgabe in der Benutzersprache, Spalten je gewählter Sprache), Felder für Beziehungen, Bilder importieren, Datensätze mehrfach importieren, one2many-Beziehungsfelder importieren (erste Auftragszeile in der Zeile des Auftrags, jede weitere Position in einer zusätzlichen Zeile ohne Angaben zum Auftrag), Bestehende Daten in Odoo aktualisieren mit dem Unterabschnitt Datenexport vorbereiten (Externe ID ist im Export enthalten, ohne in der Liste der Zu exportierenden Felder zu stehen)Odoo S.A., Dokumentation · abgerufen am
  2. Export and import data (Odoo 20.0), Abschnitt Export data from Odoo (Verweis: große Exporte bei Zeitüberschreitung in kleineren Stapeln verarbeiten)Odoo S.A., Dokumentation · abgerufen am
  3. Odoo Online (Odoo 20.0), Abschnitte Datenbankmanager, Ein Back-up herunterladen, Duplizieren, LöschenOdoo S.A., Dokumentation · abgerufen am
  4. Hosting (Odoo 20.0), Abschnitt Change hosting solution: Übertragungswege je Ausgangs- und Zielbetriebsart, Dump mit DateispeicherOdoo S.A., Dokumentation · abgerufen am
  5. On-premise (Odoo 20.0), Abschnitt Eine Datenbank duplizieren (<odoo-server>/web/database/manager, Kontrollkästchen Neutralisieren)Odoo S.A., Dokumentation · abgerufen am
  6. Deploying Odoo (Odoo 20.0), Abschnitte Serving attachments (Dateispeicher) und Database Manager Security (admin_passwd, create/delete/dump/restore, Abschalten auf internetzugewandten Systemen, keine großen Datenbanken)Odoo S.A., Dokumentation · abgerufen am
  7. Bugfix updates (Odoo 20.0), Abschnitt Step 2: Make a backup of your database (Sicherung vor jeder Änderung, auf einem anderen Rechner aufbewahren)Odoo S.A., Dokumentation · abgerufen am
  8. Command-line interface (Odoo 20.0), Abschnitte db dump (–format zip | dump, –no-filestore) und db loadOdoo S.A., Entwicklerdokumentation · abgerufen am
  9. Neutralized database (Odoo 20.0), Abschnitte Neutralized database, Non-exhaustive list of the deactivated features (geplante Aktionen, ausgehende E-Mails, Banksynchronisierung, Zahlungsanbieter, Versandmethoden, IAP-Token, Sichtbarkeit der Website)Odoo S.A., Dokumentation · abgerufen am
  10. Studio: Modelle, Module und Apps (Odoo 20.0), Abschnitte Anpassungen exportieren und importieren, Anpassungen importierenOdoo S.A., Dokumentation · abgerufen am
  11. Odoo.sh: Branches (Odoo 20.0), Abschnitte Produktion, Staging, Backups (Reiter Back-ups; Inhalt jeder Sicherung; Aufbewahrung)Odoo S.A., Dokumentation · abgerufen am
  12. Odoo-Datenschutzerklärung, Geltungsbeginn 24. September 2026, Abschnitte Kundendatenbanken (jederzeit vollständige Sicherung über das Kundenkonto), Datenaufbewahrung (bei Kündigung wird die Datenbank 3 Wochen deaktiviert und dann vernichtet) und Aufbewahrungsfrist (gelöschte personenbezogene Daten können bis zu 12 Monate in den Backups bleiben); englische Fassung unter derselben AdresseOdoo S.A. · abgerufen am
  13. Odoo Enterprise Subscription Agreement, Version 13 vom 24. September 2026, Abschnitt 6.5 Buchst. h (Löschen oder Rückgabe der Kundendatenbank auf Wahl des Kunden bei Vertragsende)Odoo S.A., Dokumentation · abgerufen am
  14. Standard and extended support (Odoo 20.0): Odoo 20.0, Release September 2026, Standard-Support bis September 2029 (geplant)Odoo S.A., Dokumentation · abgerufen am
  15. Datenbank-Manager, Modul web, Zweig 20.0 (addons/web/static/src/public/database_manager.qweb.html und database_manager.js): Auswahl Backup Format (zip | pg_dump custom format (without filestore)), Kontrollkästchen Include filestore (vorausgewählt, nur bei zip sichtbar), Restore mit Kontrollkästchen Neutralize, Master-Passwort für create, delete, dump und restoreOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  16. Exportvorgang, Modul web, Zweig 20.0 (addons/web/controllers/export.py): der Schalter Updatable fields only setzt import_compat, die Beschriftung der Kennungsspalte ist External ID, für Tabellen ohne eigenen Datensatztypus entfällt die id-SpalteOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  17. ORM, Zweig 20.0 (odoo/orm/models.py): export_data verlangt Administrator oder Gruppe base.group_allow_export; die Spalte id wird über __ensure_xml_id aufgelöst, das fehlende externe Kennungen im Modul __export__ mit dem Namen <Tabelle>_<ID>_<acht Zeichen> anlegt; Unterfelder einer Verknüpfung: die erste Zeile wird in die Hauptzeile gemischt (merge first line with record's main line), erst jede weitere Zeile wird angehängtOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  18. Binärfelder, Zweig 20.0 (odoo/orm/fields_binary.py): convert_to_export gibt den Inhalt als Base64 zurück; Feldparameter attachment (Vorgabe True) entscheidet, ob der Wert als ir_attachment oder in einer Spalte der Modelltabelle liegtOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  19. ORM (Odoo 20.0), Abschnitt Felder: class Binary — Parameter attachment (bool) legt fest, ob das Feld als ir_attachment oder in einer Spalte der Modelltabelle gespeichert wird (Vorgabe True)Odoo S.A., Dokumentation · abgerufen am
  20. Menüs Technisch, Zweig 20.0 (odoo/addons/base/views/base_menus.xml): Technisch nur mit base.group_no_one; Datenbankstruktur ‣ Modelle, Dateianhänge; Benutzerschnittstelle ‣ Sequenzen und Identifizierungen ‣ Externe IDsOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  21. Gruppen und Privilegien, Zweig 20.0 (odoo/addons/base/security/base_groups.xml): Privileg Export mit der Gruppe Allowed (base.group_allow_export), implizit für Administrator, vorbelegt für den SuperuserOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  22. Zähler der Listenansicht, Zweig 20.0 (addons/web/static/src/core/pager/pager.xml und pager_indicator.xml): Anzeige Wert / Gesamtzahl, ein Pluszeichen steht für eine noch nicht vollständig geladene GesamtzahlOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  23. Deutsche Übersetzungen, Zweig 20.0 (addons/web/i18n/de.po und odoo/addons/base/i18n/de.po): Aktionen, Exportieren, Daten exportieren, Verfügbare Felder, Zu exportierende Felder, Externe ID, Unterfelder anzeigen, Feld auswählen, Feld entfernen; keine Übersetzung für Updatable fields only, Include filestore, Backup, Restore Database; Technisch, Datenbankstruktur, Modelle, Dateianhänge, Sequenzen und Identifizierungen, Externe IDsOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  24. Abgabenordnung (AO), § 147 Ordnungsvorschriften für die Aufbewahrung von Unterlagen (Abs. 3 Satz 1: zehn, acht und sechs Jahre; Abs. 3 Satz 3 und 4: Lieferscheine; Abs. 4: Beginn der Frist; Abs. 6 Satz 1 Nr. 3 und Satz 5)Bundesministerium der Justiz, Gesetze im Internet · abgerufen am
  25. Einführungsgesetz zur Abgabenordnung (EGAO), Art. 97 § 19a Aufbewahrungsfristen (Abs. 2: erstmalige Anwendung der ab 1. Januar 2025 geltenden Fassung des § 147 Abs. 3 Satz 1 AO; Abs. 3: Institute nach dem Kreditwesengesetz, Versicherungsunternehmen und Wertpapierinstitute weiter nach der am 31. Dezember 2024 geltenden Fassung)Bundesministerium der Justiz, Gesetze im Internet · abgerufen am
  26. Unternehmensgesetzbuch (UGB), § 212 Aufbewahrungspflicht, Aufbewahrungsfrist, Fassung vom 14. Oktober 2026Bundeskanzleramt der Republik Österreich, Rechtsinformationssystem des Bundes (RIS) · abgerufen am
  27. Obligationenrecht (OR), Art. 958f Aufbewahrung, konsolidierte Fassung vom 1. Oktober 2026 (SR 220)Schweizerische Eidgenossenschaft, Fedlex · abgerufen am