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ällt | Was passiert, wenn Ihr Modul es verwendet | Geprüft gegen |
|---|---|---|
base_vat und base_iban | Das 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.rule | Sie 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ängen | ir.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
grep -rn base_vat\|base_iban __manifest__.pyin allen Ihren Modulen: Taucht es independsauf, lässt sich das Modul nicht installieren.grep -rn 'from odoo.osv import'im Python-Code: Jedes Vorkommen muss auffrom odoo.fields import Domainumgestellt werden.- Dateien
ir.model.access.csv:odoo-bin upgrade_code --script 19.4-00-ir-accessausführen. Das Skript konvertiert das Format, aktualisiert das Manifest und löscht die alte CSV (das Skript von Odoo selbst). - 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
Was wir dazu tun
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.

