Introduccion
Odoo 19 es una de las plataformas empresariales más completas y flexibles disponibles hoy en día. Su arquitectura modular permite agregar funcionalidades nuevas, personalizar procesos o integrar servicios externos a través de módulos desarrollados a la medida.
A continuación encontrarás una guía clara y práctica para crear tu primer módulo en Odoo 19, comprender su estructura y comenzar a extender la plataforma de forma profesional.
¿Qué es un módulo en Odoo 19 y para qué sirve?
Un módulo en Odoo es una pieza de software que agrega o modifica funcionalidades dentro del sistema. Puede ser tan simple como un nuevo modelo de datos o tan complejo como una aplicación completa de contabilidad o inventario.
Con un módulo puedes:
Crear nuevas pantallas y menús.
Añadir lógica de negocio.
Integrar servicios externos (SAT, bancos, APIs, etc.).
Personalizar vistas y reportes.
Adaptar procesos al marco fiscal mexicano.
Esto permite que las empresas utilicen Odoo totalmente alineado con sus propias necesidades, sin depender de funcionalidades genéricas.
Estructura basica de un modulo
Un modulo reside en un directorio del sistema de archivos que tiene la siguiente estructura
Crear un directorio para el modulo.
Vamos a crear un directorio dentro del directorio de addons. El directorio de addons puede ser establecido utilizando la bandera --addons-path
Crear archivos clave
- - name: Nombre que aparece en pantalla
- - license: Tipo de licencia del modulo
- - description: Breve descripcion que aparece en pantall del modulo
- - depends: Arreglo de dependencias, indispensable poner 'base' como primera dependencia
- - application: Booleano que define el modulo como aplicacion, mas que nada para filtrado en odoo apps
- - data: Arreglo con los paths de los archivos de datos, el sistema reconoce de manera automatica que hace cada uno, solo es importante seguir la convencion de nombres establecida por odoo
Tip: Para probar que funciona podemos poner el modulo en un directorio de addons independiente, si el servidor no marca errores entonces el modulo es valido y vamos a poder encontrarlo en el catalogo de apps
Activar el modo de depuracion
Actualizar la lista de apps
Desde la interfaz de usuario debemos de actualizar la lista de apps para que neustra app sea mostrada.
Crear modelos
(Opcional) Migrar la base de datos desde la consola
Crear permisos de acceso
- - id: Puede tener cualquier valor
- - name: Puede tener cualquier valor pero normalemente tiene el mismo valor que id, por ejemplo access_model_mymodel, o access_id_1, etc.
- - model_id/id: debe tener siempre el prefijo model_ y debe tener el mismo nombre que el modelo, si el model tiene el caracter '.' se debe reemplazar por '_'
- - group_id/id: se puede dejar vacio para hacer alusion a todos los usuarios, o se puede seleccionar un grupo que normalmente se ven asi base.group_user, todos los usuarios tienen un grupo o varios definidos
- - perm_read: 1 para permitir 0 para negar
- - perm_write: 1 para permitir 0 para negar
- - perm_create: 1 para permitir 0 para negar
- - perm_unlink: 1 para permitir 0 para negar
Crear flujo basico de interfaz de usuario
- Definir la accion
- Definir el elemento del menu
- Agregar los archivos al manifesto
1. En el archivo actions.xml vamos a utilizar la accion act_window
2. En el archivo menu.xml
3. Agregar los archivos al manifesto
Buenas prácticas para módulos en Odoo 19
- Usa nombres coherentes y en inglés si planeas distribuirlo.
- Documenta tu código.
- Sigue las convenciones del Odoo Community Association (OCA).
- Evita modificar vistas o modelos del core sin herencia XML.
- Mantén el módulo simple y modular.
Estas prácticas te ayudarán a mantener tu código entendible y fácil de actualizar cuando Odoo lance nuevas versiones.
Conclusión
Crear un módulo en Odoo 19 te permite adaptar el ERP a las necesidades específicas de cualquier empresa en México, desde facturación electrónica hasta logística, pagos y operaciones internas.
Con esta guía ya tienes las bases para:
Entender la estructura de un módulo
Definir modelos, vistas y seguridad
Instalar y probar el módulo
Seguir buenas prácticas