# Herencia de SPECS del Core - Retail

**Fecha:** 2025-12-08
**Versión:** 1.0
**Vertical:** Retail (RT)
**Nivel:** 2B.2

---

## Resumen

| Métrica | Valor |
|---------|-------|
| SPECS Aplicables | 24/30 |
| SPECS Obligatorias | 21 |
| SPECS Opcionales | 3 |
| SPECS No Aplican | 6 |
| Estado Implementación | 0% |

---

## SPECS Obligatorias (Deben Implementarse)

### P0 - Críticas

| SPEC | Gap Original | SP | Estado | Módulos Afectados |
|------|-------------|----:|--------|-------------------|
| SPEC-SISTEMA-SECUENCIAS | ir.sequence | 8 | PENDIENTE | RT-001, RT-002, RT-007 |
| SPEC-VALORACION-INVENTARIO | FIFO/AVCO | 21 | PENDIENTE | RT-003 |
| SPEC-SEGURIDAD-API-KEYS-PERMISOS | API Keys + ACL | 31 | PENDIENTE | RT-001 |
| SPEC-REPORTES-FINANCIEROS | Balance/P&L SAT | 13 | PENDIENTE | RT-008, RT-010 |
| SPEC-NOMINA-BASICA | hr_payroll | 21 | PENDIENTE | RT-001 |
| SPEC-GASTOS-EMPLEADOS | hr_expense | 13 | PENDIENTE | RT-001 |
| SPEC-SCHEDULER-REPORTES | ir.cron + mail | 8 | PENDIENTE | RT-008 |

### P1 - Complementarias

| SPEC | Gap Original | SP | Estado | Módulos Afectados |
|------|-------------|----:|--------|-------------------|
| SPEC-CONTABILIDAD-ANALITICA | Centros de costo | 21 | PENDIENTE | RT-008 |
| SPEC-CONCILIACION-BANCARIA | Conciliación | 21 | PENDIENTE | RT-007, RT-008 |
| SPEC-TWO-FACTOR-AUTHENTICATION | 2FA | 13 | PENDIENTE | RT-001 |
| SPEC-TRAZABILIDAD-LOTES-SERIES | Lotes/Series | 13 | PENDIENTE | RT-003 |
| SPEC-PRICING-RULES | Reglas precio | 8 | PENDIENTE | RT-006 |
| SPEC-BLANKET-ORDERS | Órdenes marco | 13 | PENDIENTE | RT-004 |
| SPEC-INVENTARIOS-CICLICOS | Conteo cíclico | 13 | PENDIENTE | RT-003 |
| SPEC-IMPUESTOS-AVANZADOS | IVA, ISR | 8 | PENDIENTE | RT-010 |
| SPEC-PLANTILLAS-CUENTAS | Plan contable | 8 | PENDIENTE | RT-008 |
| SPEC-TASAS-CAMBIO-AUTOMATICAS | Tipos cambio | 5 | PENDIENTE | RT-008 |
| SPEC-ALERTAS-PRESUPUESTO | Alertas | 8 | PENDIENTE | RT-008 |
| SPEC-RRHH-EVALUACIONES-SKILLS | Evaluaciones | 26 | PENDIENTE | RT-001 |
| SPEC-LOCALIZACION-PAISES | Localización | 13 | PENDIENTE | RT-001, RT-010 |

### Patrones Técnicos

| SPEC | Patrón | SP | Estado | Aplicación |
|------|--------|----:|--------|------------|
| SPEC-MAIL-THREAD-TRACKING | mail.thread | 13 | PENDIENTE | Órdenes, Clientes |
| SPEC-WIZARD-TRANSIENT-MODEL | TransientModel | 8 | PENDIENTE | Wizards de cierre, arqueo |

---

## SPECS Opcionales

| SPEC | Descripción | SP | Decisión | Razón |
|------|-------------|----:|----------|-------|
| SPEC-PORTAL-PROVEEDORES | Portal RFQ | 13 | EVALUAR | Para compras centralizadas |
| SPEC-TAREAS-RECURRENTES | Recurrencia | 13 | EVALUAR | Para reorden automático |
| SPEC-PRESUPUESTOS-REVISIONES | Aprobación | 8 | DIFERIR | Menos relevante en retail |

---

## SPECS No Aplicables

| SPEC | Razón |
|------|-------|
| SPEC-INTEGRACION-CALENDAR | No requiere calendario de citas |
| SPEC-PROYECTOS-DEPENDENCIAS-BURNDOWN | No hay proyectos largos |
| SPEC-FIRMA-ELECTRONICA-NOM151 | No aplica para tickets POS |
| SPEC-OAUTH2-SOCIAL-LOGIN | El personal usa login tradicional |
| SPEC-CONSOLIDACION-FINANCIERA | Generalmente una empresa |

---

## Adaptaciones Requeridas

### Mapeo de Conceptos Core → Retail

| Concepto Core | Concepto Retail |
|---------------|-----------------|
| `sales.sale_orders` | Tickets POS |
| `inventory.products` | Productos de venta |
| `inventory.locations` | Sucursales |
| `inventory.stock_moves` | Transferencias entre tiendas |
| `core.partners` | Clientes con membresía |
| `financial.payments` | Pagos en caja |

### Extensiones de Entidad

```sql
-- Sucursales
stores.branches (
    id UUID,
    location_id → inventory.locations,
    nombre VARCHAR,
    direccion TEXT,
    gerente_id → hr.employees,
    horario JSONB,
    activa BOOLEAN
)

-- Sesiones de caja
pos.cash_sessions (
    id UUID,
    branch_id → branches,
    cajero_id → hr.employees,
    caja_id → cash_registers,
    fecha_apertura TIMESTAMPTZ,
    fecha_cierre TIMESTAMPTZ,
    saldo_inicial DECIMAL,
    saldo_final DECIMAL,
    estado ENUM
)

-- Tickets POS
pos.pos_orders (
    id UUID,
    session_id → cash_sessions,
    sale_order_id → sales.sale_orders,
    numero_ticket VARCHAR,
    subtotal DECIMAL,
    descuentos DECIMAL,
    impuestos DECIMAL,
    total DECIMAL
)

-- Programa de lealtad
pricing.loyalty_programs (
    id UUID,
    nombre VARCHAR,
    tipo ENUM('puntos', 'cashback', 'descuento'),
    reglas JSONB,
    activo BOOLEAN
)
```

---

## Plan de Implementación

### Fase 1: Fundamentos (SP: 52)
1. SPEC-SISTEMA-SECUENCIAS
2. SPEC-SEGURIDAD-API-KEYS-PERMISOS
3. SPEC-TWO-FACTOR-AUTHENTICATION

### Fase 2: Inventario (SP: 55)
4. SPEC-VALORACION-INVENTARIO
5. SPEC-TRAZABILIDAD-LOTES-SERIES
6. SPEC-INVENTARIOS-CICLICOS
7. SPEC-PRICING-RULES

### Fase 3: Operaciones POS (SP: 21)
8. SPEC-MAIL-THREAD-TRACKING
9. SPEC-WIZARD-TRANSIENT-MODEL

### Fase 4: Financiero (SP: 65)
10. SPEC-REPORTES-FINANCIEROS
11. SPEC-CONTABILIDAD-ANALITICA
12. SPEC-CONCILIACION-BANCARIA
13. SPEC-IMPUESTOS-AVANZADOS

---

## Referencias

- Documento Core: `erp-core/docs/04-modelado/MAPEO-SPECS-VERTICALES.md`
- SPECS del Core: `erp-core/docs/04-modelado/especificaciones-tecnicas/transversal/`
- Herencia DB: `database/HERENCIA-ERP-CORE.md`
- Directivas: `orchestration/directivas/`

---

**Documento de herencia de SPECS oficial**
**Última actualización:** 2025-12-08
