workspace-v1/shared/knowledge-base/reference/odoo/docs/_analisis/FASE-1-PLAN-ANALISIS.md
rckrdmrd cb4c0681d3 feat(workspace): Add new projects and update architecture
New projects created:
- michangarrito (marketplace mobile)
- template-saas (SaaS template)
- clinica-dental (dental ERP)
- clinica-veterinaria (veterinary ERP)

Architecture updates:
- Move catalog from core/ to shared/
- Add MCP servers structure and templates
- Add git management scripts
- Update SUBREPOSITORIOS.md with 15 new repos
- Update .gitignore for new projects

Repository infrastructure:
- 4 main repositories
- 11 subrepositorios
- Gitea remotes configured

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:43:28 -06:00

17 KiB

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):

  • 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