erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-002-ordenes-servicio/historias-usuario/US-MMD002-008-cerrar-orden.md

3.4 KiB

US-MMD002-008: Cerrar Orden y Generar Pre-factura

Metadata

Campo Valor
ID US-MMD002-008
Epica EPIC-MMD-002 - Ordenes de Servicio
Modulo ordenes-servicio
Prioridad P0
Story Points 5
Sprint Sprint 5
Estado Backlog

Historia de Usuario

Como recepcionista, quiero cerrar una orden completada y generar una pre-factura, para cobrar al cliente y preparar la facturacion.

Descripcion Detallada

Cuando el mecanico termina los trabajos, la recepcionista verifica la orden, registra el kilometraje de salida, genera la pre-factura con todos los conceptos, y procesa el pago. La orden pasa a estado LISTO.


Criterios de Aceptacion

Escenario 1: Validar orden lista para cerrar

DADO que quiero cerrar una orden en EN_REPARACION
CUANDO accedo al cierre
ENTONCES el sistema valida:
  - Hay al menos un trabajo registrado
  - No hay solicitudes de refacciones pendientes
  - Mecanico marco como terminado
Y permite continuar si cumple validaciones

Escenario 2: Registrar kilometraje de salida

DADO que cierro la orden
CUANDO registro kilometraje de salida: 125,050 km
ENTONCES el sistema calcula km recorridos en taller: 50 km
Y actualiza el historial del vehiculo

Escenario 3: Generar pre-factura

DADO que cierro la orden
CUANDO genero la pre-factura
ENTONCES veo resumen:
  | Concepto | Monto |
  | Mano de obra (4.5 hrs) | $2,025 |
  | Servicios | $850 |
  | Refacciones | $3,200 |
  | Subtotal | $6,075 |
  | IVA 16% | $972 |
  | TOTAL | $7,047 |

Escenario 4: Aplicar descuento

DADO que el cliente es frecuente
CUANDO aplico descuento del 10%
ENTONCES el sistema recalcula:
  | Subtotal | $6,075 |
  | Descuento 10% | -$607.50 |
  | Nuevo subtotal | $5,467.50 |
  | IVA 16% | $874.80 |
  | TOTAL | $6,342.30 |

Escenario 5: Registrar metodo de pago

DADO que el cliente paga
CUANDO registro el pago:
  | Metodo | Efectivo |
  | Monto recibido | $7,000 |
  | Cambio | -$657.70 |
ENTONCES la orden pasa a LISTO
Y se genera comprobante de pago

Escenario 6: Imprimir pre-factura

DADO que genero la pre-factura
CUANDO imprimo
ENTONCES se genera PDF con todos los conceptos
Y se incluye firma de autorizacion del cliente

Datos del Cierre

Campo Tipo Requerido
km_exit number Si
discount_percent number No
discount_amount number No
payment_method enum Si
payment_reference string No
notes text No
closed_by FK Auto
closed_at datetime Auto

Tareas Tecnicas

Backend:

  • BE-059: Endpoint POST /api/orders/:id/close
  • BE-060: Validaciones de cierre
  • BE-061: Calcular totales con descuentos
  • BE-062: Registrar pago
  • BE-063: Generar PDF pre-factura

Frontend:

  • FE-059: Crear OrderCloseWizard component
  • FE-060: Crear PaymentForm component
  • FE-061: Crear InvoicePreview component
  • FE-062: Integracion con impresion

Dependencias

Depende de:

  • US-MMD002-005: Trabajos registrados

Bloquea:

  • MME-007: Facturacion CFDI (timbrado)

Definition of Done (DoD)

  • Validaciones de cierre
  • Calculo de totales con descuentos
  • Registro de pago
  • PDF de pre-factura
  • Cambio de estado a LISTO
  • Tests pasando

Creada por: Requirements-Analyst Fecha: 2025-12-06