# FASE 1: PLAN DE ANALISIS DETALLADO DE ODOO 18.0 **Fecha:** 2026-01-04 **Version:** 1.0 **Estado:** COMPLETADO **Basado en:** FASE-0-ANALISIS-INICIAL.md --- ## 1. ORDEN DE EJECUCION ### Estrategia: Bottom-Up por Dependencias El orden respeta el grafo de dependencias identificado en FASE 0. Los modulos se analizan de forma que cada modulo solo se analice cuando sus dependencias ya esten documentadas. ### Secuencia de Analisis | Orden | Modulo | Dependencias Requeridas | Complejidad | Archivos a Generar | |-------|--------|------------------------|-------------|-------------------| | 1 | **base** | Ninguna | ALTA | MOD, MODELO, FLUJO | | 2 | **product** | base | MEDIA-ALTA | MOD, MODELO, FLUJO | | 3 | **account** | base, product | ALTA | MOD, MODELO, FLUJO | | 4 | **stock** | base, product | MEDIA-ALTA | MOD, MODELO, FLUJO | | 5 | **purchase** | account | MEDIA-BAJA | MOD, MODELO, FLUJO | | 6 | **sale** | account, product | MEDIA | MOD, MODELO, FLUJO | | 7 | **hr** | base (independiente) | MEDIA-ALTA | MOD, MODELO, FLUJO | | 8 | **crm** | base (independiente) | MEDIA | MOD, MODELO, FLUJO | | 9 | **project** | base, analytic | MEDIA-ALTA | MOD, MODELO, FLUJO | ### Diagrama de Precedencia ``` FASE A: Fundamentos ┌─────────────────────────────────────────────────────────────┐ │ [1] base │ │ └── Kernel fundamental, sin dependencias │ └─────────────────────────────────────────────────────────────┘ │ ▼ FASE B: Catalogo Central ┌─────────────────────────────────────────────────────────────┐ │ [2] product │ │ └── Depende de: base │ └─────────────────────────────────────────────────────────────┘ │ ▼ FASE C: Contabilidad y Logistica ┌─────────────────────────────────────────────────────────────┐ │ [3] account ◄─────────────────────► [4] stock │ │ └── Depende de: base, product └── Depende de: base, product │ └─────────────────────────────────────────────────────────────┘ │ ▼ FASE D: Transacciones Comerciales ┌─────────────────────────────────────────────────────────────┐ │ [5] purchase ◄────────────────────► [6] sale │ │ └── Depende de: account └── Depende de: account, product │ └─────────────────────────────────────────────────────────────┘ │ ▼ FASE E: Recursos y Proyectos (Independientes) ┌─────────────────────────────────────────────────────────────┐ │ [7] hr [8] crm [9] project │ │ (independiente) (independiente) (depende de analytic) │ └─────────────────────────────────────────────────────────────┘ ``` --- ## 2. ESTRUCTURA DE DOCUMENTACION POR MODULO ### 2.1 Archivos a Generar por Modulo Para cada modulo se generaran 3 tipos de documentos: | Tipo | Ubicacion | Proposito | |------|-----------|-----------| | MOD-[modulo].md | `02-modulos-business/` | Vision general del modulo | | MODELO-[modulo].md | `03-modelado-datos/` | Tablas, campos y relaciones | | FLUJO-[modulo].md | `04-logica-negocio/` | Estados, transiciones, reglas | ### 2.2 Archivos Transversales | Archivo | Ubicacion | Proposito | |---------|-----------|-----------| | MAPA-DEPENDENCIAS-MODULOS.md | `90-transversal/` | Grafo completo de dependencias | | INVENTARIO-MODULOS-ODOO.md | `90-transversal/` | Lista completa de 600 modulos | | CLASIFICACION-MODULOS.md | `90-transversal/` | Categorizacion por dominio | ### 2.3 Archivos de Integracion | Archivo | Ubicacion | Proposito | |---------|-----------|-----------| | API-XMLRPC.md | `05-apis-integraciones/` | API XML-RPC de Odoo | | API-REST.md | `05-apis-integraciones/` | API REST (si existe) | --- ## 3. TEMPLATES DE DOCUMENTACION ### Template: MOD-[modulo].md ```markdown # Modulo: [Nombre Completo] **Odoo Module:** [nombre_tecnico] **Version:** [version] **Categoria:** [categoria] **Es Aplicacion:** [Si/No] --- ## 1. Descripcion General [Descripcion del proposito y funcionalidad principal del modulo] ## 2. Dependencias ### 2.1 Dependencias Explicitas (manifest) | Modulo | Tipo | Descripcion | |--------|------|-------------| | base | Requerido | [descripcion] | ### 2.2 Dependencias Implicitas (uso de modelos) | Modelo Externo | Campo | Modulo Origen | |---------------|-------|---------------| | res.partner | partner_id | base | ## 3. Modelos Principales | Modelo | Descripcion | Archivo Fuente | |--------|-------------|----------------| | sale.order | Orden de venta | models/sale_order.py | ## 4. Integraciones con Otros Modulos [Como se integra con otros modulos del ecosistema] ## 5. Notas de Implementacion [Observaciones relevantes para implementadores] --- **Referencias:** - Archivo fuente: `addons/[modulo]/` - Manifest: `addons/[modulo]/__manifest__.py` ``` ### Template: MODELO-[modulo].md ```markdown # Modelo de Datos: [Nombre Modulo] **Modulo:** [nombre_tecnico] **Total Modelos:** [numero] **Total Campos Documentados:** [numero] --- ## 1. Indice de Modelos | Modelo | Descripcion | Campos | Archivo | |--------|-------------|--------|---------| | sale.order | Orden de venta | 45 | sale_order.py | --- ## 2. Detalle por Modelo ### 2.1 [nombre.modelo] **Archivo:** `models/[archivo].py` **Descripcion:** [descripcion] **Hereda de:** [modelo padre si aplica] #### Campos | Campo | Tipo | FK/Rel | Req | Default | Descripcion | |-------|------|--------|-----|---------|-------------| | id | Integer | PK | Si | Auto | Identificador | | name | Char(256) | - | Si | - | Nombre | | partner_id | Many2one | res.partner | Si | - | Cliente | #### Campos Computed | Campo | Depende de | Metodo | Store | |-------|------------|--------|-------| | amount_total | line_ids.price_total | _compute_amounts | Si | #### Constraints | Nombre | Tipo | Campos | Mensaje | |--------|------|--------|---------| | check_date | CHECK | date_order | Fecha debe ser valida | #### Relaciones ``` [modelo] ──Many2one──► res.partner (partner_id) [modelo] ◄──One2many── sale.order.line (order_id) ``` --- ## 3. Diagrama Entidad-Relacion ``` ┌─────────────────┐ ┌─────────────────┐ │ sale.order │──────►│ res.partner │ │ │ │ │ │ - name │ │ - name │ │ - partner_id │ │ - email │ │ - amount_total │ │ │ └─────────────────┘ └─────────────────┘ │ │ One2many ▼ ┌─────────────────┐ │ sale.order.line │ │ │ │ - product_id │ │ - quantity │ │ - price_unit │ └─────────────────┘ ``` --- **Referencias:** - Carpeta models: `addons/[modulo]/models/` ``` ### Template: FLUJO-[modulo].md ```markdown # Flujo de Negocio: [Nombre Modulo] **Modulo:** [nombre_tecnico] **Modelo Principal:** [modelo con estados] --- ## 1. Estados del Documento | Estado | Nombre UI | Descripcion | Siguiente | |--------|-----------|-------------|-----------| | draft | Borrador | Estado inicial | confirm | | confirmed | Confirmado | Pedido validado | done, cancel | | done | Completado | Pedido finalizado | - | | cancel | Cancelado | Pedido anulado | draft | --- ## 2. Diagrama de Transiciones ``` ┌──────────────┐ │ DRAFT │ │ (Borrador) │ └──────┬───────┘ │ action_confirm() │ ▼ ┌──────────────┐ │ CONFIRMED │ │ (Confirmado) │ └──────┬───────┘ │ ┌────────────┼────────────┐ │ │ action_done() action_cancel() │ │ ▼ ▼ ┌──────────────┐ ┌──────────────┐ │ DONE │ │ CANCEL │ │ (Completado) │ │ (Cancelado) │ └──────────────┘ └──────────────┘ ``` --- ## 3. Metodos de Transicion | Metodo | De Estado | A Estado | Validaciones | |--------|-----------|----------|--------------| | action_confirm | draft | confirmed | Requiere lineas | | action_done | confirmed | done | Requiere factura | | action_cancel | * | cancel | - | | action_draft | cancel | draft | Solo admin | --- ## 4. Reglas de Negocio | ID | Regla | Validacion | Mensaje Error | |----|-------|------------|---------------| | R1 | Requiere cliente | partner_id required | Debe seleccionar cliente | | R2 | Minimo una linea | len(line_ids) > 0 | Debe tener productos | --- ## 5. Acciones Automaticas | Trigger | Accion | Condicion | |---------|--------|-----------| | on_confirm | Crear picking | Si hay productos almacenables | | on_done | Crear factura | Si auto_invoice = True | --- ## 6. Permisos por Estado | Estado | Editable | Grupos con Acceso | |--------|----------|-------------------| | draft | Si | sales_team.group_sale_salesman | | confirmed | Parcial | sales_team.group_sale_manager | | done | No | - | --- **Referencias:** - Archivo principal: `models/[modelo].py` - Acciones server: `data/[modulo]_data.xml` ``` --- ## 4. PUNTOS DE VALIDACION ### Validacion Entre Modulos | Punto | Despues de | Validar | Accion si Falla | |-------|------------|---------|-----------------| | V1 | base | Estructura correcta | Corregir template | | V2 | product | Refs a base OK | Actualizar base | | V3 | account | Refs a base, product OK | Actualizar anteriores | | V4 | stock | Refs a base, product OK | Actualizar anteriores | | V5 | purchase | Refs a account OK | Actualizar account | | V6 | sale | Refs a account, product OK | Actualizar anteriores | | V7 | hr | Independiente | N/A | | V8 | crm | Independiente | N/A | | V9 | project | Refs a analytic OK | Documentar analytic si necesario | ### Checklist de Validacion por Modulo ```markdown ## Checklist Validacion [MODULO] ### Documentacion - [ ] MOD-[modulo].md existe y completo - [ ] MODELO-[modulo].md existe y completo - [ ] FLUJO-[modulo].md existe y completo (si aplica estados) ### Contenido MOD - [ ] Descripcion general clara - [ ] Dependencias explicitas listadas - [ ] Dependencias implicitas identificadas - [ ] Modelos principales tabulados - [ ] Referencias a archivos fuente ### Contenido MODELO - [ ] Todos los modelos documentados - [ ] Todos los campos con tipo correcto - [ ] Relaciones FK/Many2one identificadas - [ ] Constraints documentadas - [ ] Campos computed con dependencias ### Contenido FLUJO - [ ] Estados documentados - [ ] Transiciones con metodos - [ ] Reglas de negocio listadas - [ ] Permisos por estado (si aplica) ### Coherencia - [ ] Refs a otros modulos existen en docs - [ ] Relaciones bidireccionales documentadas - [ ] No hay referencias rotas ``` --- ## 5. CRONOGRAMA DE EJECUCION ### Estimacion de Esfuerzo | Modulo | Modelos | Complejidad | Esfuerzo Estimado | |--------|---------|-------------|-------------------| | base | 49 | ALTA | 40-50 tareas | | product | 26 | MEDIA-ALTA | 25-30 tareas | | account | 55 | ALTA | 45-60 tareas | | stock | 26 | MEDIA-ALTA | 30-35 tareas | | purchase | 13 | MEDIA-BAJA | 12-15 tareas | | sale | 19 | MEDIA | 20-25 tareas | | hr | 26 | MEDIA-ALTA | 25-30 tareas | | crm | 16 | MEDIA | 18-22 tareas | | project | 20 | MEDIA-ALTA | 30-35 tareas | | **TOTAL** | **250** | - | **245-302 tareas** | ### Fases de Ejecucion | Fase | Modulos | Documentos Generados | Validaciones | |------|---------|---------------------|--------------| | A | base | 3 docs | V1 | | B | product | 3 docs | V2 | | C | account, stock | 6 docs | V3, V4 | | D | purchase, sale | 6 docs | V5, V6 | | E | hr, crm, project | 9 docs | V7, V8, V9 | | FINAL | transversales | 3-5 docs | Validacion integral | --- ## 6. CRITERIOS DE EXITO POR MODULO ### Criterios Cuantitativos | Metrica | Objetivo | |---------|----------| | % Modelos documentados | 100% de modelos principales | | % Campos documentados | >= 90% de campos | | % Estados documentados | 100% si tiene workflow | | Referencias rotas | 0 | ### Criterios Cualitativos - La documentacion es suficiente para entender el modulo sin ver codigo - Las dependencias estan claramente identificadas - Un desarrollador podria replicar la funcionalidad basandose en la documentacion - Los flujos de negocio son comprensibles para no-tecnicos --- ## 7. ENTREGABLES FASE 4 Al completar la FASE 4 (Ejecucion), se habran generado: ### Por Modulo Prioritario (9 modulos) ``` 02-modulos-business/ ├── MOD-base.md ├── MOD-product.md ├── MOD-account.md ├── MOD-stock.md ├── MOD-purchase.md ├── MOD-sale.md ├── MOD-hr.md ├── MOD-crm.md └── MOD-project.md 03-modelado-datos/ ├── MODELO-base.md ├── MODELO-product.md ├── MODELO-account.md ├── MODELO-stock.md ├── MODELO-purchase.md ├── MODELO-sale.md ├── MODELO-hr.md ├── MODELO-crm.md └── MODELO-project.md 04-logica-negocio/ ├── FLUJO-base.md ├── FLUJO-ventas.md ├── FLUJO-compras.md ├── FLUJO-inventario.md ├── FLUJO-contabilidad.md ├── FLUJO-recursos-humanos.md ├── FLUJO-crm.md └── FLUJO-proyectos.md ``` ### Documentos Transversales ``` 90-transversal/ ├── MAPA-DEPENDENCIAS-MODULOS.md ├── INVENTARIO-MODULOS-ODOO.md └── CLASIFICACION-MODULOS.md 05-apis-integraciones/ ├── API-XMLRPC.md └── API-REST.md (si existe) ``` ### Documentos de Control ``` _analisis/ ├── FASE-0-ANALISIS-INICIAL.md (existente) ├── FASE-1-PLAN-ANALISIS.md (este documento) ├── FASE-2-VALIDACION-PLAN.md (siguiente) ├── FASE-3-PLAN-REFINADO-FINAL.md ├── MODULO-[nombre]-CRUDO.md (por modulo) ├── VALIDACION-DEPS-[modulo].md (por modulo) ├── FASE-5-VALIDACION-FINAL.md └── FASE-6-INFORME-FINAL.md ``` --- ## 8. PROXIMOS PASOS ### Para FASE 2 (Validacion del Plan): - [ ] Verificar que todos los modulos de FASE 0 estan cubiertos - [ ] Validar que dependencias estan en orden correcto - [ ] Confirmar que templates cumplen estandar SCRUM - [ ] Identificar gaps o ambiguedades - [ ] Proponer ajustes si necesario ### Para FASE 3 (Refinacion): - [ ] Incorporar feedback de validacion - [ ] Resolver ambiguedades identificadas - [ ] Producir plan final ejecutable ### Para FASE 4 (Ejecucion): - [ ] Ejecutar analisis de base (primer modulo) - [ ] Validar estructura antes de continuar - [ ] Proceder con modulos siguientes --- **Generado:** 2026-01-04 **Version:** 1.0 **Estado:** COMPLETADO **Siguiente Fase:** FASE 2 - Validacion del Plan