# US-MMD004-005: Ajustar Inventario

## Metadata

| Campo | Valor |
|-------|-------|
| **ID** | US-MMD004-005 |
| **Epica** | EPIC-MMD-004 - Inventario y Refacciones |
| **Modulo** | inventario |
| **Prioridad** | P1 |
| **Story Points** | 3 |
| **Sprint** | Sprint 5 |
| **Estado** | Backlog |

---

## Historia de Usuario

**Como** almacenista,
**quiero** realizar ajustes de inventario,
**para** corregir diferencias encontradas en conteos fisicos.

## Descripcion Detallada

Los ajustes de inventario son necesarios para mantener la precision entre el sistema y el stock fisico. Todo ajuste debe estar justificado y autorizado.

---

## Criterios de Aceptacion

**Escenario 1: Ajuste por conteo fisico**
```gherkin
DADO que el sistema muestra 10 unidades
CUANDO el conteo fisico es 8
ENTONCES registro ajuste:
  | Refaccion | Sistema | Fisico | Diferencia |
  | Filtro aceite | 10 | 8 | -2 |
  | Motivo | Merma no registrada |
```

**Escenario 2: Ajuste positivo**
```gherkin
DADO que encontramos piezas no registradas
CUANDO ajusto positivamente
ENTONCES registro:
  | Diferencia | +3 |
  | Motivo | Encontrado en revision |
Y el stock se incrementa
```

**Escenario 3: Requiere autorizacion**
```gherkin
DADO que el ajuste supera $500 en valor
CUANDO guardo el ajuste
ENTONCES queda en estado "Pendiente autorizacion"
Y se notifica al supervisor
```

**Escenario 4: Registro de merma**
```gherkin
DADO que tenemos piezas danadas
CUANDO registro merma:
  | Cantidad | 2 |
  | Motivo | Dano por humedad |
  | Evidencia | foto.jpg |
ENTONCES se descuenta del stock
Y se registra en perdidas
```

**Escenario 5: Historial de ajustes**
```gherkin
DADO que consulto historial de refaccion
CUANDO veo ajustes
ENTONCES muestra:
  | Fecha | Tipo | Cantidad | Usuario |
  | 2025-11-15 | Merma | -2 | Juan |
  | 2025-10-01 | Conteo | +1 | Maria |
```

---

## Tipos de Ajuste

| Tipo | Descripcion |
|------|-------------|
| Conteo | Diferencia en inventario fisico |
| Merma | Dano, caducidad, deterioro |
| Traspaso | Movimiento entre ubicaciones |
| Correccion | Error en captura |

---

## Tareas Tecnicas

**Database:**
- [ ] DB-084: Crear tabla `inventory_adjustments`
- [ ] DB-085: Trigger para actualizar stock

**Backend:**
- [ ] BE-170: CRUD ajustes de inventario
- [ ] BE-171: Workflow de autorizacion
- [ ] BE-172: Calculo de impacto en costo

**Frontend:**
- [ ] FE-169: Crear AdjustmentForm
- [ ] FE-170: Crear AdjustmentHistory
- [ ] FE-171: Crear ApprovalQueue

---

## Definition of Done (DoD)

- [ ] Ajuste por conteo fisico
- [ ] Ajuste positivo/negativo
- [ ] Autorizacion para montos altos
- [ ] Registro de merma
- [ ] Historial de ajustes
- [ ] Tests pasando

---

**Creada por:** Requirements-Analyst
**Fecha:** 2025-12-06
