erp-transportistas-v2/docs/02-definicion-modulos/MAI-012-combustible-gastos/REQUERIMIENTOS.md
Adrian Flores Cortes ec43d9c6cd docs: Add Phase 3 secondary modules specifications (P1/P2/P3)
Modules documented:
- MAI-003 (OT): README, REQUERIMIENTOS, RESUMEN-EPICA, 10 US
- MAI-006 (Tracking): README, REQUERIMIENTOS, RESUMEN-EPICA
- MAI-008 (Incidencias): 3 US (18 SP)
- MAI-011 (Flota): README, REQUERIMIENTOS, RESUMEN-EPICA
- MAI-012 (Combustible): 3 US (18 SP)
- MAI-013 (Mantenimiento): 3 US (18 SP)
- MAI-014 (Carriers): 3 US (18 SP)
- MAI-015 (Portal): 3 US (18 SP)
- MAE-016 (Carta Porte): 10 US
- MAE-017 (HOS): 3 US (16 SP)
- MAE-018 (Reportes): 3 US (18 SP)

Phase 2+3 complete: 13 modules, 50+ User Stories

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

180 lines
4.5 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.

# REQUERIMIENTOS - MAI-012: Combustible y Gastos de Viaje
**Modulo:** MAI-012
**Fuente:** REQ-GIRO-TRANSPORTISTA.md - Seccion 4.10
**Version:** 1.0.0
---
## Requerimientos Funcionales
### RF-4.10.1: Planeado vs Real
**Descripcion:** Comparar consumo esperado vs real por unidad y ruta.
**Datos de comparacion:**
| Metrica | Fuente Esperado | Fuente Real |
|---------|-----------------|-------------|
| km | Ruta planeada | Tracking GPS |
| Litros | Ficha tecnica × km | Cargas registradas |
| Costo | Presupuesto viaje | Suma gastos |
**Calculos:**
- Rendimiento esperado: km/litro segun tipo unidad
- Rendimiento real: km recorridos / litros cargados
- Desviacion: (real - esperado) / esperado × 100
**Umbrales de alerta (configurables):**
| Nivel | Desviacion | Accion |
|-------|------------|--------|
| Normal | ±10% | Ninguna |
| Atencion | ±10-20% | Notificacion |
| Critico | >20% | Bloqueo/Investigacion |
**Tablas DDL:**
- `fuel.control_rendimiento`
- `fuel.cargas_combustible`
---
### RF-4.10.2: Captura de Cargas de Combustible
**Descripcion:** Registrar cada carga con datos completos y evidencia.
**Datos obligatorios:**
- Unidad (FK)
- Operador (FK)
- Tipo de carga (vale, tarjeta, efectivo, factura)
- Tipo combustible (diesel, magna, premium)
- Litros
- Precio por litro
- Total
- Odometro
- Estacion (nombre, direccion)
- Ubicacion GPS
- Fecha/hora
- Foto del ticket
**Validaciones:**
- GPS debe estar cerca de estacion de servicio
- Odometro > ultimo odometro registrado
- No permitir cargas duplicadas (misma hora/estacion)
- Validar capacidad del tanque
**Tablas DDL:**
- `fuel.cargas_combustible`
---
### RF-4.10.3: Peajes
**Descripcion:** Registrar cruces de casetas con integracion a TAG o captura manual.
**Modalidades:**
1. **Integracion TAG** (IAVE/Televia)
- Importar cruces automaticamente
- Conciliar vs reporte proveedor
2. **Captura manual**
- Foto de ticket
- Datos de caseta
**Prorrateo:**
- Si viaje tiene multiples OTs: prorratear por peso/distancia
- Asignar a centro de costo correcto
**Tablas DDL:**
- `fuel.cruces_peaje`
---
### RF-4.10.4: Gastos Varios
**Descripcion:** Registrar gastos adicionales de viaje.
**Tipos de gasto:**
| Tipo | Requiere Factura | Requiere Aprobacion |
|------|------------------|---------------------|
| Hospedaje | Si | Si (>$500) |
| Alimentos | No | No |
| Estacionamiento | No | No |
| Maniobras | Si | Si |
| Reparacion menor | Si | Si |
| Multa | Si | Si |
| Otro | Configurable | Si |
**Gastos NO permitidos (bloqueo por politica):**
- "Mordidas" / sobornos
- Entretenimiento
- Gastos personales
**Tablas DDL:**
- `fuel.gastos_viaje`
---
### RF-4.10.5: Alertas Antifraude
**Descripcion:** Detectar y alertar sobre anomalias en gastos de combustible.
**Tipos de alerta:**
| Codigo | Descripcion | Severidad |
|--------|-------------|-----------|
| CONSUMO_EXCESIVO | Rendimiento < 70% esperado | Alta |
| CARGA_FUERA_RUTA | GPS > 5km de ruta | Media |
| CARGA_DUPLICADA | Misma estacion en <2h | Alta |
| TICKET_ALTERADO | OCR detecta inconsistencia | Alta |
| FRECUENCIA_ALTA | >3 cargas en 24h | Media |
| TANQUE_EXCEDIDO | Litros > capacidad tanque | Critica |
| HORARIO_INUSUAL | Carga en madrugada (2-5am) | Baja |
**Acciones por severidad:**
| Severidad | Accion |
|-----------|--------|
| Critica | Bloqueo automatico + alerta jefe |
| Alta | Alerta a supervisor + revision |
| Media | Notificacion a control |
| Baja | Log para analisis posterior |
**Tablas DDL:**
- `fuel.alertas_fraude`
- `fuel.control_rendimiento.tieneAnomalia`
---
## Requerimientos No Funcionales
### RNF-001: Captura Offline
- App movil permite captura sin conexion
- Sincroniza al recuperar red
- Foto se comprime localmente
### RNF-002: Integracion GPS
- Captura automatica de ubicacion
- Validacion contra geocercas de estaciones
### RNF-003: OCR (Opcional)
- Extraccion automatica de datos de ticket
- Validacion cruzada con captura manual
### RNF-004: Reportes
- Dashboard de rendimiento por unidad
- Analisis de tendencias
- Comparativo entre operadores
---
## Matriz de Trazabilidad
| RF | Tablas DDL | Endpoints | Historias |
|----|------------|-----------|-----------|
| RF-4.10.1 | control_rendimiento | GET /rendimiento | US-MAI012-002 |
| RF-4.10.2 | cargas_combustible | POST /cargas | US-MAI012-001 |
| RF-4.10.3 | cruces_peaje | POST /peajes | US-MAI012-001 |
| RF-4.10.4 | gastos_viaje | POST /gastos | US-MAI012-003 |
| RF-4.10.5 | alertas_fraude | GET /alertas | US-MAI012-002 |
---
*REQUERIMIENTOS MAI-012 - ERP Transportistas v1.0.0*