2.5 KiB
2.5 KiB
US-MGN-006-004-002: Validar Devolución a Proveedor
RF Asociado: RF-MGN-006-004 Módulo: MGN-006 - Compras Básico Epic: Devoluciones a Proveedores Prioridad: P1 Story Points: 2 Sprint: Sprint 15 Estado: Ready for Development Fecha: 2025-11-24
User Story
Como usuario de almacén, Quiero validar devoluciones a proveedores, Para decrementar el stock y registrar la salida de mercancía.
Descripción Detallada
Validar devolución:
- Genera movimientos de stock (stock location → supplier location)
- Decrementa stock_quants
- Actualiza estado return picking → done
- Genera nota de crédito si aplica
Criterios de Aceptación
Escenario 1: Validar devolución exitosamente (Camino Feliz)
Dado que return picking está en assigned, Cuando valido, Entonces sistema genera movimientos, decrementa stock, cambia state=done.
Escenario 2: Generar nota de crédito automática
Dado que valido devolución con opción "crear crédito", Cuando sistema procesa, Entonces genera vendor refund (credit note) con valor de productos devueltos.
Reglas de Negocio
- RN-1: Validar genera movimientos de stock (salida).
- RN-2: Stock se decrementa de ubicación de stock.
- RN-3: Opcionalmente genera nota de crédito.
Tareas Técnicas
Backend
- Endpoint: POST /api/v1/purchase/returns/:id/validate
- Service: PurchaseReturnService.validate(id, createCredit)
- Service: generateCreditNote(return)
- Generar movimientos stock
- Transaction atomicidad
- Unit tests
- Integration tests
- Swagger docs
Frontend
- Botón Validar con confirmación
- Checkbox "Generar nota de crédito"
- API client: purchaseReturnApi.validate()
- Component tests
- E2E test
Database
- Transaction isolation
- Lock en quants
Estimación Detallada
| Tarea | Horas |
|---|---|
| Backend | 1.5 |
| Frontend | 1 |
| Testing | 0.5 |
| Code Review | 0.5 |
| TOTAL | 3.5 horas = 2 SP |
Definition of Done
- Código implementado según ET
- Tests pasando (>80%)
- Code review aprobado
- Stock actualizado
- Crédito generado si aplica
- QA validado
- PO aprobado