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

212 lines
12 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-001: Configurar esquema de pago
**ID:** US-MAI010-001
**Módulo:** MAI-010 (Liquidaciones)
**Prioridad:** Alta
**Story Points:** 5
---
## Historia de Usuario
**Como** administrador de operaciones
**Quiero** configurar diferentes esquemas de pago para los operadores
**Para** tener flexibilidad en la compensación según el tipo de servicio y operador
---
## Criterios de Aceptación
### CA-001: Crear esquema de pago
**Dado** que necesito definir cómo pagar a un operador
**Cuando** creo un esquema de pago
**Entonces** puedo especificar: tipo (km, viaje, %), montos y condiciones
### CA-002: Esquema por kilómetro
**Dado** que algunos operadores se pagan por km
**Cuando** configuro este tipo
**Entonces** defino la tarifa por km y el sistema usa km reales del tracking
### CA-003: Esquema por viaje
**Dado** que algunos operadores se pagan monto fijo por viaje
**Cuando** configuro este tipo
**Entonces** defino el monto fijo que aplica por cada viaje completado
### CA-004: Esquema por porcentaje
**Dado** que algunos operadores se pagan % del flete
**Cuando** configuro este tipo
**Entonces** defino el porcentaje y se calcula sobre el flete facturado
### CA-005: Asignar esquema a operador
**Dado** que tengo esquemas definidos
**Cuando** asigno a un operador
**Entonces** sus futuros viajes se calculan con ese esquema
### CA-006: Esquemas predefinidos
**Dado** que hay esquemas comunes
**Cuando** necesito asignar rápido
**Entonces** puedo elegir de una lista de esquemas predefinidos
---
## Mockup / UI
```
┌─────────────────────────────────────────────────────────────────┐
│ ESQUEMAS DE PAGO [+ Nuevo]│
├─────────────────────────────────────────────────────────────────┤
│ │
│ ESQUEMAS DISPONIBLES │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ESQ-001: Operador Estándar │ │
│ │ Tipo: Por kilómetro │ │
│ │ Tarifa: $2.50/km + Bono OTIF $500 │ │
│ │ Operadores asignados: 12 [Editar] │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ ESQ-002: Operador Senior │ │
│ │ Tipo: Porcentaje del flete │ │
│ │ Tarifa: 25% + Bono OTIF $800 │ │
│ │ Operadores asignados: 5 [Editar] │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ ESQ-003: Ruta Local │ │
│ │ Tipo: Por viaje fijo │ │
│ │ Tarifa: $1,500/viaje │ │
│ │ Operadores asignados: 8 [Editar] │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Crear Esquema de Pago
```
┌─────────────────────────────────────────────────────────────────┐
│ NUEVO ESQUEMA DE PAGO ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ INFORMACIÓN BÁSICA │
│ │
│ Código: [ESQ-004] │
│ Nombre: [Operador Premium ] │
│ Descripción: [Esquema para operadores con doble articulado ]│
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ TIPO DE CÁLCULO │
│ │
│ Tipo principal: │
│ ( ) Por kilómetro recorrido │
│ (●) Porcentaje del flete │
│ ( ) Monto fijo por viaje │
│ ( ) Mixto (base + variable) │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ CONFIGURACIÓN DEL PORCENTAJE │
│ │
│ Porcentaje sobre flete: [30] % │
│ Mínimo garantizado: [$1,000.00] (por viaje) │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ BONOS ADICIONALES │
│ │
│ ☑ Bono por entrega a tiempo (OTIF) │
│ Monto: [$800.00] │
│ │
│ ☑ Bono por sin incidencias │
│ Monto: [$300.00] │
│ │
│ ☐ Bono por combustible eficiente │
│ Monto: [$______] │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ CONDICIONES ESPECIALES │
│ │
│ ☑ Aplica solo para viajes de ruta larga (>300 km) │
│ ☐ Aplica solo para ciertos clientes │
│ │
│ [Cancelar] [Guardar Esquema] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Asignar Esquema a Operador
```
┌─────────────────────────────────────────────────────────────────┐
│ ASIGNAR ESQUEMA DE PAGO ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Operador: Juan Pérez García │
│ No. Empleado: OP-0025 │
│ Antigüedad: 3 años, 5 meses │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ ESQUEMA ACTUAL │
│ ESQ-001: Operador Estándar ($2.50/km + Bono) │
│ Vigente desde: 01-jun-2023 │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ NUEVO ESQUEMA │
│ │
│ Esquema: [ESQ-002: Operador Senior ▼] │
│ │
│ Resumen del esquema: │
│ • Tipo: Porcentaje del flete │
│ • Tarifa: 25% del flete │
│ • Bono OTIF: $800 │
│ • Sin incidencias: $300 │
│ │
│ Fecha inicio: [01-feb-2026] │
│ │
│ Motivo del cambio: │
│ [Promoción por buen desempeño ]│
│ │
│ [Cancelar] [Asignar] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Tipos de Esquema
| Tipo | Descripción | Cálculo |
|------|-------------|---------|
| Por km | Pago por kilómetro | km_reales × tarifa_km |
| Por viaje | Monto fijo | tarifa_viaje |
| Porcentaje | % del flete | flete × porcentaje |
| Mixto | Base + variable | base + (km × tarifa) |
---
## Notas Técnicas
- Tabla: `settlements.esquemas_pago` para definiciones
- Tabla: `settlements.esquema_operador` para asignaciones
- El km real se obtiene de `tracking.eventos` (km recorridos)
- El flete se obtiene de la tarifa aplicada al viaje (MAI-002)
- Histórico de cambios de esquema por operador
---
## Definición de Done
- [ ] CRUD de esquemas de pago
- [ ] Soporte para los 4 tipos de cálculo
- [ ] Configuración de bonos
- [ ] Asignación de esquema a operador
- [ ] Histórico de cambios de esquema
- [ ] Validación de condiciones especiales
- [ ] Tests de configuración