erp-transportistas-v2/docs/02-definicion-modulos/MAI-010-liquidaciones/historias-usuario/US-MAI010-002.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

194 lines
11 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-002: Calcular pago por viaje
**ID:** US-MAI010-002
**Módulo:** MAI-010 (Liquidaciones)
**Prioridad:** Alta
**Story Points:** 8
---
## Historia de Usuario
**Como** sistema de liquidaciones
**Quiero** calcular automáticamente el monto a pagar por cada viaje cerrado
**Para** que el liquidador tenga los montos listos sin cálculos manuales
---
## Criterios de Aceptación
### CA-001: Calcular al cerrar viaje
**Dado** que un viaje se cierra con POD
**Cuando** se confirma el cierre
**Entonces** el sistema calcula automáticamente el pago del operador
### CA-002: Aplicar esquema del operador
**Dado** que el operador tiene un esquema asignado
**Cuando** se calcula el pago
**Entonces** se aplica la fórmula correspondiente (km, %, fijo)
### CA-003: Usar km reales
**Dado** que el esquema es por km
**Cuando** se calcula
**Entonces** se usan los km reales del tracking, no los estimados
### CA-004: Calcular bonos automáticamente
**Dado** que el viaje cumplió condiciones de bono
**Cuando** se calcula el pago
**Entonces** se agrega el bono correspondiente (OTIF, sin incidencias)
### CA-005: Mostrar desglose
**Dado** que se calculó el pago
**Cuando** consulto el detalle
**Entonces** veo el desglose: base, variable, bonos, total
### CA-006: Ajuste manual
**Dado** que hay situaciones excepcionales
**Cuando** necesito ajustar el monto
**Entonces** puedo hacerlo con justificación obligatoria
---
## Mockup / UI
```
┌─────────────────────────────────────────────────────────────────┐
│ PAGO CALCULADO - VJE-0125 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Viaje: VJE-0125 | CDMX → Monterrey │
│ Operador: Juan Pérez García │
│ Esquema: ESQ-002 (25% del flete + bonos) │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ DATOS DEL VIAJE │
│ │
│ Fecha cierre: 2026-01-25 16:45 │
│ Flete facturado: $18,200.00 MXN │
│ Km recorridos (tracking): 892 km │
│ Tiempo en ruta: 11 hrs 32 min │
│ Entrega: ✓ A tiempo (dentro de ventana SLA) │
│ Incidencias: ✓ Sin incidencias │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ CÁLCULO DEL PAGO │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ PERCEPCIONES │ │
│ │ │ │
│ │ Pago por flete (25% de $18,200): $4,550.00 │ │
│ │ Bono OTIF (entrega a tiempo): $800.00 │ │
│ │ Bono sin incidencias: $300.00 │ │
│ │ ───────────────────────────────────────────────── │ │
│ │ TOTAL A PAGAR: $5,650.00 MXN │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Estado: ✓ CALCULADO | Pendiente de liquidación │
│ │
│ [Ajustar monto] [Ver detalles] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Lista de Viajes por Liquidar
```
┌─────────────────────────────────────────────────────────────────┐
│ VIAJES PENDIENTES DE LIQUIDAR │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Operador: [Juan Pérez García ▼] │
│ Periodo: [20-ene-2026] al [26-ene-2026] │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ VIAJES CERRADOS ESTA SEMANA │
│ │
│ | Viaje | Ruta | Cierre | Pago | Estado |│
│ |---------|----------------|----------|-----------|----------|│
│ | VJE-0120| CDMX → GDL | 21-ene | $1,750.00 | Calculado|│
│ | VJE-0125| CDMX → MTY | 23-ene | $5,650.00 | Calculado|│
│ | VJE-0128| CDMX → GDL | 25-ene | $1,750.00 | Calculado|│
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ RESUMEN │
│ Total viajes: 3 │
│ Total pagos: $9,150.00 │
│ │
│ [Generar liquidación semanal] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Ajuste Manual
```
┌─────────────────────────────────────────────────────────────────┐
│ AJUSTAR PAGO ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Viaje: VJE-0125 │
│ Pago calculado: $5,650.00 │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ AJUSTE │
│ │
│ Nuevo monto: [$5,000.00] │
│ Diferencia: -$650.00 │
│ │
│ Motivo del ajuste (obligatorio): │
│ [Viaje solicitó apoyo de otro operador para última ]│
│ [hora de entrega. Se comparte pago con OP-0032 ]│
│ │
│ Autoriza: [Supervisor requerido ▼] │
│ │
│ ⚠ Los ajustes quedan registrados en auditoría │
│ │
│ [Cancelar] [Guardar Ajuste] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Cálculo por Tipo de Esquema
| Tipo | Fórmula | Ejemplo |
|------|---------|---------|
| Por km | km_reales × tarifa_km | 892 × $2.50 = $2,230 |
| Por viaje | tarifa_fija | $1,500 |
| Porcentaje | flete × % | $18,200 × 25% = $4,550 |
| Mixto | base + (km × tarifa) | $500 + (892 × $1.50) = $1,838 |
---
## Notas Técnicas
- El cálculo se dispara al evento `viaje.cerrado` (MAI-007)
- Km reales desde `tracking.eventos` (suma de tramos)
- Flete desde `billing.lineas_factura` vinculada al viaje
- Bonos se evalúan según condiciones del esquema
- Ajustes requieren aprobación si >10% del calculado
---
## Definición de Done
- [ ] Cálculo automático al cerrar viaje
- [ ] Soporte para los 4 tipos de esquema
- [ ] Uso de km reales desde tracking
- [ ] Cálculo automático de bonos
- [ ] Desglose detallado del pago
- [ ] Ajuste manual con justificación
- [ ] Auditoría de ajustes
- [ ] Tests de cálculo por tipo