Zum Hauptinhalt springen
Odoo 20 · Technischer Leitfaden

Odoo 20 ist da: Was sich für Ihre Integrationen und Konnektoren ändert

Odoo 20.0 FINAL ist veröffentlicht. Vier Dinge brechen Konnektoren von Drittanbietern (eines davon bis zum 31. Oktober ganz ohne Fehlermeldung). So haben wir sie am echten Code geprüft, bevor wir unsere eigenen portiert haben.

Quellcode von Odoo 20, vor dem Portieren der Konnektoren Zeile für Zeile geprüft

Odoo 20.0 FINAL erschien nach der Odoo Experience in Brüssel (24.–26. September 2026) und ist bereits im App Store veröffentlicht. Bevor wir irgendetwas portiert haben, haben wir den echten Quellcode gelesen (kein Changelog und keinen Drittanbieter-Blog), um zu wissen, was einen Konnektor bricht, der heute in Odoo 19 funktioniert. Das haben wir gefunden, jeweils mit Datei und Zeile, in der wir es geprüft haben.

Methode: Jede Zeile der Tabelle stammt aus der Ausführung von ls, grep oder git log gegen /srv/odoo-fuente/odoo-20.0 und /srv/odoo-fuente/enterprise-20.0 (Commits 17ff827a1 und e5186134, 26. und 27. September 2026), nicht aus dem Lesen über Odoo 20 an anderer Stelle.

Die vier Brüche, die wir geprüft haben

Was entfälltWas passiert, wenn Ihr Modul es verwendetGeprüft gegen
base_vat und base_ibanDas Modul lässt sich nicht installieren, wenn es von ihnen abhängt: Die Prüfung von NIF/IBAN wurde in den Kern verlagert.addons/ des Quellcodes von Odoo 20.0 FINAL
ir.model.access und ir.ruleSie gehen in einem neuen Modell auf, ir.access. Zugriffsrechte-CSVs im alten Format werden nicht mehr gelesen.odoo/addons/base/models/ir_access.py + odoo/upgrade_code/19.4-00-ir-access.py
odoo.osv (das gesamte Paket)from odoo.osv import expression löst ModuleNotFoundError aus und das Modul wird nicht geladen.odoo/osv/ fehlt im Quellcode von Odoo 20.0 FINAL
Das Feld datas bei Anhängenir.attachment.create({'datas': ...}) löst seit dem 31. Oktober 2026 AssertionError aus. Bis dahin legte es den Anhang mit der Größe 0 an, ohne jeden Fehler, und das signierte PDF war leer.odoo/addons/base/models/ir_attachment.py:502 im Quellcode von Odoo 20.0 vom 2. November 2026 (vorher Zeile 535)

Aktualisierung vom 6. November 2026: Bis zum 31. Oktober war die Änderung bei den Anhängen die gefährlichste, weil sie keine Ausnahme auslöste: Ein Konnektor für elektronische Signatur, der weiterhin 'datas': base64... schrieb, ließ sich sauber installieren, bestand den Smoke-Test und speicherte das signierte PDF mit der Größe 0. Seit dem Odoo-Commit c06a07264bdb («[FIX] base: remove fallback for datas») löst dieses create AssertionError: _check_contents should handle that aus. Die Lösung bleibt gleich: 'raw' mit den nicht codierten Bytes, was in Odoo 17, 18, 19 und 20 funktioniert.

Was Sie vor der Migration eines eigenen Konnektors prüfen sollten

  1. grep -rn base_vat\|base_iban __manifest__.py in allen Ihren Modulen: Taucht es in depends auf, lässt sich das Modul nicht installieren.
  2. grep -rn 'from odoo.osv import' im Python-Code: Jedes Vorkommen muss auf from odoo.fields import Domain umgestellt werden.
  3. Dateien ir.model.access.csv: odoo-bin upgrade_code --script 19.4-00-ir-access ausführen. Das Skript konvertiert das Format, aktualisiert das Manifest und löscht die alte CSV (das Skript von Odoo selbst).
  4. Jedes 'datas': base64.b64encode(...), das in einen Anhang geschrieben wird: auf 'raw': ... ändern, das in Odoo 17, 18, 19 und 20 gleich funktioniert: Sie müssen mit der Korrektur nicht bis zum Portieren warten.

So haben wir es selbst getestet

Jeder unserer Konnektoren, der Odoo 20 erreicht, durchläuft zuerst ein echtes Odoo 20.0 FINAL mit Enterprise: Er wird tatsächlich installiert, seine gesamte Testbatterie läuft (mit mindestens einem Test und ohne übersprungene) und nur wenn alles grün ist, wird er veröffentlicht. Eine fehlerfreie Installation genügt nicht: Der Fehler bei den Anhängen zeigt sich zum Beispiel nur in einem Test, der das Dokument anlegt (bis zum 31. Oktober einer, der es zusätzlich öffnete), nie in einem sauberen Installationslog.

Mit diesem Maßstab haben wir bereits 9 Konnektoren in Odoo 20 veröffentlicht (die Einzelheiten stehen in diesem Artikel) und der Rest des Katalogs folgt Modul für Modul, sobald er die komplette Testbatterie besteht, nicht auf einmal.

Häufige Fragen

Kann man Odoo 20 schon in der Produktion einsetzen?

Odoo 20.0 FINAL ist veröffentlicht und im App Store verfügbar. Bevor Sie ein System mit eigenen Konnektoren migrieren, prüfen Sie, ob sie von base_vat, base_iban oder odoo.osv abhängen und ob sie Anhänge mit 'datas' schreiben.

Warum kann ein Konnektor, der sich gut installieren lässt, in Odoo 20 trotzdem scheitern?

Weil die Installation nur prüft, ob Manifest und Ansichten geladen werden. Die Änderung bei den Anhängen (Feld datas) fällt bei der Installation nicht auf: Seit dem 31. Oktober 2026 löst sie beim Anlegen des Datensatzes AssertionError aus. Bis dahin gab es keinen Fehler und das Dokument wurde leer gespeichert. Nur ein Test, der diesen Code durchläuft, erkennt es.

Nützliche Links bei FlexigoTech

Unsere Konnektoren, bereits in Odoo 20Die aktuelle Liste, mit Link zu jeder ProduktseiteMigration auf Odoo 20: ChecklisteFür Unternehmen mit aktiven IntegrationenModulkatalogPreis und Versionen jedes Moduls

Was wir dazu tun

Individuelle IntegrationenWas sie leisten, Screenshots, Versionen und Preis.

Hängt Ihr Konnektor von uns ab? Wir sagen Ihnen, ob Odoo 20 ihn bricht

Schreiben Sie uns mit dem Namen des Moduls und wir sagen Ihnen, anhand des echten Codes, ob Sie von einem dieser vier Brüche betroffen sind. Schreiben Sie an comercial@flexigobe.com oder rufen Sie an unter +34 616 809 504.

Mit einem Ingenieur sprechen