erp-core/docs/01-analisis-referencias/odoo/MAPEO-ODOO-TO-MGN.md

15 KiB

Mapeo Completo: Odoo → ERP Genérico (MGN)

Proyecto: ERP Genérico Fecha: 2025-11-23 Versión: 1.0.0


Objetivo

Mapear funcionalidades de los 12 módulos Odoo analizados a los 14 módulos del ERP Genérico (MGN-001 a MGN-014).


Tabla de Mapeo General

Módulo Odoo Módulo MGN Nombre MGN Prioridad Reutilización
base MGN-001 Fundamentos P0 90%
auth_signup MGN-001 Fundamentos P0 85%
base (res.company) MGN-002 Empresas y Organizaciones P0 90%
base (partners, countries, uom) MGN-003 Catálogos Maestros P0 95%
account MGN-004 Financiero Básico P0 70%
stock MGN-005 Inventario Básico P0 80%
purchase MGN-006 Compras Básico P0 85%
sale MGN-007 Ventas Básico P0 85%
analytic MGN-008 Contabilidad Analítica P0 95%
crm MGN-009 CRM Básico P1 75%
hr MGN-010 RRHH Básico P1 70%
project MGN-011 Proyectos Genéricos P1 80%
account (reports) MGN-012 Reportes y Analytics P1 60%
portal MGN-013 Portal de Usuarios P1 80%
mail MGN-014 Mensajería y Notificaciones P0 85%

Mapeo Detallado por Módulo MGN

MGN-001: Fundamentos

Fuentes Odoo:

  • base (res.users, res.groups, ir.model.access, ir.rule)
  • auth_signup (signup, reset password)

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-001 Descripción Prioridad
Autenticación usuarios RF-AUTH-001 Login con JWT P0
Gestión de usuarios RF-AUTH-002 CRUD usuarios, perfiles P0
Sistema RBAC RF-AUTH-003 Roles, permisos por modelo, RLS P0
Multi-tenancy RF-AUTH-004 Schema-level isolation P0
Registro usuarios RF-AUTH-005 Signup con validación P0
Reset password RF-AUTH-006 Token seguro, expiración 24h P0
Cambio contraseña RF-AUTH-007 Validación password fuerte P0
Verificación email RF-AUTH-008 Token de verificación P1

Modelos Odoo → Tablas MGN:

  • res.usersauth.users
  • res.groupsauth.roles
  • ir.model.accessauth.model_permissions
  • ir.rule → PostgreSQL RLS policies

Patrones a Adoptar:

  • RBAC con herencia de roles
  • Permisos CRUD granulares
  • RLS (Row Level Security)
  • Soft delete (active=true/false)

Patrones a Adaptar:

  • 🔧 Sesiones → JWT tokens
  • 🔧 Python decorators → TypeScript decorators
  • 🔧 XML-RPC → REST APIs

MGN-002: Empresas y Organizaciones

Fuente Odoo:

  • base (res.company)

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-002 Descripción Prioridad
Gestión de empresas RF-COMP-001 CRUD empresas, holdings P0
Multi-company RF-COMP-002 Usuario acceso a múltiples empresas P0
Configuración empresa RF-COMP-003 Logo, datos fiscales, moneda P0

Modelos Odoo → Tablas MGN:

  • res.companycore.companies

Patrones a Adoptar:

  • Holdings (parent_id)
  • Empresa vinculada a partner
  • Moneda principal por empresa

MGN-003: Catálogos Maestros

Fuente Odoo:

  • base (res.partner, res.currency, res.country, uom.uom)

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-003 Descripción Prioridad
Gestión de partners RF-CAT-001 Clientes, proveedores, contactos (patrón universal) P0
Catálogo monedas RF-CAT-002 ISO 4217, tasas de cambio P0
Catálogo países RF-CAT-003 ISO 3166-1, estados/provincias P0
Unidades de medida RF-CAT-004 Categorías, conversiones P0

Modelos Odoo → Tablas MGN:

  • res.partnercore.partners
  • res.currencycore.currencies
  • res.countrycore.countries
  • res.country.statecore.states
  • uom.uomcore.units_of_measure
  • uom.categorycore.uom_categories

Patrones a Adoptar:

  • Partner universal (is_customer, is_vendor, is_employee)
  • Estructura jerárquica (parent_id)
  • Conversiones de UoM

MGN-004: Financiero Básico

Fuente Odoo:

  • account

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-004 Descripción Prioridad
Plan de cuentas RF-FIN-001 Chart of accounts, tipos de cuenta P0
Asientos contables RF-FIN-002 Journal entries, débito/crédito P0
Facturas RF-FIN-003 Facturas cliente/proveedor P0
Pagos RF-FIN-004 Pagos, conciliación P0
Reportes financieros RF-FIN-005 Balance, P&L P1
Multi-moneda RF-FIN-006 Tasas de cambio, gain/loss P1

Modelos Odoo → Tablas MGN:

  • account.accountfinancial.accounts
  • account.movefinancial.journal_entries
  • account.move.linefinancial.journal_entry_lines
  • account.journalfinancial.journals
  • account.paymentfinancial.payments

Patrones a Adoptar:

  • Doble entrada (débito = crédito)
  • Estados: draft → posted
  • Conciliación bancaria

MGN-005: Inventario Básico

Fuente Odoo:

  • stock

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-005 Descripción Prioridad
Gestión almacenes RF-INV-001 Warehouses, configuración P0
Ubicaciones RF-INV-002 Estructura jerárquica, tipos P0
Movimientos RF-INV-003 Stock moves, origen/destino P0
Pickings RF-INV-004 Albaranes, agrupación movimientos P0
Trazabilidad RF-INV-005 Lotes, números de serie P1
Valoración RF-INV-006 FIFO, Average Cost P1

Modelos Odoo → Tablas MGN:

  • stock.warehouseinventory.warehouses
  • stock.locationinventory.locations
  • stock.moveinventory.stock_moves
  • stock.pickinginventory.pickings
  • stock.quantinventory.stock_quants

Patrones a Adoptar:

  • Doble movimiento (origen → tránsito → destino)
  • Ubicaciones virtuales
  • Estrategias de inventario

MGN-006: Compras Básico

Fuente Odoo:

  • purchase

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-006 Descripción Prioridad
Gestión proveedores RF-COM-001 Catálogo, condiciones pago P0
RFQ RF-COM-002 Solicitudes de cotización P0
Órdenes de compra RF-COM-003 Purchase orders, aprobación P0
Recepciones RF-COM-004 Integración con inventario P0
Facturación compras RF-COM-005 Facturas de proveedor P0

Modelos Odoo → Tablas MGN:

  • purchase.orderpurchase.orders
  • purchase.order.linepurchase.order_lines
  • Partners con supplier_rank > 0 → Vendors

Patrones a Adoptar:

  • Workflow: RFQ → PO → Recepción → Factura
  • Integración automática con stock
  • Control cantidades recibidas vs facturadas

MGN-007: Ventas Básico

Fuente Odoo:

  • sale

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-007 Descripción Prioridad
Gestión clientes RF-VEN-001 Catálogo, condiciones pago P0
Cotizaciones RF-VEN-002 Quotations, envío a cliente P0
Órdenes de venta RF-VEN-003 Sales orders, aprobación P0
Entregas RF-VEN-004 Integración con inventario P0
Facturación ventas RF-VEN-005 Facturas de cliente P0
Portal clientes RF-VEN-006 Aprobación online, firma P1

Modelos Odoo → Tablas MGN:

  • sale.ordersales.orders
  • sale.order.linesales.order_lines
  • Partners con customer_rank > 0 → Customers

Patrones a Adoptar:

  • Workflow: Cotización → Venta → Entrega → Factura
  • Portal de aprobación
  • Firma electrónica

MGN-008: Contabilidad Analítica

Fuente Odoo:

  • analytic

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-008 Descripción Prioridad
Cuentas analíticas RF-ANA-001 Proyectos, centros de costo P0
Líneas analíticas RF-ANA-002 Registro de costos/ingresos P0
Reportes analíticos RF-ANA-003 Balance por proyecto P0
Integración módulos RF-ANA-004 Compras, ventas, nómina → analytic P0

Modelos Odoo → Tablas MGN:

  • account.analytic.accountanalytics.accounts
  • account.analytic.lineanalytics.lines

Patrones a Adoptar:

  • Campo analytic_account_id en TODOS los módulos transaccionales
  • Reportes consolidados por proyecto
  • Integración universal

Aplicabilidad: - CRÍTICO para ERP de proyectos


MGN-009: CRM Básico

Fuente Odoo:

  • crm

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-009 Descripción Prioridad
Gestión de leads RF-CRM-001 Leads/oportunidades P1
Pipeline ventas RF-CRM-002 Stages, probabilidad P1
Actividades RF-CRM-003 Seguimiento, recordatorios P1
Conversión RF-CRM-004 Lead → Cotización P1
Reportes CRM RF-CRM-005 Rendimiento vendedores P2

Modelos Odoo → Tablas MGN:

  • crm.leadcrm.leads
  • crm.stagecrm.stages
  • crm.teamcrm.teams

Patrones a Adoptar:

  • Pipeline kanban drag-and-drop
  • Lead scoring automático
  • Actividades de seguimiento

MGN-010: RRHH Básico

Fuente Odoo:

  • hr, hr_contract, hr_attendance

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-010 Descripción Prioridad
Gestión empleados RF-HR-001 Datos personales, puestos P1
Departamentos RF-HR-002 Estructura jerárquica P1
Contratos RF-HR-003 Tipo, salario, fechas P1
Asistencias RF-HR-004 Check-in/out, horas trabajadas P1
Timesheet RF-HR-005 Horas por proyecto/tarea P2

Modelos Odoo → Tablas MGN:

  • hr.employeehr.employees
  • hr.departmenthr.departments
  • hr.contracthr.contracts
  • hr.attendancehr.attendances

Patrones a Adoptar:

  • Empleado vinculado a partner y user
  • Departamentos jerárquicos
  • Integración timesheet → analytic accounts

MGN-011: Proyectos Genéricos

Fuente Odoo:

  • project

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-011 Descripción Prioridad
Gestión proyectos RF-PRO-001 Proyectos, manager P1
Tareas RF-PRO-002 Tasks, subtasks, asignación P1
Stages RF-PRO-003 Pipeline personalizable P1
Timesheet RF-PRO-004 Horas por tarea P2
Portal proyectos RF-PRO-005 Vista cliente P2

Modelos Odoo → Tablas MGN:

  • project.projectprojects.projects
  • project.taskprojects.tasks
  • project.task.typeprojects.task_stages

Patrones a Adoptar:

  • Vista kanban de tareas
  • Integración con analytic accounts
  • Portal de clientes

Aplicabilidad: - CRÍTICO para construcción/proyectos


MGN-012: Reportes y Analytics

Fuente Odoo:

  • account (reportes)

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-012 Descripción Prioridad
Reportes financieros RF-REP-001 Balance, P&L P1
Dashboards RF-REP-002 KPIs, gráficos P1
Reportes personalizados RF-REP-003 Query builder P2
Exportación RF-REP-004 PDF, Excel, CSV P1

Patrones a Adoptar:

  • Reportes con filtros dinámicos
  • Caching de reportes pesados
  • Exportación multi-formato

MGN-013: Portal de Usuarios

Fuente Odoo:

  • portal

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-013 Descripción Prioridad
Portal clientes RF-POR-001 Dashboard, login P1
Vista documentos RF-POR-002 Órdenes, facturas P1
Aprobación cotizaciones RF-POR-003 Firma electrónica P1
Vista proyectos RF-POR-004 Tareas, comentarios P2

Modelos Odoo → Tablas MGN:

  • Usuarios con share=true → Rol portal_user

Patrones a Adoptar:

  • RLS estricto (usuario solo ve sus registros)
  • Permisos read-only + acciones permitidas
  • Firma electrónica (canvas HTML5)

Aplicabilidad: - CRÍTICO para portal derechohabientes INFONAVIT


MGN-014: Mensajería y Notificaciones

Fuente Odoo:

  • mail

Funcionalidades a Migrar:

Funcionalidad Odoo RF MGN-014 Descripción Prioridad
Sistema notificaciones RF-NOT-001 Notificaciones en tiempo real P0
Mensajería interna RF-NOT-002 Chat, mensajes por registro P1
Tracking cambios RF-NOT-003 Auditoría automática P0
Actividades RF-NOT-004 Recordatorios, tareas P1
Followers RF-NOT-005 Suscripción a registros P2

Modelos Odoo → Tablas MGN:

  • mail.messagenotifications.messages
  • mail.followersnotifications.followers
  • mail.activitynotifications.activities
  • Tracking implícito → notifications.tracking

Patrones a Adoptar:

  • Tracking automático de campos (tracking=true)
  • Chatter UI por registro
  • Followers + notificaciones

Patrones a Mejorar:

  • 🔧 Polling → WebSocket (Socket.IO)
  • 🔧 Mejor UX de notificaciones

Aplicabilidad: - ESENCIAL para auditoría y colaboración


Resumen de Reutilización

Módulo MGN % Reutilización Odoo Esfuerzo Adaptación Prioridad
MGN-001 90% Bajo P0
MGN-002 90% Bajo P0
MGN-003 95% Muy Bajo P0
MGN-004 70% Medio P0
MGN-005 80% Bajo-Medio P0
MGN-006 85% Bajo P0
MGN-007 85% Bajo P0
MGN-008 95% Muy Bajo P0
MGN-009 75% Medio P1
MGN-010 70% Medio P1
MGN-011 80% Bajo-Medio P1
MGN-012 60% Alto P1
MGN-013 80% Bajo-Medio P1
MGN-014 85% Bajo P0

Promedio de reutilización: 81%


Conclusión

Los 12 módulos de Odoo analizados proporcionan una base sólida para implementar los 14 módulos del ERP Genérico.

Principales beneficios del análisis:

  1. Lógica de negocio probada en miles de empresas
  2. Patrones arquitectónicos consolidados
  3. Funcionalidades completas y bien diseñadas
  4. Reducción de riesgo en decisiones de diseño

Próximos pasos:

  1. Usar este mapeo para crear RF de MGN-001 a MGN-014
  2. Diseñar BD basándose en modelos Odoo
  3. Adaptar patrones Odoo a stack Node.js + React + PostgreSQL

Fecha: 2025-11-23 Analista: Architecture-Analyst Estado: Mapeo completo