Saltar al contenido principal
Odoo 20 · Guía técnica

Odoo 20 ya está aquí: qué cambia para tus integraciones y conectores

Odoo 20.0 FINAL ya está publicado. Cuatro cosas rompen conectores de terceros — una de ellas sin dar ningún error — y así las hemos comprobado contra el código real antes de portar los nuestros.

Código fuente de Odoo 20 revisado línea a línea antes de portar los conectores

Odoo 20.0 FINAL salió tras la Odoo Experience de Bruselas (24–26 de septiembre de 2026) y ya está publicado en el App Store. Antes de portar nada, leímos el código fuente real — no un changelog ni un blog de terceros — para saber qué rompe a un conector que hoy funciona en Odoo 19. Esto es lo que encontramos, con el fichero y la línea donde lo comprobamos.

Método: cada fila de la tabla sale de ejecutar ls, grep o git log contra /srv/odoo-fuente/odoo-20.0 y /srv/odoo-fuente/enterprise-20.0 (commits 17ff827a1 y e5186134, 26 y 27 de septiembre de 2026), no de leer sobre Odoo 20 en otro sitio.

Las cuatro roturas que hemos verificado

Qué desapareceQué pasa si tu módulo lo usaVerificado contra
base_vat y base_ibanEl módulo no instala si depende de ellos: la validación de NIF/IBAN se mudó al núcleo.addons/ del código fuente de Odoo 20.0 FINAL
ir.model.access e ir.ruleSe funden en un modelo nuevo, ir.access. Los CSV de permisos en el formato antiguo no se leen.odoo/addons/base/models/ir_access.py + odoo/upgrade_code/19.4-00-ir-access.py
odoo.osv (el paquete entero)from odoo.osv import expression da ModuleNotFoundError y el módulo no carga.odoo/osv/ ausente en el código fuente de Odoo 20.0 FINAL
El campo datas en adjuntosir.attachment.create({'datas': ...}) crea el adjunto con tamaño 0, sin ningún error. El PDF firmado sale vacío.odoo/addons/base/models/ir_attachment.py:535 en el código fuente de Odoo 20.0 FINAL

La más peligrosa es la de los adjuntos: no lanza ninguna excepción. Un conector de firma electrónica que siga escribiendo 'datas': base64... instala limpio, pasa el smoke test y guarda el PDF firmado con tamaño 0. Se descubre cuando un cliente intenta abrir el documento, no en el log del deploy.

Qué revisar antes de migrar un conector propio

  1. grep -rn base_vat\|base_iban __manifest__.py en todos tus módulos: si aparece en depends, no instala.
  2. grep -rn 'from odoo.osv import' en el código Python: cada aparición hay que cambiarla a from odoo.fields import Domain.
  3. Ficheros ir.model.access.csv: correr odoo-bin upgrade_code --script 19.4-00-ir-access, que convierte el formato, actualiza el manifiesto y borra el CSV viejo (el guion oficial de Odoo).
  4. Cualquier 'datas': base64.b64encode(...) escrito a un adjunto: cambiarlo a 'raw': ..., que funciona igual en Odoo 17, 18, 19 y 20 — no hace falta esperar a portar para arreglarlo.

Cómo lo hemos probado nosotros

Cada conector nuestro que llega a Odoo 20 pasa primero por un Odoo 20.0 FINAL real con Enterprise: se instala de verdad, se ejecuta toda su batería de tests — con al menos una prueba y ninguna saltada — y solo si todo sale en verde se publica. Instalar sin errores no basta: la rotura de los adjuntos, por ejemplo, solo la ve un test que abre el documento después de crearlo, nunca un log de instalación limpio.

Con ese criterio ya tenemos 9 conectores publicados en Odoo 20 — el detalle está en este artículo — y el resto del catálogo va llegando módulo a módulo, según va pasando la batería completa, no de golpe.

Preguntas frecuentes

¿Ya se puede instalar Odoo 20 en producción?

Odoo 20.0 FINAL está publicado y disponible en el App Store. Antes de migrar un despliegue con conectores personalizados, revisa si dependen de base_vat, base_iban u odoo.osv, y si escriben adjuntos con 'datas'.

¿Por qué un conector que instala bien puede fallar igualmente en Odoo 20?

Porque instalar solo comprueba que el manifiesto y las vistas cargan. El cambio en los adjuntos (campo datas) no da ningún error al crear el registro: el fallo aparece al leer o abrir el documento guardado, algo que solo detecta un test que lo comprueba de verdad.

Enlaces útiles dentro de FlexigoTech

Nuestros conectores ya en Odoo 20La lista viva, con enlace a cada fichaMigrar a Odoo 20: checklistPara empresas con integraciones activasCatálogo de módulosPrecio y versiones de cada uno

¿Tu conector depende de nosotros? Te decimos si Odoo 20 lo rompe

Escríbenos con el nombre del módulo y te decimos, contra el código real, si te afecta alguna de estas cuatro roturas. Escribe a comercial@flexigobe.com o llama al +34 616 809 504.

Hablar con un ingeniero