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>
11 KiB
US-MAI009-001: Generar factura desde viajes
ID: US-MAI009-001 Módulo: MAI-009 (Facturación Transporte) Prioridad: Alta Story Points: 8
Historia de Usuario
Como facturador Quiero generar facturas seleccionando los viajes cerrados de un cliente Para cobrar los servicios de transporte de manera rápida y precisa
Criterios de Aceptación
CA-001: Listar viajes pendientes de facturar
Dado que hay viajes cerrados con POD Cuando filtro por cliente y periodo Entonces veo la lista de viajes sin facturar con sus montos
CA-002: Selección múltiple de viajes
Dado que veo la lista de viajes Cuando selecciono varios viajes Entonces puedo generar una factura que los agrupe
CA-003: Factura individual por viaje
Dado que el cliente requiere facturas separadas Cuando selecciono "Facturar individualmente" Entonces se genera una factura por cada viaje seleccionado
CA-004: Generar borrador editable
Dado que seleccioné los viajes Cuando genero la factura Entonces se crea un borrador con líneas automáticas que puedo editar
CA-005: Líneas automáticas desde tarifa
Dado que cada viaje tiene una tarifa aplicada Cuando se genera el borrador Entonces cada línea refleja el precio del viaje según su tarifa
CA-006: Vincular con POD y evidencias
Dado que la factura incluye viajes Cuando consulto el expediente Entonces puedo ver/descargar los POD de cada viaje incluido
Mockup / UI
┌─────────────────────────────────────────────────────────────────┐
│ FACTURACIÓN - SELECCIONAR VIAJES [+ Nueva]│
├─────────────────────────────────────────────────────────────────┤
│ │
│ Cliente: [Distribuidora ABC ▼] │
│ Periodo: [01-ene-2026] al [31-ene-2026] [Buscar] │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ VIAJES PENDIENTES DE FACTURAR │
│ │
│ [☑ Seleccionar todos] │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ☑ VJE-0120 | 05-ene-2026 │ │
│ │ CDMX → Guadalajara | Caja seca 53' │ │
│ │ Tarifa: $12,500.00 | POD: ✓ 05-ene-2026 14:30 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ ☑ VJE-0125 | 08-ene-2026 │ │
│ │ CDMX → Monterrey | Caja seca 53' │ │
│ │ Tarifa: $18,200.00 | POD: ✓ 08-ene-2026 16:45 │ │
│ │ ⚠ Detention: 3 hrs extra en descarga │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ ☑ VJE-0128 | 12-ene-2026 │ │
│ │ CDMX → Guadalajara | Caja seca 53' │ │
│ │ Tarifa: $12,500.00 | POD: ✓ 12-ene-2026 11:20 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ ☐ VJE-0130 | 14-ene-2026 │ │
│ │ Guadalajara → Tijuana | Caja seca 53' │ │
│ │ Tarifa: $25,000.00 | POD: ⏳ PENDIENTE │ │
│ │ (No disponible - sin POD) │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ RESUMEN DE SELECCIÓN │
│ Viajes seleccionados: 3 │
│ Subtotal tarifas: $43,200.00 │
│ + Recargos estimados: $4,506.00 (fuel + detention) │
│ Total estimado: $47,706.00 + IVA │
│ │
│ Tipo de facturación: │
│ (●) Una factura con todos los viajes │
│ ( ) Una factura por cada viaje │
│ │
│ [Cancelar] [Generar Borrador] │
│ │
└─────────────────────────────────────────────────────────────────┘
Borrador de Factura
┌─────────────────────────────────────────────────────────────────┐
│ FACTURA BORRADOR ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Estado: BORRADOR │
│ │
│ DATOS DEL CLIENTE │
│ Cliente: Distribuidora ABC S.A. de C.V. │
│ RFC: DAB850101XXX │
│ Uso CFDI: [G03 - Gastos en general ▼] │
│ Método pago: [PUE - Pago en una exhibición▼] │
│ Forma pago: [03 - Transferencia ▼] │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ CONCEPTOS [+ Agregar]│
│ │
│ | # | Descripción | Cant | P.U. | Importe |│
│ |---|--------------------------|------|-----------|----------|│
│ | 1 | Transporte CDMX→GDL | 1 | $12,500.00| $12,500 |│
│ | | VJE-0120 | | | [🗑] |│
│ |---|--------------------------|------|-----------|----------|│
│ | 2 | Transporte CDMX→MTY | 1 | $18,200.00| $18,200 |│
│ | | VJE-0125 | | | [🗑] |│
│ |---|--------------------------|------|-----------|----------|│
│ | 3 | Transporte CDMX→GDL | 1 | $12,500.00| $12,500 |│
│ | | VJE-0128 | | | [🗑] |│
│ |---|--------------------------|------|-----------|----------|│
│ │
│ Subtotal: $43,200.00 │
│ │
│ [Calcular Recargos] │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ Observaciones: │
│ [Servicios de transporte enero 2026 ]│
│ │
│ [Guardar borrador] [Vista previa] [Continuar →] │
│ │
└─────────────────────────────────────────────────────────────────┘
Estados de Factura
| Estado | Descripción | Acciones permitidas |
|---|---|---|
| BORRADOR | En edición | Editar, eliminar, agregar líneas |
| EMITIDA | Timbrada CFDI | Ver, descargar, enviar, cancelar |
| ENVIADA | Enviada al cliente | Ver, registrar pago |
| PAGADA | Saldo = 0 | Ver |
| PARCIAL | Pago parcial | Registrar pago |
| VENCIDA | Pasó fecha vencimiento | Registrar pago, enviar recordatorio |
| CANCELADA | Cancelada SAT | Ver |
Notas Técnicas
- Endpoint:
POST /api/v1/facturaspara crear borrador - Los viajes se vinculan via
viajeIds[] - Las líneas se generan con clave SAT: 78101500 (Transporte de carga)
- El expediente se genera bajo demanda con todos los PDFs
Definición de Done
- Listado de viajes pendientes de facturar
- Filtro por cliente y periodo
- Selección múltiple de viajes
- Generación de borrador con líneas automáticas
- Facturación individual o agrupada
- Vinculación con POD
- Tests de generación de factura