Módulos Odoo

GitHub y puesta en producción

Versionar el módulo en tu repositorio, publicarlo en la Odoo Apps Store, conseguir la aprobación del paso a producción e instalarlo en tu Odoo real.

8 min de lecturaActualizado el 1 de octubre de 2026

Un módulo probado en sandbox todavía no es tuyo mientras no esté en tu repositorio. Esta página cubre los últimos pasos: versionar, publicar en la Odoo Apps Store si lo deseas y pasar a producción.

Conectar tu repositorio

Aidoo sube el código a tu repositorio de GitHub. Sigues siendo su propietario, y nada depende de Aidoo para releerlo o retomarlo.

Conecta GitHub

Desde la página GitHub de Aidoo, un propietario o un administrador del espacio conecta la cuenta de GitHub que alojará tus módulos.

Fija tu repositorio de Odoo

Elige el repositorio que aloja tus desarrollos de Odoo, su rama de producción y, si hace falta, su rama de staging, y luego «Fijar e importar los módulos»: los módulos que ya están en esas ramas se importan en Aidoo Modules. Los módulos creados con Aidoo se suben después allí, cada uno en su carpeta.

Sin repositorio fijado, el primer envío de un módulo crea un repositorio privado dedicado a él. En la página «Mis módulos», «Resincronizar desde GitHub» vuelve a importar los módulos de la rama del entorno.

Subir el código

El módulo funciona, súbelo a GitHub.

Claude envía el árbol completo del módulo, con un mensaje de commit que describe el cambio. El botón «Enviar a GitHub», en la parte superior de la ficha del módulo, hace lo mismo («Crear el repositorio y enviar» en el primer envío). En el repositorio encuentras código Odoo estándar: modelos Python, vistas XML, archivos de permisos y manifiesto.

Comprueba adónde llegan los envíos

Un módulo importado vuelve a la rama de la que procede; un módulo nuevo va a la rama por defecto del repositorio fijado. Si esa rama se despliega automáticamente (Odoo.sh, integración continua), cada envío llega allí: fija preferentemente un repositorio cuya rama por defecto sirva para el desarrollo.

Sube pronto y a menudo

Nada obliga a esperar a que el módulo esté perfecto. Cada envío crea un punto de retorno, y el historial de Git cuenta la evolución del módulo mucho mejor que la conversación.

Cada variante de versión (consulta Crear un módulo) se sube al mismo repositorio, en una rama que lleva su número de versión: 17.0, 18.0… Es la convención de los módulos de Odoo, la que lee la Odoo Apps Store.

Sube a GitHub la variante Odoo 18 del módulo.

Publicar en la Odoo Apps Store

La Odoo Apps Store (apps.odoo.com) no tiene API de publicación: lee el manifiesto y la página static/description/index.html de un repositorio Git cuyas ramas llevan el número de versión. La pestaña Odoo Store de la ficha del módulo lo prepara todo.

Completa la ficha

Eslogan, resumen, puntos fuertes (6 como máximo), licencia, precio y moneda (EUR o USD), sitio web, soporte, y una guía de uso de 10 pasos como máximo, cada uno de los cuales puede ilustrarse con una captura. Estos ajustes se copian en el manifiesto de cada versión del módulo.

Genera la ficha

Guardar y generar la ficha escribe, en cada versión, la página de descripción, la imagen principal (1200 × 630 px, dibujada a partir del icono, el nombre y el eslogan, o importada) y hasta 6 capturas, tomadas de la galería de medios o importadas desde tu ordenador. Una vista previa muestra la página tal como se publicará, y se actualiza sola tras cada nueva captura automática.

Propón el módulo a la tienda

La lista de comprobación señala lo que falta. Bloqueante: icono, resumen, licencia, precio coherente con la licencia, página de descripción generada, GitHub conectado. Recomendado: eslogan, guía, imagen principal, capturas, cada versión probada, repositorio público. Proponer el módulo a la tienda sube una rama por versión, y puede hacer público el repositorio.

Registra el repositorio en apps.odoo.com

Es el único paso manual. Pega la URL del repositorio en la página para añadir repositorios de apps.odoo.com; si es privado, añade en GitHub la clave pública que muestra Odoo como «deploy key» de solo lectura. Odoo analiza las ramas y publica una ficha por versión: cuenta unas horas para la primera indexación.

Prepara la ficha de la Odoo Apps Store del módulo, gratuita con licencia LGPL-3, con una guía de uso paso a paso ilustrada con las capturas de la galería.

Aplicación de pago, repositorio público

Una aplicación de pago debe tener licencia OPL-1 (las licencias disponibles son LGPL-3, OPL-1, AGPL-3 y MIT). Hacer público el repositorio expone todo su contenido: si tu módulo vive en tu repositorio principal de Odoo, junto a otros módulos, prefiere la deploy key.

La aprobación antes de producción

Claude no puede desplegar en producción

Es un límite del producto, no un ajuste. Ninguna herramienta del conector de Modules puede instalar nada en tu Odoo real, y Aidoo tampoco: el paso a producción es una aprobación humana, y la instalación se hace desde tu repositorio Git.

El paso a producción tiene tres condiciones acumulativas:

  1. el módulo se ha probado en sandbox en su estado actual
  2. un propietario o un administrador del espacio lo aprueba desde la tarjeta de despliegue en producción, en la pestaña principal
  3. tu plan permite el despliegue en producción, lo que excluye la prueba gratuita

La aprobación pasa el proyecto al estado En producción. Cualquier modificación de un archivo de la versión base posterior a una prueba anula la primera condición. No existe forma de sortearlo: es lo que garantiza que nada se apruebe sin haber pasado por una instancia de pruebas.

Instalar el módulo en tu Odoo

El módulo se instala como cualquier otro módulo de Odoo, a partir de tu repositorio: trae el código a la ruta de addons de tu Odoo (git pull), actualiza la lista de aplicaciones y luego instala o actualiza el módulo. En Odoo.sh, es el envío a la rama de producción lo que lanza la compilación. Odoo aplica entonces las migraciones, crea las tablas y carga las vistas y los permisos.

Haz una copia de seguridad antes

Un módulo de Odoo puede crear columnas y modificar vistas. La operación es reversible en la mayoría de los casos, pero una copia reciente es la única garantía real. En Odoo.sh, lanza una copia manual; en tu propio servidor, guarda la base de datos y el filestore.

Instala preferentemente fuera del horario de actividad: un código Python nuevo exige reiniciar el servicio de Odoo.

Hacer evolucionar un módulo ya en producción

El ciclo vuelve a empezar igual: describes la evolución, Claude modifica los archivos, el proyecto vuelve a borrador, nueva prueba en sandbox, nuevo envío a Git, nueva aprobación y, por último, actualización del módulo en tu Odoo.

Las migraciones de datos exigen especial atención

Añadir un campo no tiene riesgo. Renombrar o eliminar un campo que ya contiene datos en producción, sí: Odoo no migra automáticamente los valores existentes. Indícaselo explícitamente a Claude para que escriba el script de migración, y pruébalo en una sandbox cargada con un juego de datos representativo.

Diagnóstico

La instalación falla en la sandbox

Es el caso normal del desarrollo, no una incidencia. Claude lee los registros, identifica el error de Python o XML y lo corrige. Si el mismo fallo se repite tres veces, reformula la necesidad: el problema suele estar en la petición, no en el código.

El módulo se instala pero no se ve nada

Casi siempre es una vista mal dirigida o faltan permisos de acceso. Comprueba que tu usuario pertenece al grupo esperado y pide a Claude que revise la herencia de la vista.

Falla el envío a GitHub

Comprueba que GitHub sigue conectado al espacio y que la rama existe. Una conexión revocada se restablece desde la página de GitHub de Aidoo.

El botón de despliegue en producción no aparece

Solo aparece para un módulo en estado Probado en sandbox, y solo para un propietario o un administrador. Durante la prueba gratuita, la aprobación se rechaza con un mensaje que invita a pasar al plan Standard.

La tienda no encuentra mi módulo

Comprueba que las ramas llevan exactamente el número de versión (18.0), que el repositorio es público o que la deploy key está añadida, y deja unas horas para la primera indexación.

Quiero retomar el módulo sin Aidoo

Está previsto: el código está en tu repositorio, en formato Odoo estándar. Clónalo, ábrelo en tu editor e instálalo como cualquier módulo. No queda ninguna dependencia de Aidoo en el código producido.

Siguiente paso