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

135 lines
3.0 KiB
Markdown

# US-MMD004-010: Realizar Inventario Fisico
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | US-MMD004-010 |
| **Epica** | EPIC-MMD-004 - Inventario y Refacciones |
| **Modulo** | inventario |
| **Prioridad** | P2 |
| **Story Points** | 5 |
| **Sprint** | Sprint 6 |
| **Estado** | Backlog |
---
## Historia de Usuario
**Como** administrador,
**quiero** realizar conteo de inventario fisico,
**para** verificar existencias y detectar diferencias con el sistema.
## Descripcion Detallada
El proceso de inventario fisico permite contar las existencias reales, compararlas con el sistema, y generar ajustes automaticos para las diferencias encontradas.
---
## Criterios de Aceptacion
**Escenario 1: Crear sesion de inventario**
```gherkin
DADO que inicio inventario fisico
CUANDO creo sesion:
| Fecha | 2025-11-30 |
| Tipo | Completo |
| Zonas | A, B, C |
ENTONCES se genera lista de conteo
Y se congela el stock del sistema
```
**Escenario 2: Conteo por ubicacion**
```gherkin
DADO que cuento zona A
CUANDO capturo conteo:
| Ubicacion | Refaccion | Conteo |
| A-01-01 | Filtro ISX | 8 |
| A-01-02 | Filtro ISL | 5 |
ENTONCES se registra el conteo fisico
```
**Escenario 3: Conteo con escaner**
```gherkin
DADO que uso escaner de codigo de barras
CUANDO escaneo refaccion
ENTONCES incrementa contador
Y muestra total acumulado
```
**Escenario 4: Comparar conteo vs sistema**
```gherkin
DADO que complete el conteo
CUANDO genero reporte de diferencias
ENTONCES muestra:
| Refaccion | Sistema | Fisico | Diferencia | Valor |
| Filtro ISX | 10 | 8 | -2 | -$300 |
| Inyector | 4 | 5 | +1 | +$1,500 |
```
**Escenario 5: Generar ajustes**
```gherkin
DADO que revise las diferencias
CUANDO apruebo ajustes
ENTONCES se generan ajustes automaticos:
| Tipo | Referencia |
| Ajuste | INV-2025-001 |
Y se actualiza el stock
```
**Escenario 6: Inventario parcial**
```gherkin
DADO que solo cuento una categoria
CUANDO selecciono "Inyectores"
ENTONCES solo genera lista de esa categoria
Y no afecta otras refacciones
```
---
## Tipos de Inventario
| Tipo | Descripcion |
|------|-------------|
| Completo | Todas las refacciones |
| Por zona | Solo ubicaciones seleccionadas |
| Por categoria | Solo categoria especifica |
| Ciclico | Rotativo por valor/movimiento |
---
## Tareas Tecnicas
**Database:**
- [ ] DB-094: Crear tabla `physical_inventory`
- [ ] DB-095: Crear tabla `inventory_counts`
**Backend:**
- [ ] BE-187: Crear sesion de inventario
- [ ] BE-188: Registrar conteos
- [ ] BE-189: Comparar vs sistema
- [ ] BE-190: Generar ajustes masivos
**Frontend:**
- [ ] FE-183: Crear PhysicalInventoryPage
- [ ] FE-184: Crear CountingForm
- [ ] FE-185: Crear DifferencesReport
- [ ] FE-186: Integracion con escaner
---
## Definition of Done (DoD)
- [ ] Crear sesion de inventario
- [ ] Conteo por ubicacion
- [ ] Soporte para escaner
- [ ] Reporte de diferencias
- [ ] Generar ajustes automaticos
- [ ] Inventario parcial
- [ ] Tests pasando
---
**Creada por:** Requirements-Analyst
**Fecha:** 2025-12-06