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>
180 lines
4.5 KiB
Markdown
180 lines
4.5 KiB
Markdown
# 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*
|