erp-transportistas-v2/docs/02-definicion-modulos/MAI-010-liquidaciones/historias-usuario/US-MAI010-003.md
Adrian Flores Cortes 569eaeb5a4 docs: Add MAI-009 (Facturación) and MAI-010 (Liquidaciones) specifications
MAI-009 Facturación Transporte (31 SP):
- README, REQUERIMIENTOS (7 RF), RESUMEN-EPICA
- 5 User Stories: generación factura, recargos, CFDI/Carta Porte,
  conciliación/pagos, estados de cuenta

MAI-010 Liquidaciones (31 SP):
- README, REQUERIMIENTOS (6 RF), RESUMEN-EPICA
- 5 User Stories: esquemas pago, cálculo por viaje, viáticos,
  deducciones, generar/autorizar liquidación

Part of Phase 2 - P0 Critical Modules specification

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 02:05:03 -06:00

225 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# US-MAI010-003: Gestionar viáticos
**ID:** US-MAI010-003
**Módulo:** MAI-010 (Liquidaciones)
**Prioridad:** Alta
**Story Points:** 5
---
## Historia de Usuario
**Como** despachador
**Quiero** registrar anticipos de viáticos y su comprobación
**Para** controlar el efectivo entregado a operadores y evitar pérdidas
---
## Criterios de Aceptación
### CA-001: Registrar anticipo
**Dado** que un operador sale a viaje
**Cuando** registro el anticipo de viático
**Entonces** se vincula al viaje con monto, fecha y forma de entrega
### CA-002: Comprobar gastos
**Dado** que el operador regresa del viaje
**Cuando** comprueba sus gastos
**Entonces** puedo registrar cada gasto con tipo, monto y evidencia (ticket/foto)
### CA-003: Clasificar gastos
**Dado** que hay diferentes tipos de gasto
**Cuando** registro la comprobación
**Entonces** clasifico en: combustible, casetas, comidas, hospedaje, otros
### CA-004: Calcular sobrante
**Dado** que se comprobaron los gastos
**Cuando** consulto el viático
**Entonces** veo: anticipo, comprobado, sobrante (a devolver o descontar)
### CA-005: Descontar sobrante en liquidación
**Dado** que hay sobrante sin devolver
**Cuando** se genera la liquidación
**Entonces** el sobrante se incluye como deducción automática
### CA-006: Alertar viáticos sin comprobar
**Dado** que hay viajes cerrados con viático sin comprobar
**Cuando** consulto el dashboard
**Entonces** veo alertas de viáticos pendientes de comprobación
---
## Mockup / UI
```
┌─────────────────────────────────────────────────────────────────┐
│ REGISTRAR ANTICIPO DE VIÁTICO ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Viaje: VJE-0125 | CDMX → Monterrey │
│ Operador: Juan Pérez García │
│ Distancia estimada: 900 km │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ CÁLCULO SUGERIDO │
│ │
│ Combustible (900 km × 4 km/L × $23/L): $5,175.00 │
│ Casetas (estimado ruta): $1,200.00 │
│ Comidas (2 días × $250): $500.00 │
│ Imprevistos: $325.00 │
│ ───────────────────────────────────────── │
│ Total sugerido: $7,200.00 │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ ANTICIPO A ENTREGAR │
│ │
│ Monto: [$7,000.00] │
│ │
│ Forma de entrega: │
│ (●) Efectivo │
│ ( ) Transferencia │
│ ( ) Vale/Tarjeta combustible │
│ │
│ Fecha entrega: [2026-01-22] │
│ │
│ Recibe: [Juan Pérez García ] │
│ Entrega: [María González - Caja ] │
│ │
│ [Cancelar] [Registrar Anticipo] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Comprobación de Viático
```
┌─────────────────────────────────────────────────────────────────┐
│ COMPROBACIÓN DE VIÁTICO ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Viaje: VJE-0125 | Anticipo: $7,000.00 │
│ Operador: Juan Pérez García │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ GASTOS COMPROBADOS [+ Agregar]│
│ │
│ | Tipo | Descripción | Monto | Evidencia | │
│ |-------------|--------------------|---------:|------------| │
│ | Combustible | PEMEX Qro Norte | $2,800.00| [📷 Ver] | │
│ | Combustible | PEMEX MTY Centro | $1,500.00| [📷 Ver] | │
│ | Casetas | TAG (reporte) | $980.00| [📄 Ver] | │
│ | Comidas | Restaurant día 1 | $180.00| [📷 Ver] | │
│ | Comidas | Restaurant día 2 | $150.00| [📷 Ver] | │
│ | Hospedaje | Hotel MTY | $450.00| [📷 Ver] | │
│ |-------------|--------------------|---------:|------------| │
│ | TOTAL COMPROBADO | $6,060.00| | │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ RESUMEN │
│ │
│ Anticipo entregado: $7,000.00 │
│ Total comprobado: -$6,060.00 │
│ ────────────────────────────────────────────────── │
│ Sobrante a devolver/descontar: $940.00 │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ Destino del sobrante: │
│ ( ) Devuelto en efectivo [$______] Fecha: [________] │
│ (●) Descontar en próxima liquidación │
│ │
│ [Guardar borrador] [Cerrar comprobación] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Agregar Gasto
```
┌─────────────────────────────────────────────────────────────────┐
│ AGREGAR GASTO ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Tipo de gasto: [Combustible ▼] │
│ ○ Combustible │
│ ○ Casetas/Peaje │
│ ○ Comidas │
│ ○ Hospedaje │
│ ○ Estacionamiento │
│ ○ Maniobras │
│ ○ Otros │
│ │
│ Descripción: [PEMEX Querétaro Norte - Magna ] │
│ Fecha del gasto: [2026-01-22] │
│ Monto: [$2,800.00] │
│ │
│ Evidencia: │
│ [📷 Seleccionar foto del ticket] │
│ ✓ ticket_pemex_qro.jpg │
│ │
│ Notas: │
│ [Carga completa en Querétaro antes de subir a MTY ]│
│ │
│ [Cancelar] [Agregar] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Dashboard de Viáticos
```
┌─────────────────────────────────────────────────────────────────┐
│ VIÁTICOS PENDIENTES DE COMPROBAR │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ⚠ 5 viáticos pendientes de comprobación │
│ │
│ | Viaje | Operador | Anticipo | Cierre | Días | │
│ |---------|---------------|-----------|----------|-------| │
│ | VJE-0115| Pedro Ramírez | $5,500.00 | 18-ene | 9 🔴 | │
│ | VJE-0118| Ana López | $3,200.00 | 20-ene | 7 🟡 | │
│ | VJE-0122| Luis García | $6,800.00 | 22-ene | 5 🟡 | │
│ | VJE-0126| Carlos Méndez | $4,500.00 | 24-ene | 3 🟢 | │
│ | VJE-0129| Juan Pérez | $7,000.00 | 25-ene | 2 🟢 | │
│ │
│ Total pendiente de comprobar: $27,000.00 │
│ │
│ [Enviar recordatorios] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Notas Técnicas
- Tabla: `settlements.viaticos` para anticipo
- Tabla: `settlements.comprobantes_viatico` para gastos
- Fotos de tickets se suben a S3
- Sobrante se convierte en deducción tipo SOBRANTE_VIATICO
- Alertas configurables (>3 días sin comprobar)
---
## Definición de Done
- [ ] Registro de anticipo vinculado a viaje
- [ ] Comprobación de gastos con clasificación
- [ ] Captura de evidencia (fotos de tickets)
- [ ] Cálculo de sobrante
- [ ] Integración con liquidación
- [ ] Dashboard de viáticos pendientes
- [ ] Alertas de viáticos sin comprobar
- [ ] Tests de flujo completo