Vai al contenuto principale
Odoo 20 · Guida tecnica

Odoo 20 è qui: cosa cambia per le tue integrazioni e i tuoi connettori

Odoo 20.0 FINAL è stato pubblicato. Quattro cose rompono i connettori di terze parti (una di queste, fino al 31 ottobre, senza dare alcun errore) e così le abbiamo verificate sul codice reale prima di portare i nostri.

Codice sorgente di Odoo 20 rivisto riga per riga prima di portare i connettori

Odoo 20.0 FINAL è uscito dopo la Odoo Experience di Bruxelles (24–26 settembre 2026) ed è già pubblicato nell'App Store. Prima di portare qualsiasi cosa, abbiamo letto il codice sorgente reale (non un changelog né un blog di terze parti) per sapere cosa rompe un connettore che oggi funziona in Odoo 19. Ecco cosa abbiamo trovato, con il file e la riga in cui l'abbiamo verificato.

Metodo: ogni riga della tabella nasce dall'esecuzione di ls, grep o git log su /srv/odoo-fuente/odoo-20.0 e /srv/odoo-fuente/enterprise-20.0 (commit 17ff827a1 e e5186134, 26 e 27 settembre 2026), non dalla lettura di articoli su Odoo 20 altrove.

Le quattro rotture che abbiamo verificato

Cosa scompareCosa succede se il tuo modulo lo usaVerificato su
base_vat e base_ibanIl modulo non si installa se dipende da essi: la validazione di NIF/IBAN è passata al core.addons/ del codice sorgente di Odoo 20.0 FINAL
ir.model.access e ir.ruleSi fondono in un nuovo modello, ir.access. I CSV dei permessi nel vecchio formato non vengono letti.odoo/addons/base/models/ir_access.py + odoo/upgrade_code/19.4-00-ir-access.py
odoo.osv (l'intero pacchetto)from odoo.osv import expression genera ModuleNotFoundError e il modulo non si carica.odoo/osv/ assente nel codice sorgente di Odoo 20.0 FINAL
Il campo datas negli allegatiir.attachment.create({'datas': ...}) genera AssertionError dal 31 ottobre 2026. Fino ad allora creava l'allegato con dimensione 0, senza alcun errore, e il PDF firmato risultava vuoto.odoo/addons/base/models/ir_attachment.py:502 nel codice sorgente di Odoo 20.0 del 2 novembre 2026 (prima, la riga 535)

Aggiornamento del 6 novembre 2026: fino al 31 ottobre, la più pericolosa era quella degli allegati, perché non generava alcuna eccezione: un connettore di firma elettronica che continuasse a scrivere 'datas': base64... si installava senza problemi, superava lo smoke test e salvava il PDF firmato con dimensione 0. Dal commit c06a07264bdb di Odoo («[FIX] base: remove fallback for datas»), quel create genera AssertionError: _check_contents should handle that. La correzione non cambia: 'raw' con i byte non codificati, che vale in Odoo 17, 18, 19 e 20.

Cosa controllare prima di migrare un connettore proprio

  1. grep -rn base_vat\|base_iban __manifest__.py in tutti i tuoi moduli: se compare in depends, non si installa.
  2. grep -rn 'from odoo.osv import' nel codice Python: ogni occorrenza va cambiata in from odoo.fields import Domain.
  3. File ir.model.access.csv: eseguire odoo-bin upgrade_code --script 19.4-00-ir-access, che converte il formato, aggiorna il manifest ed elimina il vecchio CSV (lo script della stessa Odoo).
  4. Qualsiasi 'datas': base64.b64encode(...) scritto su un allegato: cambiarlo in 'raw': ..., che funziona allo stesso modo in Odoo 17, 18, 19 e 20 : non serve aspettare il porting per correggerlo.

Come l'abbiamo testato noi

Ogni nostro connettore che arriva su Odoo 20 passa prima da un Odoo 20.0 FINAL reale con Enterprise: si installa davvero, viene eseguita tutta la sua batteria di test (con almeno un test e nessuno saltato) e solo se tutto è verde viene pubblicato. Installare senza errori non basta: la rottura degli allegati, ad esempio, la vede solo un test che crea il documento (fino al 31 ottobre, uno che lo apriva anche), mai un log di installazione pulito.

Con questo criterio abbiamo già 9 connettori pubblicati su Odoo 20 (il dettaglio è in questo articolo) e il resto del catalogo arriva modulo per modulo, man mano che supera l'intera batteria, non tutto insieme.

Domande frequenti

Si può già installare Odoo 20 in produzione?

Odoo 20.0 FINAL è pubblicato e disponibile nell'App Store. Prima di migrare un'installazione con connettori personalizzati, controlla se dipendono da base_vat, base_iban o odoo.osv e se scrivono allegati con 'datas'.

Perché un connettore che si installa bene può comunque fallire in Odoo 20?

Perché l'installazione verifica solo che manifest e viste si carichino. La modifica sugli allegati (campo datas) non emerge all'installazione: dal 31 ottobre 2026 genera AssertionError alla creazione del record e, fino a quella data, non dava alcun errore e il documento veniva salvato vuoto. Lo rileva solo un test che passa da quel codice.

Link utili in FlexigoTech

I nostri connettori già su Odoo 20L'elenco aggiornato, con il link a ogni schedaMigrare a Odoo 20: checklistPer aziende con integrazioni attiveCatalogo dei moduliPrezzo e versioni di ciascuno

Cosa facciamo in merito

Integrazioni su misuraCosa fa, schermate, versioni e prezzo.

Il tuo connettore dipende da noi? Ti diciamo se Odoo 20 lo rompe

Scrivici il nome del modulo e ti diciamo, sul codice reale, se ti riguarda una di queste quattro rotture. Scrivi a comercial@flexigobe.com o chiama il +34 616 809 504.

Parla con un ingegnere