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
# 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
# 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
# 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
## 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):
Para FASE 3 (Refinacion):
Para FASE 4 (Ejecucion):
Generado: 2026-01-04
Version: 1.0
Estado: COMPLETADO
Siguiente Fase: FASE 2 - Validacion del Plan