# US-MMD004-004: Recibir Mercancia ## Metadata | Campo | Valor | |-------|-------| | **ID** | US-MMD004-004 | | **Epica** | EPIC-MMD-004 - Inventario y Refacciones | | **Modulo** | inventario | | **Prioridad** | P0 | | **Story Points** | 5 | | **Sprint** | Sprint 5 | | **Estado** | Backlog | --- ## Historia de Usuario **Como** almacenista, **quiero** registrar la recepcion de mercancia, **para** actualizar el inventario y verificar que coincide con el pedido. ## Descripcion Detallada El proceso de recepcion debe validar cantidades contra la orden de compra, permitir reportar diferencias, y actualizar automaticamente el stock una vez confirmada la recepcion. --- ## Criterios de Aceptacion **Escenario 1: Recibir orden de compra completa** ```gherkin DADO que llega mercancia del proveedor CUANDO selecciono la orden de compra OC-2025-001 ENTONCES veo items esperados: | Refaccion | Pedido | Recibido | | Filtro aceite | 10 | [input] | | Inyector reman | 4 | [input] | Y puedo ingresar cantidades recibidas ``` **Escenario 2: Recepcion parcial** ```gherkin DADO que pedimos 10 filtros CUANDO recibimos solo 6 ENTONCES registro recepcion parcial Y el sistema marca OC como "Parcialmente recibida" Y mantiene pendiente 4 unidades ``` **Escenario 3: Diferencia en recepcion** ```gherkin DADO que recibo menos de lo facturado CUANDO hay diferencia ENTONCES puedo reportar incidencia: | Tipo | Faltante | | Cantidad | 4 unidades | | Notas | Proveedor avisado | Y se notifica a compras ``` **Escenario 4: Asignar ubicacion** ```gherkin DADO que recibo mercancia CUANDO confirmo recepcion ENTONCES asigno ubicacion de almacen: | Refaccion | Ubicacion | | Filtro aceite | A-01-03 | Y se actualiza el stock ``` **Escenario 5: Recepcion sin orden** ```gherkin DADO que llega mercancia sin orden previa CUANDO registro entrada directa ENTONCES capturo: - Proveedor - Factura - Items y cantidades - Costos Y se genera entrada de almacen ``` --- ## Tareas Tecnicas **Database:** - [ ] DB-082: Crear tabla `warehouse_receipts` - [ ] DB-083: Crear tabla `receipt_items` **Backend:** - [ ] BE-166: Endpoint POST /api/warehouse/receipts - [ ] BE-167: Validar contra orden de compra - [ ] BE-168: Actualizar stock en recepcion - [ ] BE-169: Registrar incidencias **Frontend:** - [ ] FE-166: Crear ReceiveGoodsPage - [ ] FE-167: Crear ReceiptForm - [ ] FE-168: Crear IncidenceModal --- ## Definition of Done (DoD) - [ ] Recibir mercancia contra OC - [ ] Recepcion parcial - [ ] Reportar diferencias - [ ] Asignar ubicacion - [ ] Actualizar stock automatico - [ ] Tests pasando --- **Creada por:** Requirements-Analyst **Fecha:** 2025-12-06