2.9 KiB
US-MGN-006-003-003: Gestionar Recepciones Parciales con Backorder
RF Asociado: RF-MGN-006-004 Módulo: MGN-006 - Compras Básico Epic: Recepciones de Compras Prioridad: P1 Story Points: 3 Sprint: Sprint 14 Estado: Ready for Development Fecha: 2025-11-24
User Story
Como usuario de almacén, Quiero gestionar recepciones parciales con backorders, Para recibir productos en múltiples entregas del proveedor.
Descripción Detallada
Cuando qty_done < qty_expected, el sistema puede crear un backorder (nuevo picking) para las cantidades pendientes. El backorder:
- Tiene las líneas con qty pendiente
- Mantiene referencia al picking original
- Puede validarse cuando llegue el resto
Criterios de Aceptación
Escenario 1: Crear backorder automático (Camino Feliz)
Dado que valido picking con línea qty_expected=10, qty_done=7, y acepto backorder, Cuando sistema procesa, Entonces crea nuevo picking backorder con qty_expected=3, mantiene referencia al original.
Escenario 2: Validar backorder posteriormente
Dado que backorder tiene qty_expected=3, Cuando registra qty_done=3 y valido, Entonces sistema actualiza stock, marca PO como done si todas las líneas completas.
Escenario 3: Múltiples backorders
Dado que valido backorder con qty_done=2 de qty_expected=3, Cuando acepto crear otro backorder, Entonces sistema crea segundo backorder para 1 unidad pendiente.
Reglas de Negocio
- RN-1: Backorder se crea para qty_expected - qty_done.
- RN-2: Backorder mantiene backorder_of_id al picking original.
- RN-3: PO solo pasa a done cuando todos los backorders están validados.
Tareas Técnicas
Backend
- Service: PickingService.createBackorder(originalPicking, pendingQty)
- Calcular cantidades pendientes por línea
- Mantener trazabilidad (backorder_of_id)
- Validar PO status con backorders
- Unit tests
- Integration tests
Frontend
- Modal confirmación backorder
- Vista de backorders asociados
- Indicador visual de picking con backorders
- Component tests
- E2E test
Database
- Campo: inventory.pickings.backorder_of_id
- Índice: idx_pickings_backorder_of
Estimación Detallada
| Tarea | Horas |
|---|---|
| Backend | 2 |
| Frontend | 1.5 |
| Testing | 1 |
| Code Review | 0.5 |
| TOTAL | 5 horas = 3 SP |
Definition of Done
- Código implementado según ET
- Tests pasando (>80%)
- Code review aprobado
- Backorders correctos
- QA validado
- PO aprobado