workspace-v1/projects/erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-004-inventario/historias-usuario/US-MMD004-010-inventario-fisico.md
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
Sistema NEXUS v3.4 migrado con:

Estructura principal:
- core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles)
- core/catalog: Catalogo de funcionalidades reutilizables
- shared/knowledge-base: Base de conocimiento compartida
- devtools/scripts: Herramientas de desarrollo
- control-plane/registries: Control de servicios y CI/CD
- orchestration/: Configuracion de orquestacion de agentes

Proyectos incluidos (11):
- gamilit (submodule -> GitHub)
- trading-platform (OrbiquanTIA)
- erp-suite con 5 verticales:
  - erp-core, construccion, vidrio-templado
  - mecanicas-diesel, retail, clinicas
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
- pos-micro, erp-basico

Configuracion:
- .gitignore completo para Node.js/Python/Docker
- gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git)
- Sistema de puertos estandarizado (3005-3199)

Generated with NEXUS v3.4 Migration System
EPIC-010: Configuracion Git y Repositorios
2026-01-04 03:37:42 -06:00

3.0 KiB

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

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

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

DADO que uso escaner de codigo de barras
CUANDO escaneo refaccion
ENTONCES incrementa contador
Y muestra total acumulado

Escenario 4: Comparar conteo vs sistema

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

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

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