erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-004-inventario/historias-usuario/US-MMD004-004-recibir-mercancia.md

118 lines
2.6 KiB
Markdown

# 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