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>
212 lines
12 KiB
Markdown
212 lines
12 KiB
Markdown
# 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
|
||
|