Cómo añadir el costo total a los reportes de envíos inter-compañía en Odoo 17.0
Este artículo documenta la solución para una solicitud de mejora relacionada con la inclusión del 'Costo total' de la mercadería en los reportes de envíos entre sucursales en Odoo 17.0, resuelta mediante un desarrollo personalizado.
Problema
El cliente, Logosoft, requería una mejora en la funcionalidad de reportes del módulo de inventario, específicamente para los envíos inter-compañía. Su necesidad era obtener un reporte de 'Envíos entre sucursales' que incluyera el 'Costo total' de la mercadería transferida.
El proceso actual del cliente implicaba navegar a Inventario > Reportes > Envíos entre sucursales, seleccionar los envíos relevantes y luego utilizar la opción de exportación para obtener los datos. Sin embargo, el campo 'Costo total' no estaba disponible como una opción para ser seleccionado y exportado, lo que impedía la obtención de un reporte completo según sus requisitos.
Solución
La solución a esta solicitud de mejora se abordó mediante un desarrollo personalizado en Odoo 17.0 para integrar el cálculo y la visualización del 'Costo total' en los reportes de envíos inter-compañía.
-
Análisis de Requerimientos: Se realizó un análisis exhaustivo para comprender la definición exacta del 'Costo total' deseado por el cliente (por ejemplo, el precio de costo del producto en el momento del envío o el costo promedio).
-
Diseño de la Solución Técnica: Se diseñó una estrategia para extender los modelos de Odoo (`stock.picking`, `stock.move` o un modelo relacionado) y calcular el 'Costo total' para cada envío o línea de envío. Esto incluyó determinar cómo almacenar o calcular este valor de manera eficiente.
-
Desarrollo Personalizado: Se implementó el código necesario para:
- Añadir un nuevo campo computado o almacenado para el 'Costo total' en el modelo de datos relevante.
- Modificar la vista de árbol (
tree view) o la vista de reporte de 'Envíos entre sucursales' para incluir este nuevo campo, haciéndolo visible y exportable. - Asegurar que el cálculo del costo sea preciso y consistente con la lógica de negocio del cliente.
-
Pruebas y Validación: Se llevaron a cabo pruebas internas para verificar la funcionalidad y precisión del nuevo campo. Posteriormente, se validó la solución con el cliente para asegurar que el reporte cumplía con sus expectativas y proporcionaba la información requerida correctamente.
-
Implementación: Una vez validada, la mejora fue desplegada en el entorno de producción del cliente.
Causa Raíz
La causa raíz del problema fue una limitación funcional en la versión estándar de Odoo 17.0. Los reportes de 'Envíos entre sucursales' no ofrecían de forma predeterminada la capacidad de visualizar o exportar el 'Costo total' de la mercadería transferida, lo que requirió una adaptación específica para satisfacer las necesidades de reporting del cliente.
Prevención y Recomendaciones
Para evitar situaciones similares o gestionar futuras necesidades de reporting:
-
Definición exhaustiva de requisitos: Durante la fase de implementación o al planificar nuevas funcionalidades, es crucial definir y documentar detalladamente todos los requisitos de reporting, incluyendo los campos específicos y las métricas necesarias.
-
Exploración de herramientas de BI: Para necesidades de reporting complejas o muy específicas, considerar la integración de herramientas de Business Intelligence (BI) externas o módulos de reporting avanzados que ofrezcan mayor flexibilidad y capacidades de personalización sin depender de desarrollos a medida para cada campo.
-
Capacitación en Odoo Studio y Vistas: Capacitar a los usuarios clave en el uso de Odoo Studio (si aplica) y en la personalización de vistas (como las vistas de árbol y pivot) para que puedan adaptar y extraer información de los reportes estándar en la medida de lo posible.