8.8 KiB
8.8 KiB
EPICA: EPIC-RT-007 - Caja (Arqueos y Cortes)
Metadata
| Campo | Valor |
|---|---|
| ID | EPIC-RT-007 |
| Nombre | Caja (Arqueos y Cortes) |
| Modulo | caja |
| Fase | Fase 1 - MVP |
| Prioridad | P0 (Critico) |
| Estado | Backlog |
| Story Points | 28 |
| Sprint(s) | Sprint 5-6 |
Descripcion
Módulo 100% nuevo para control de efectivo en tiendas. Gestión de fondos de caja, arqueos, cortes de caja, movimientos de efectivo (retiros, depósitos) y conciliación con ventas. Control de diferencias y auditoría.
Objetivo de Negocio
- Control preciso de efectivo
- Prevenir faltantes y robos
- Conciliación diaria de ventas
- Auditoría de movimientos
- Responsabilidad por cajero
Historias de Usuario
| ID | Historia | Prioridad | SP | Estado |
|---|---|---|---|---|
| US-RT007-001 | Como supervisor, quiero abrir caja con fondo inicial para comenzar turno | P0 | 3 | Backlog |
| US-RT007-002 | Como cajero, quiero registrar retiro de efectivo (para depósito) | P0 | 3 | Backlog |
| US-RT007-003 | Como cajero, quiero registrar ingreso de efectivo (cambio) | P0 | 2 | Backlog |
| US-RT007-004 | Como cajero, quiero realizar arqueo parcial sin cerrar caja | P0 | 3 | Backlog |
| US-RT007-005 | Como cajero, quiero realizar corte de caja al final del turno | P0 | 5 | Backlog |
| US-RT007-006 | Como cajero, quiero declarar efectivo contado por denominación | P0 | 3 | Backlog |
| US-RT007-007 | Como supervisor, quiero aprobar corte con diferencias | P0 | 3 | Backlog |
| US-RT007-008 | Como gerente, quiero ver reporte de diferencias por cajero | P1 | 3 | Backlog |
| US-RT007-009 | Como admin, quiero configurar tolerancia de diferencias | P2 | 2 | Backlog |
| US-RT007-010 | Como auditor, quiero ver historial completo de movimientos de caja | P1 | 1 | Backlog |
Total Story Points: 28 SP
Flujo de Caja
┌─────────────┐
│ CERRADA │ ← Estado inicial
└──────┬──────┘
│
▼ (Apertura con fondo)
┌─────────────┐
│ ABIERTA │ ◄──────────┐
└──────┬──────┘ │
│ │
▼ │
┌─────────────┐ │
│ OPERANDO │────────────┤
│ │ Ventas │
│ + Ventas │ Retiros │
│ - Retiros │ Ingresos │
│ + Ingresos │ │
└──────┬──────┘ │
│ │
▼ (Corte) │
┌─────────────┐ │
│ CORTE │ │
│ - Conteo │ │
│ - Diferenc │ │
└──────┬──────┘ │
│ │
├──── Si OK ────────┘ (Nueva apertura)
│
▼ (Cierre)
┌─────────────┐
│ CERRADA │
└─────────────┘
Conteo por Denominación
┌─────────────────────────────────────────────────────────┐
│ DECLARACIÓN DE EFECTIVO │
├─────────────────────────────────────────────────────────┤
│ │
│ BILLETES MONEDAS │
│ ┌────────┬─────┬──────────┐ ┌────────┬─────┬─────┐ │
│ │ Denom. │ Cant│ Total │ │ Denom. │ Cant│Total│ │
│ ├────────┼─────┼──────────┤ ├────────┼─────┼─────┤ │
│ │ $1000 │ 3 │ $3,000 │ │ $20 │ 5 │$100 │ │
│ │ $500 │ 5 │ $2,500 │ │ $10 │ 8 │ $80 │ │
│ │ $200 │ 8 │ $1,600 │ │ $5 │ 10 │ $50 │ │
│ │ $100 │ 12 │ $1,200 │ │ $2 │ 15 │ $30 │ │
│ │ $50 │ 10 │ $500 │ │ $1 │ 20 │ $20 │ │
│ │ $20 │ 15 │ $300 │ │ $0.50 │ 10 │ $5 │ │
│ └────────┴─────┴──────────┘ └────────┴─────┴─────┘ │
│ │
│ TOTAL BILLETES: $9,100 │
│ TOTAL MONEDAS: $285 │
│ ───────────────────────── │
│ TOTAL DECLARADO: $9,385 │
│ │
│ ESPERADO (sistema): $9,400 │
│ DIFERENCIA: -$15 │
│ │
└─────────────────────────────────────────────────────────┘
Criterios de Aceptacion de la Epica
Funcionales:
- Apertura de caja con fondo
- Retiros e ingresos de efectivo
- Arqueos parciales
- Corte de caja con conteo
- Declaración por denominación
- Cálculo de diferencias
- Aprobación de cortes con diferencias
- Reportes de diferencias
No Funcionales:
- Operación < 3 clicks
- Historial de 1 año
- Auditoría completa
Tecnicos:
- Integración con módulo POS (ventas en efectivo)
- Bloqueo de caja durante corte
- Firmas/autorizaciones de supervisores
Dependencias
Esta epica depende de:
| Epica/Modulo | Estado | Bloqueante |
|---|---|---|
| EPIC-RT-001 Fundamentos | Backlog | Si |
| EPIC-RT-002 POS | Backlog | Si |
Esta epica bloquea:
| Epica/Modulo | Razon |
|---|---|
| EPIC-RT-008 Reportes | Datos de caja para reportes |
Desglose Tecnico
Database:
- Schema:
cash_register - Tablas: 6 (cash_sessions, cash_movements, cash_counts, count_denominations, cut_approvals, audit_log)
- Funciones: 3 (calculate_expected, calculate_difference, validate_cut)
- Indices: Por caja, cajero, fecha, estado
Backend:
- Modulo:
cash-register - Entities: 5 (CashSession, CashMovement, CashCount, CountDenomination, CutApproval)
- Endpoints: 12
- Tests: 25
Frontend:
- Paginas: 4 (CashDashboard, OpenClose, CashCount, Reports)
- Componentes: 10 (DenominationCounter, MovementForm, DifferenceAlert, etc.)
- Stores: 1 (cashStore)
Endpoints API
| Metodo | Endpoint | Descripcion |
|---|---|---|
| POST | /api/cash/sessions/open | Abrir caja |
| POST | /api/cash/sessions/:id/close | Cerrar caja |
| GET | /api/cash/sessions/current | Sesión actual |
| POST | /api/cash/movements | Registrar movimiento |
| POST | /api/cash/counts | Registrar arqueo |
| POST | /api/cash/counts/:id/denominations | Agregar denominaciones |
| POST | /api/cash/counts/:id/submit | Enviar para aprobación |
| POST | /api/cash/counts/:id/approve | Aprobar corte |
| GET | /api/cash/reports/differences | Reporte de diferencias |
Riesgos
| Riesgo | Probabilidad | Impacto | Mitigacion |
|---|---|---|---|
| Faltantes de efectivo | Media | Alto | Arqueos frecuentes |
| Manipulación de cortes | Baja | Alto | Doble aprobación |
| Errores de conteo | Media | Medio | Conteo por denominación |
Nota Técnica
Este módulo es 100% nuevo y no tiene equivalente en el ERP-Core. Es específico para operaciones de retail con manejo de efectivo.
Definition of Ready (DoR)
- Historias de usuario definidas
- Criterios de aceptacion claros
- Dependencias identificadas
- Estimacion completada
- Denominaciones locales definidas
- Tolerancias de diferencia aprobadas
Definition of Done (DoD)
- Flujo de apertura/cierre funcionando
- Conteo por denominación operativo
- Cálculo de diferencias correcto
- Reportes de auditoría
- Tests de integración pasando
- Documentación de API
Historial
| Fecha | Cambio | Autor |
|---|---|---|
| 2025-12-08 | Creacion de epica | Claude-Agent |
Creada por: Claude-Agent Fecha: 2025-12-08 Ultima actualizacion: 2025-12-08