erp-core/docs/05-user-stories/mgn-006/US-MGN-006-004-002-validar-devolucion-proveedor.md

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:

  1. Genera movimientos de stock (stock location → supplier location)
  2. Decrementa stock_quants
  3. Actualiza estado return picking → done
  4. 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

Referencias