433 lines
16 KiB
Markdown
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
|