erp-retail/orchestration/planes/fase-4-validacion/VALIDACION-COMPLETITUD.md

433 lines
16 KiB
Markdown

# VALIDACION DE COMPLETITUD
**Fecha:** 2025-12-18
**Fase:** 4 - Validacion
**Objetivo:** Verificar que no faltan objetos o componentes dependientes
---
## 1. VALIDACION DE PRERREQUISITOS CORE
### 1.1 Modulos Core Requeridos
| Modulo | Estado | Requerido | Validado | Notas |
|--------|--------|-----------|----------|-------|
| MGN-001 Auth | 40% | 100% | :x: | Falta completar JWT, roles, permisos |
| MGN-002 Users | 40% | 100% | :x: | Depende de Auth |
| MGN-003 Tenants | 50% | 100% | :x: | RLS policies incompletas |
| MGN-004 Roles | 30% | 100% | :x: | Sistema de permisos |
| MGN-005 Catalogs | 0% | 100% | :x: | **BLOQUEANTE** - No iniciado |
| MGN-010 Financial | 70% | 90% | :x: | Falta migrar a TypeORM |
| MGN-011 Inventory | 60% | 80% | :x: | Products y stock_quants |
| MGN-012 Partners | 50% | 80% | :x: | Falta servicio completo |
| MGN-013 Sales | 50% | 70% | :x: | Pricelists incompleto |
### 1.2 Entidades Core Requeridas por Retail
| Entidad | Schema | Estado | Usado Por |
|---------|--------|--------|-----------|
| tenants | auth | Existe | Todos los modulos |
| users | auth | Existe | Auth, POS |
| roles | auth | Parcial | Auth, Permisos |
| permissions | auth | No existe | Auth |
| user_roles | auth | No existe | Auth |
| countries | core | No existe | Partners |
| currencies | core | No existe | Precios |
| sequences | core | No existe | Numeracion |
| uom | core | No existe | Productos |
| uom_categories | core | No existe | UoM |
| partners | core | Parcial | Clientes, Proveedores |
| taxes | financial | Existe | Facturacion |
| tax_groups | financial | No existe | Impuestos |
| accounts | financial | Existe | Contabilidad |
| journals | financial | Existe | Pagos |
| payment_methods | financial | No existe | POS, E-commerce |
| product_categories | inventory | Existe | Productos |
| products | inventory | Existe | Todos |
| warehouses | inventory | Existe | Inventario |
| stock_quants | inventory | Parcial | Stock |
| pricelists | sales | No existe | Precios |
| pricelist_items | sales | No existe | Precios |
### 1.3 Acciones Requeridas para Core
```yaml
acciones_core:
criticas:
- id: ACT-CORE-001
modulo: MGN-005 Catalogs
descripcion: Implementar catalogos base completos
entidades:
- core.countries
- core.currencies
- core.uom_categories
- core.uom
- core.sequences
prioridad: P0
bloqueante: true
- id: ACT-CORE-002
modulo: MGN-001 Auth
descripcion: Completar sistema de autenticacion
entidades:
- auth.permissions
- auth.user_roles
servicios:
- AuthService (completar JWT)
- PermissionsService
prioridad: P0
bloqueante: true
altas:
- id: ACT-CORE-003
modulo: MGN-010 Financial
descripcion: Migrar a TypeORM
entidades:
- financial.tax_groups
- financial.payment_methods
prioridad: P0
- id: ACT-CORE-004
modulo: MGN-013 Sales
descripcion: Implementar listas de precios
entidades:
- sales.pricelists
- sales.pricelist_items
prioridad: P0
```
---
## 2. VALIDACION DE MODULOS RETAIL
### 2.1 RT-001 Fundamentos
| Componente | Tipo | Estado | Dependencia |
|------------|------|--------|-------------|
| retail schema | DDL | Planificado | - |
| branches | Entity | Planificado | auth.tenants |
| cash_registers | Entity | Planificado | branches |
| branch_users | Entity | Planificado | branches, users |
| BranchesService | Service | Planificado | - |
| CashRegistersService | Service | Planificado | BranchesService |
**Validacion:** :white_check_mark: Completo - Todas las dependencias identificadas
---
### 2.2 RT-002 POS
| Componente | Tipo | Estado | Dependencia |
|------------|------|--------|-------------|
| pos_sessions | Entity | Planificado | branches, cash_registers, users |
| pos_orders | Entity | Planificado | pos_sessions, partners |
| pos_order_lines | Entity | Planificado | pos_orders, products |
| pos_payments | Entity | Planificado | pos_orders |
| POSSessionService | Service | Planificado | CashRegistersService |
| POSOrderService | Service | Planificado | PriceEngineService, RetailStockService, LoyaltyService |
| POSPaymentService | Service | Planificado | - |
| POSSyncService | Service | Planificado | POSOrderService |
| POSController | Controller | Planificado | POSSessionService, POSOrderService |
| POSGateway | WebSocket | Planificado | POSSyncService |
| Sales Page | Frontend | Planificado | API Client |
| Checkout Page | Frontend | Planificado | API Client |
**Validacion:** :white_check_mark: Completo
**Dependencias externas validadas:**
- [x] PriceEngineService (RT-006)
- [x] RetailStockService (RT-003)
- [x] LoyaltyService (RT-005)
- [x] Products (MGN-011)
- [x] Partners (MGN-012)
---
### 2.3 RT-003 Inventario
| Componente | Tipo | Estado | Dependencia |
|------------|------|--------|-------------|
| stock_transfers | Entity | Planificado | branches, users |
| stock_transfer_lines | Entity | Planificado | stock_transfers, products |
| stock_adjustments | Entity | Planificado | branches, users |
| stock_adjustment_lines | Entity | Planificado | stock_adjustments, products |
| branch_stock (view) | View | Planificado | stock_quants, branches, products |
| RetailStockService | Service | Planificado | StockService (core) |
| TransfersService | Service | Planificado | RetailStockService |
| AdjustmentsService | Service | Planificado | RetailStockService |
| InventoryController | Controller | Planificado | Todos los services |
**Validacion:** :white_check_mark: Completo
**Dependencias externas validadas:**
- [x] inventory.stock_quants (MGN-011)
- [x] inventory.products (MGN-011)
- [x] inventory.warehouses (MGN-011)
---
### 2.4 RT-004 Compras
| Componente | Tipo | Estado | Dependencia |
|------------|------|--------|-------------|
| purchase_suggestions | Entity | Planificado | branches, products, partners |
| supplier_orders | Entity | Planificado | partners, branches, users |
| supplier_order_lines | Entity | Planificado | supplier_orders, products |
| goods_receipts | Entity | Planificado | supplier_orders, branches, partners |
| goods_receipt_lines | Entity | Planificado | goods_receipts, products |
| RetailPurchaseService | Service | Planificado | PurchaseService (core) |
| PurchaseSuggestionsService | Service | Planificado | RetailStockService |
| GoodsReceiptService | Service | Planificado | RetailStockService |
| PurchaseController | Controller | Planificado | Todos los services |
**Validacion:** :white_check_mark: Completo
---
### 2.5 RT-005 Clientes
| Componente | Tipo | Estado | Dependencia |
|------------|------|--------|-------------|
| loyalty_programs | Entity | Planificado | tenants |
| membership_levels | Entity | Planificado | loyalty_programs |
| loyalty_transactions | Entity | Planificado | partners, loyalty_programs, pos_orders |
| customer_memberships | Entity | Planificado | partners, loyalty_programs, membership_levels |
| RetailCustomersService | Service | Planificado | PartnersService (core) |
| LoyaltyService | Service | Planificado | - |
| CustomersController | Controller | Planificado | RetailCustomersService, LoyaltyService |
**Validacion:** :white_check_mark: Completo
**Dependencias externas validadas:**
- [x] core.partners (MGN-012)
- [x] retail.pos_orders (RT-002)
---
### 2.6 RT-006 Precios
| Componente | Tipo | Estado | Dependencia |
|------------|------|--------|-------------|
| promotions | Entity | Planificado | tenants |
| promotion_products | Entity | Planificado | promotions, products, product_categories |
| coupons | Entity | Planificado | tenants, partners |
| coupon_redemptions | Entity | Planificado | coupons, pos_orders |
| PriceEngineService | Service | Planificado | PricelistsService (core), PromotionsService, CouponsService |
| PromotionsService | Service | Planificado | - |
| CouponsService | Service | Planificado | - |
| PricingController | Controller | Planificado | Todos los services |
**Validacion:** :white_check_mark: Completo
**Dependencias externas validadas:**
- [x] sales.pricelists (MGN-013) - **PENDIENTE IMPLEMENTAR**
- [x] inventory.products (MGN-011)
- [x] inventory.product_categories (MGN-011)
---
### 2.7 RT-007 Caja
| Componente | Tipo | Estado | Dependencia |
|------------|------|--------|-------------|
| cash_movements | Entity | Planificado | pos_sessions, users |
| cash_closings | Entity | Planificado | pos_sessions, users |
| cash_counts | Entity | Planificado | pos_sessions, users |
| CashSessionService | Service | Planificado | POSSessionService |
| CashMovementService | Service | Planificado | CashSessionService |
| CashClosingService | Service | Planificado | CashSessionService |
| CashController | Controller | Planificado | Todos los services |
**Validacion:** :white_check_mark: Completo
**Dependencias externas validadas:**
- [x] retail.pos_sessions (RT-002)
- [x] auth.users (MGN-002)
---
### 2.8 RT-008 Reportes
| Componente | Tipo | Estado | Dependencia |
|------------|------|--------|-------------|
| mv_daily_sales | Mat. View | Planificado | pos_orders, pos_sessions |
| mv_product_sales | Mat. View | Planificado | pos_order_lines, pos_orders, pos_sessions |
| mv_branch_stock_summary | Mat. View | Planificado | branches, stock_quants, products |
| DashboardService | Service | Planificado | Multiples repositories |
| SalesReportService | Service | Planificado | ReportsService (core) |
| ProductReportService | Service | Planificado | - |
| CashReportService | Service | Planificado | - |
| ExportService | Service | Planificado | - |
| ReportsController | Controller | Planificado | Todos los services |
**Validacion:** :white_check_mark: Completo
**Dependencias externas validadas:**
- [x] retail.pos_orders (RT-002)
- [x] retail.pos_order_lines (RT-002)
- [x] retail.pos_sessions (RT-002)
- [x] retail.cash_closings (RT-007)
- [x] inventory.stock_quants (MGN-011)
---
### 2.9 RT-009 E-commerce
| Componente | Tipo | Estado | Dependencia |
|------------|------|--------|-------------|
| carts | Entity | Planificado | tenants, partners |
| cart_items | Entity | Planificado | carts, products |
| ecommerce_orders | Entity | Planificado | partners, branches |
| ecommerce_order_lines | Entity | Planificado | ecommerce_orders, products |
| shipping_rates | Entity | Planificado | tenants |
| CatalogService | Service | Planificado | ProductsService |
| CartService | Service | Planificado | - |
| CheckoutService | Service | Planificado | CartService, PriceEngineService, RetailStockService |
| PaymentGatewayService | Service | Planificado | Stripe, Conekta providers |
| ShippingService | Service | Planificado | - |
| EcommerceOrderService | Service | Planificado | - |
| StorefrontController | Controller | Planificado | Todos los services |
| EcommerceAdminController | Controller | Planificado | EcommerceOrderService |
**Validacion:** :white_check_mark: Completo
**Dependencias externas validadas:**
- [x] inventory.products (MGN-011)
- [x] core.partners (MGN-012)
- [x] retail.branches (RT-001)
- [x] PriceEngineService (RT-006)
- [x] RetailStockService (RT-003)
---
### 2.10 RT-010 Facturacion
| Componente | Tipo | Estado | Dependencia |
|------------|------|--------|-------------|
| cfdi_config | Entity | Planificado | tenants |
| cfdis | Entity | Planificado | pos_orders, ecommerce_orders, partners |
| CFDIService | Service | Planificado | CFDIBuilderService, PACService, XMLService, PDFService |
| CFDIBuilderService | Service | Planificado | - |
| PACService | Service | Planificado | FinkokPAC, FacturamaPAC |
| XMLService | Service | Planificado | - |
| PDFService | Service | Planificado | - |
| AutofacturaService | Service | Planificado | CFDIService |
| CFDIController | Controller | Planificado | CFDIService |
| AutofacturaController | Controller | Planificado | AutofacturaService |
**Validacion:** :white_check_mark: Completo
**Dependencias externas validadas:**
- [x] retail.pos_orders (RT-002)
- [x] retail.ecommerce_orders (RT-009)
- [x] core.partners (MGN-012)
- [x] financial.taxes (MGN-010)
---
## 3. VALIDACION DE INTEGRACIONES
### 3.1 Integraciones Backend
| Integracion | Modulo | Estado | Validacion |
|-------------|--------|--------|------------|
| Finkok PAC | RT-010 | Planificado | :white_check_mark: Docs API disponibles |
| Facturama PAC | RT-010 | Planificado | :white_check_mark: Docs API disponibles |
| Stripe | RT-009 | Planificado | :white_check_mark: SDK oficial |
| Conekta | RT-009 | Planificado | :white_check_mark: SDK oficial |
| MercadoPago | RT-009 | Opcional | :white_check_mark: SDK oficial |
| Fedex | RT-009 | Planificado | :warning: Requiere contrato |
| DHL | RT-009 | Opcional | :warning: Requiere contrato |
### 3.2 Integraciones Hardware (POS)
| Integracion | Tipo | Estado | Validacion |
|-------------|------|--------|------------|
| Impresora ESC/POS | USB/BT/Net | Planificado | :white_check_mark: Web USB/BT APIs |
| Lector codigo barras | Keyboard wedge | Planificado | :white_check_mark: Solo JS |
| Cajon de dinero | Via impresora | Planificado | :white_check_mark: Comando ESC/POS |
| Terminal bancaria | Serial/USB | Opcional | :warning: Depende de banco |
---
## 4. VALIDACION DE SEGURIDAD
### 4.1 Row-Level Security (RLS)
| Tabla | RLS Habilitado | Policy Definida |
|-------|----------------|-----------------|
| retail.branches | :white_check_mark: | :white_check_mark: |
| retail.cash_registers | :white_check_mark: | :white_check_mark: |
| retail.branch_users | :white_check_mark: | :white_check_mark: |
| retail.pos_sessions | :white_check_mark: | :white_check_mark: |
| retail.pos_orders | :white_check_mark: | :white_check_mark: |
| retail.pos_order_lines | :white_check_mark: | :white_check_mark: |
| retail.pos_payments | :white_check_mark: | :white_check_mark: |
| retail.cash_movements | :white_check_mark: | :white_check_mark: |
| retail.cash_closings | :white_check_mark: | :white_check_mark: |
| retail.cash_counts | :white_check_mark: | :white_check_mark: |
| retail.stock_transfers | :white_check_mark: | :white_check_mark: |
| retail.stock_adjustments | :white_check_mark: | :white_check_mark: |
| retail.loyalty_programs | :white_check_mark: | :white_check_mark: |
| retail.customer_memberships | :white_check_mark: | :white_check_mark: |
| retail.promotions | :white_check_mark: | :white_check_mark: |
| retail.coupons | :white_check_mark: | :white_check_mark: |
| retail.cfdis | :white_check_mark: | :white_check_mark: |
| retail.cfdi_config | :white_check_mark: | :white_check_mark: |
| retail.carts | :white_check_mark: | :white_check_mark: |
| retail.ecommerce_orders | :white_check_mark: | :white_check_mark: |
**Validacion RLS:** :white_check_mark: Todas las tablas tienen RLS planificado
### 4.2 Autenticacion y Autorizacion
| Aspecto | Estado | Validacion |
|---------|--------|------------|
| JWT Token | Planificado | :white_check_mark: |
| Refresh Token | Planificado | :white_check_mark: |
| Middleware Tenant | Planificado | :white_check_mark: |
| Middleware Branch | Planificado | :white_check_mark: |
| RBAC | Pendiente core | :warning: Depende de MGN-004 |
---
## 5. RESUMEN DE VALIDACION
### 5.1 Estado por Fase
| Fase | Modulos | Validacion |
|------|---------|------------|
| Prerrequisitos Core | MGN-001,002,003,004,005,010,011,012,013 | :x: 9 gaps identificados |
| Retail Fundamentos | RT-001 | :white_check_mark: Completo |
| POS MVP | RT-002, RT-006, RT-003, RT-007 | :white_check_mark: Completo |
| Facturacion | RT-010 | :white_check_mark: Completo |
| Clientes | RT-005 | :white_check_mark: Completo |
| Compras | RT-004 | :white_check_mark: Completo |
| Reportes | RT-008 | :white_check_mark: Completo |
| E-commerce | RT-009 | :white_check_mark: Completo |
### 5.2 Gaps Criticos (Bloqueantes)
| ID | Descripcion | Modulo | Accion |
|----|-------------|--------|--------|
| GAP-VAL-001 | MGN-005 Catalogs no existe | Core | Implementar antes de Sprint 5 |
| GAP-VAL-002 | Auth/Permisos incompleto | MGN-001/004 | Completar antes de Sprint 5 |
| GAP-VAL-003 | Pricelists no existe | MGN-013 | Implementar antes de RT-006 |
| GAP-VAL-004 | PaymentMethods no existe | MGN-010 | Implementar antes de RT-002 |
### 5.3 Conclusion
:warning: **NO SE PUEDE INICIAR RETAIL** hasta completar los prerrequisitos del core (Sprints 1-4).
Una vez completados los prerrequisitos:
- :white_check_mark: Todas las entidades retail estan planificadas
- :white_check_mark: Todas las dependencias estan mapeadas
- :white_check_mark: Todas las integraciones estan identificadas
- :white_check_mark: RLS planificado para todas las tablas
---
**Estado:** VALIDACION COMPLETA CON GAPS
**Gaps Bloqueantes:** 4
**Gaps No Bloqueantes:** 0