Skip to content

Trazabilidad de Movimientos de Stock con Comprobantes de Compras

Modulo: Stock Tipo: Resource Estado: Planificado Fecha: 2025-12-24


Descripcion

Problema de negocio

Actualmente, los movimientos de stock generados por operaciones de compras utilizan un identificador numerico entero local para referenciar los comprobantes de compra. Debido a la arquitectura multi-sucursal del sistema (donde cada sucursal opera con su propio esquema de datos), el mismo identificador numerico puede existir en diferentes sucursales, generando los siguientes problemas operativos:

  • Ambiguedad en identificacion: El identificador numerico local (por ejemplo, ID 500) puede corresponder a comprobantes de compra completamente diferentes en sucursales distintas. Cuando un movimiento de stock referencia el "comprobante 500", no es posible determinar univocamente a cual comprobante se refiere sin conocer adicionalmente la sucursal de origen.

  • Falta de trazabilidad confiable: No es posible rastrear de forma directa e inequivoca que comprobante de compra genero un ingreso de stock especifico, especialmente cuando se consulta desde una sucursal diferente a la que registro la compra.

  • Dificultad en operaciones a nivel empresa: Las consultas consolidadas, auditorias y reportes que abarcan multiples sucursales no pueden relacionar correctamente movimientos de stock con sus comprobantes de compra de origen.

  • Reversiones imprecisas: Al eliminar o anular un comprobante de compra, no existe un mecanismo confiable para identificar todos los movimientos de stock que deben revertirse cuando la consulta se realiza desde otra sucursal.

  • Inconsistencia de datos: Pueden quedar movimientos de stock "huerfanos" cuando se eliminan comprobantes sin revertir adecuadamente el inventario, debido a la imposibilidad de localizar los movimientos relacionados de forma univoca.

  • Complejidad en procesos de pago: Las operaciones de tesoreria y cuentas corrientes que necesitan verificar el estado de stock de comprobantes de compra enfrentan dificultades cuando los comprobantes son de sucursales diferentes.

Necesidad del negocio

El sistema requiere establecer una relacion trazable y univoca entre los movimientos de stock y los comprobantes de compras que los originan, utilizando el identificador global proporcionado por el servicio de Identificadores Globales de Comprobantes de Compra (Bridge de Compras). Esta relacion debe cumplir las siguientes caracteristicas:

  • Identificacion global del origen: Cada movimiento de stock generado por una compra debe registrar el identificador global del comprobante, que es unico a nivel empresa independientemente de la sucursal que registro la compra.

  • Relacion univoca: El identificador global por si solo debe ser suficiente para determinar inequivocamente el comprobante de compra origen, sin necesidad de datos adicionales como tipo de comprobante o sucursal.

  • Flexibilidad arquitectonica: La relacion no debe depender de restricciones de integridad referencial rigidas, permitiendo flexibilidad en el manejo de datos historicos y procesos de migracion.

  • Integridad por logica de negocio: La consistencia entre movimientos de stock y comprobantes debe mantenerse mediante validaciones y procesos de negocio.

Tipos de comprobantes de compra involucrados:

  • Facturas de proveedores (generan ingreso de stock)
  • Notas de credito de proveedores (pueden generar egreso de stock por devolucion al proveedor)
  • Otros comprobantes de compra que afecten inventario

Valor de negocio

La implementacion de esta funcionalidad aportara los siguientes beneficios:

  1. Trazabilidad inequivoca: Permite rastrear el origen de cada movimiento de stock generado por compras con certeza absoluta, sin importar la sucursal que registro el comprobante ni la sucursal desde donde se realiza la consulta.

  2. Reversiones precisas: Al eliminar un comprobante de compra, el sistema puede identificar exactamente que movimientos de stock deben revertirse usando el identificador global.

  3. Integridad de inventario: Garantiza que no queden movimientos de stock sin revertir cuando se elimina un comprobante, ya que el identificador global permite localizar todos los movimientos relacionados sin ambiguedad.

  4. Auditoria eficiente: Simplifica los procesos de control al tener una relacion directa y univoca entre compras y movimientos de inventario a nivel empresa.

  5. Soporte a compliance: Facilita el cumplimiento de requisitos de control interno y regulatorios relacionados con trazabilidad de operaciones de compra e inventario.

  6. Reduccion de errores: Minimiza la posibilidad de inconsistencias entre el modulo de compras y el modulo de stock en entornos multi-sucursal.

  7. Consultas simplificadas: Permite localizar el comprobante de compra origen de un movimiento de stock sin necesidad de conocer la sucursal donde se registro.

  8. Preparacion para integraciones: El sistema estara preparado para exponer trazabilidad completa a sistemas externos de auditoria o gestion de inventario.

Contexto en el proceso de negocio

Esta funcionalidad se integra en el flujo de compras de la siguiente manera:

Flujo de registro de compra:

  1. El usuario registra un comprobante de compra (factura de proveedor) en su sucursal
  2. El sistema asigna el identificador local de la sucursal al comprobante
  3. El servicio de Identificadores Globales genera y registra un identificador global unico para el comprobante (ver Identificadores Globales de Comprobantes de Compra)
  4. El sistema genera los movimientos de stock de ingreso correspondientes segun los items del comprobante
  5. [Esta funcionalidad] El sistema registra en cada movimiento de stock el identificador global del comprobante de compra
  6. La relacion queda disponible para consultas y para el proceso de reversion

Flujo de eliminacion de compra:

Esta funcionalidad es fundamental para el correcto funcionamiento del proceso de eliminacion de comprobantes de compra. Al eliminar un comprobante:

  1. El sistema obtiene el identificador global del comprobante a eliminar
  2. Busca todos los movimientos de stock relacionados mediante el identificador global
  3. Por cada movimiento de stock encontrado:
    • Revierte el efecto en el stock del producto (decrementa para ingresos, incrementa para egresos)
    • Elimina el registro de movimiento de stock
  4. Garantiza que no queden movimientos de stock huerfanos
  5. Continua con las siguientes etapas de la eliminacion (cuenta corriente, contabilidad, etc.)

Flujo de consulta de trazabilidad:

  1. El usuario consulta el detalle de un movimiento de stock
  2. El sistema identifica que el movimiento tiene un identificador global de compra asociado
  3. El sistema utiliza el identificador global para localizar el comprobante de compra (a traves del Bridge de Compras)
  4. El sistema muestra la informacion del comprobante origen, independientemente de la sucursal donde fue registrado

Frontend

Vistas

Esta funcionalidad es principalmente de infraestructura y no requiere vistas especificas de usuario.

Interacciones del usuario

  • Los usuarios no interactuan directamente con los identificadores globales
  • El proceso de asignacion del identificador global es automatico y transparente
  • Los usuarios continuan trabajando con los numeros de comprobante habituales (punto de venta, tipo, numero)
  • Al consultar movimientos de stock, los usuarios pueden ver de que comprobante de compra proviene cada ingreso
  • La referencia al comprobante de compra funciona correctamente aunque este sea de otra sucursal

Estados de UI

  • No aplica - La funcionalidad opera de forma transparente al usuario

Backend

Entidades de negocio

Movimiento de Stock (entidad existente - enriquecida)

Entidad que representa cada movimiento de entrada o salida de inventario de un producto. Se enriquece con la capacidad de registrar su relacion con comprobantes de compras mediante el identificador global.

Datos existentes relevantes:

DatoDescripcionProposito
Identificador del movimientoIdentificador unico del movimiento de stockIdentifica el registro
ProductoProducto afectado por el movimientoIndica que producto se movio
CantidadCantidad del movimientoIndica cuanto se movio
Tipo de movimientoIngreso o EgresoIndica la direccion del movimiento
FechaFecha del movimientoIndica cuando ocurrio
Comprobante de origenCodigo del comprobante (generico)Referencia textual al origen
Marca de origenCaracter que identifica si es oficial ('O') o de prueba ('P')Ver Marca de Origen en Movimientos de Stock

Datos nuevos (trazabilidad con compras):

DatoDescripcionProposito
Identificador global de compraIdentificador unico a nivel empresa del comprobante de compra que origino el movimientoPermite relacionar el movimiento con el comprobante de compra especifico de forma univoca, sin importar la sucursal de origen

Datos necesarios

Para la trazabilidad entre movimientos de stock y comprobantes de compras, el sistema debe registrar:

DatoDescripcionObligatoriedad
Identificador global de compraReferencia al identificador global del comprobante de compra que genero el movimientoObligatorio para movimientos generados por compras

Notas importantes:

  • Los movimientos de stock generados por compras deben registrar el identificador global
  • Los movimientos de otros origenes (ventas, ajustes manuales, transferencias entre depositos) no tendran identificador global de compra
  • El identificador global proviene del servicio de Identificadores Globales (Bridge de Compras)
  • A diferencia de los comprobantes de venta (que tienen multiples tipos como factura, nota de credito, nota de debito), el identificador global de compra es autosuficiente para identificar univocamente el comprobante

Relaciones de negocio

Comprobante de Compra (1) ---- (N) Movimientos de Stock
  • Comprobante a Movimientos: Un comprobante de compra puede generar multiples movimientos de stock (uno por cada item del comprobante que afecte inventario)
  • Movimiento a Comprobante: Cada movimiento de stock generado por una compra esta relacionado con exactamente un comprobante de compra
  • Identificacion de relacion: El identificador global de compra por si solo identifica univocamente al comprobante de compra relacionado, sin necesidad de datos adicionales como sucursal o tipo de comprobante

Efecto en stock segun tipo de operacion:

Tipo de operacion de compraEfecto en stockTipo de movimiento
Factura de proveedorEntrada de productos adquiridosIngreso
Nota de credito de proveedorSalida de productos devueltosEgreso

Validaciones de negocio

  1. Existencia del identificador global:

    • Al crear un movimiento de stock desde una compra, el identificador global del comprobante debe existir en el servicio de Identificadores Globales (Bridge de Compras)
    • El sistema debe validar que el identificador global corresponda a un comprobante de compra valido
  2. Movimientos sin relacion a compras:

    • Los movimientos de stock que no provienen de compras (ventas, ajustes manuales, transferencias) no deben tener identificador global de compra
    • Este campo debe permanecer sin valor para ese tipo de movimientos
  3. Unicidad del identificador global:

    • El identificador global de compra es unico a nivel empresa
    • No puede haber ambiguedad sobre cual comprobante se referencia
  4. Inmutabilidad de la relacion:

    • Una vez creada, la relacion entre un movimiento de stock y su comprobante de compra no puede modificarse
    • Solo puede eliminarse la relacion cuando se elimina el movimiento de stock completo
  5. Consistencia con marca de origen:


Reglas de Negocio

RN-001: Registro automatico de identificador global al generar movimiento desde compra

Descripcion: Cuando el sistema genera un movimiento de stock a partir de un comprobante de compra, debe registrar automaticamente el identificador global del comprobante.

Condicion: Se esta registrando un comprobante de compra que contiene items de productos que afectan el inventario.

Accion:

  • Por cada item del comprobante que genera movimiento de stock, el sistema debe:
    • Obtener el identificador global del comprobante de compra desde el Bridge de Compras
    • Registrar el identificador global en el movimiento de stock
  • El identificador global debe registrarse atomicamente junto con el movimiento de stock

Aplica a:

  • Facturas de proveedores (generan movimientos de ingreso)
  • Notas de credito de proveedores (generan movimientos de egreso por devolucion)

Fundamento: Garantiza que todos los movimientos de stock generados por compras queden relacionados con su comprobante de origen de forma univoca, permitiendo trazabilidad completa y reversiones precisas.


RN-002: Unicidad de identificacion del comprobante origen

Descripcion: El identificador global de compra debe ser suficiente por si solo para identificar de manera univoca el comprobante de compra origen.

Condicion: Al consultar o buscar el comprobante origen de un movimiento de stock de compra.

Accion:

  • El sistema debe utilizar unicamente el identificador global para determinar el comprobante origen
  • No debe requerirse informacion adicional como sucursal, tipo de comprobante o identificador local
  • No debe haber ambiguedad en la identificacion del comprobante

Fundamento: A diferencia de los identificadores locales que pueden repetirse entre sucursales, el identificador global es unico a nivel empresa, garantizando una identificacion sin ambiguedades.


RN-003: Identificacion y reversion de movimientos al eliminar comprobante de compra

Descripcion: Al eliminar un comprobante de compra, el sistema debe identificar todos los movimientos de stock relacionados mediante el identificador global y revertirlos.

Condicion: Se esta ejecutando el proceso de eliminacion de un comprobante de compra.

Accion:

  1. El sistema obtiene el identificador global del comprobante de compra a eliminar
  2. El sistema busca todos los movimientos de stock que tengan ese identificador global de compra
  3. Para cada movimiento encontrado:
    • Si era tipo "Ingreso": decrementa el stock del producto (revierte el ingreso)
    • Si era tipo "Egreso": incrementa el stock del producto (revierte el egreso)
    • Elimina el registro del movimiento de stock
  4. Si no se encuentran movimientos (comprobante que no afecto stock), el proceso continua normalmente

Fundamento: Garantiza que la eliminacion de un comprobante de compra no deje movimientos de stock huerfanos y que el inventario refleje correctamente la reversion de la operacion. El uso del identificador global permite encontrar todos los movimientos sin importar desde que sucursal se ejecute la eliminacion.


RN-004: Movimientos no relacionados con compras

Descripcion: Los movimientos de stock que no provienen de operaciones de compras no deben tener datos de identificador global de compra.

Condicion: Se esta registrando un movimiento de stock por:

  • Venta de productos (factura de venta, nota de credito de venta)
  • Ajuste manual de inventario
  • Transferencia entre depositos
  • Otros motivos no relacionados con compras a proveedores

Accion:

  • El sistema no debe registrar identificador global de compra
  • Este campo debe permanecer sin valor

Fundamento: Permite distinguir claramente los movimientos originados por compras de aquellos originados por otras operaciones, manteniendo la integridad semantica de los datos.


RN-005: Compatibilidad con datos historicos

Descripcion: Los movimientos de stock historicos que no tienen el identificador global de compra registrado deben seguir funcionando correctamente en el sistema.

Condicion: Existen movimientos de stock creados antes de la implementacion de esta funcionalidad.

Accion:

  • El sistema debe manejar correctamente movimientos sin identificador global de compra
  • Las funcionalidades existentes no deben verse afectadas por la ausencia de estos datos
  • Las nuevas funcionalidades de trazabilidad deben indicar "Relacion no disponible" o similar para estos movimientos

Fundamento: Garantiza compatibilidad hacia atras y permite una migracion gradual sin afectar la operacion del sistema.


RN-006: Integridad de datos por logica de negocio

Descripcion: La consistencia entre movimientos de stock y comprobantes de compras debe mantenerse mediante logica de negocio, no mediante restricciones de base de datos.

Condicion: En cualquier operacion que involucre movimientos de stock relacionados con compras.

Accion:

  • Las validaciones de existencia del identificador global se realizan en el momento de la operacion
  • No se impiden operaciones de mantenimiento o correccion de datos por restricciones rigidas
  • Los procesos de negocio garantizan la consistencia de las relaciones

Fundamento: Permite flexibilidad para manejar situaciones especiales (migracion de datos, correccion de inconsistencias historicas) sin que las restricciones de base de datos bloqueen operaciones legitimas.


RN-007: Inmutabilidad del identificador global una vez asignado

Descripcion: Una vez asignado el identificador global de compra a un movimiento de stock, este no puede modificarse.

Condicion: Existe un movimiento de stock con identificador global de compra asignado.

Accion:

  • El sistema rechaza cualquier intento de modificar el identificador global de compra
  • Solo puede eliminarse el movimiento completo

Fundamento: El identificador global es un dato de trazabilidad que refleja una condicion del momento de creacion. Modificarlo alteraria la integridad historica del movimiento y afectaria auditorias y reportes.


RN-008: Preservacion del mapeo para auditoria

Descripcion: Si un comprobante de compra es eliminado, el registro de movimiento de stock se elimina pero la auditoria preserva la informacion de la relacion para trazabilidad historica.

Condicion: Se elimina un comprobante de compra que tiene movimientos de stock asociados.

Accion:

  • Los movimientos de stock se eliminan como parte del proceso de reversion
  • El sistema de auditoria registra la eliminacion incluyendo el identificador global del comprobante eliminado
  • La informacion queda disponible para consultas de auditoria historica

Fundamento: Permite mantener la trazabilidad historica y cumplir con requisitos de auditoria incluso cuando se eliminan comprobantes de compra.


Casos de Uso

CU-001: Registrar movimiento de stock desde factura de proveedor

Actor: Sistema (proceso automatico al registrar compra)

Objetivo: Generar movimientos de stock de ingreso con trazabilidad completa al registrar una factura de compra

Precondiciones:

  • Usuario esta registrando una factura de compra (factura de proveedor)
  • La factura contiene items de productos que afectan inventario
  • Los productos tienen stock habilitado
  • El servicio de Identificadores Globales (Bridge de Compras) esta disponible

Flujo principal:

  1. El usuario confirma el registro de la factura de compra
  2. El sistema valida y registra el comprobante de compra
  3. El sistema obtiene el identificador global del comprobante desde el Bridge de Compras
  4. Por cada item de la factura que afecta stock:
    • El sistema crea un movimiento de stock de tipo "Ingreso"
    • El sistema registra en el movimiento el identificador global del comprobante de compra
    • El sistema asigna la marca de origen correspondiente ('O' u 'P')
    • El sistema actualiza el stock del producto (incrementa)
  5. El sistema confirma la operacion exitosa al usuario

Postcondiciones:

  • La factura de compra queda registrada en el sistema
  • Los movimientos de stock quedan registrados con el identificador global del comprobante
  • El stock de los productos queda incrementado
  • La relacion esta disponible para consultas inmediatas desde cualquier sucursal

Flujos alternativos:

  • Items sin afectacion de stock: Si algun item es un servicio o producto sin control de stock, no se genera movimiento de stock para ese item
  • Error en obtencion de identificador global: Si no se puede obtener el identificador global, se revierte toda la operacion incluyendo la factura
  • Error en creacion de movimiento: Si ocurre un error al crear algun movimiento de stock, se revierte toda la operacion

CU-002: Revertir movimientos de stock al eliminar comprobante de compra

Actor: Sistema (proceso automatico durante eliminacion de comprobante)

Objetivo: Identificar y revertir todos los movimientos de stock asociados a un comprobante de compra que se esta eliminando, utilizando el identificador global

Precondiciones:

  • Un usuario con permisos esta ejecutando el proceso de eliminacion de un comprobante de compra
  • El comprobante cumplio todas las validaciones para poder ser eliminado
  • El proceso de eliminacion esta en ejecucion

Flujo principal:

  1. El proceso de eliminacion obtiene el identificador global del comprobante de compra
  2. El sistema busca todos los movimientos de stock donde el identificador global de compra coincida
  3. El sistema encuentra N movimientos de stock relacionados
  4. Por cada movimiento encontrado:
    • Si era tipo "Ingreso": decrementa el stock del producto (revierte la entrada)
    • Si era tipo "Egreso": incrementa el stock del producto (revierte la salida)
    • Registra en auditoria la eliminacion del movimiento con su identificador global
    • Elimina el registro del movimiento de stock
  5. El proceso de eliminacion continua con las siguientes etapas (cuenta corriente, contabilidad, comprobante)

Postcondiciones:

  • Todos los movimientos de stock relacionados al comprobante han sido eliminados
  • El stock de los productos afectados ha sido revertido correctamente
  • No quedan movimientos de stock huerfanos relacionados al comprobante eliminado
  • La auditoria preserva la informacion de las relaciones eliminadas

Flujos alternativos:

  • Comprobante sin movimientos de stock: Si el comprobante no tiene movimientos de stock asociados (items sin control de inventario), el proceso continua sin errores
  • Error en reversion: Si ocurre un error al revertir algun movimiento, el sistema revierte toda la operacion de eliminacion (rollback transaccional)

CU-003: Consultar comprobante de compra desde movimiento de stock

Actor: Usuario consultando trazabilidad de inventario

Objetivo: Localizar el comprobante de compra origen de un movimiento de stock, independientemente de la sucursal donde fue registrado

Precondiciones:

  • Usuario tiene permiso de consulta de movimientos de stock y comprobantes de compra
  • Existe un movimiento de stock con identificador global de compra asociado

Flujo principal:

  1. El usuario consulta el detalle de un movimiento de stock
  2. El sistema detecta que el movimiento tiene un identificador global de compra asociado
  3. El usuario solicita ver el comprobante de compra origen
  4. El sistema utiliza el identificador global para consultar el Bridge de Compras
  5. El sistema obtiene la ubicacion del comprobante (sucursal e identificador local)
  6. El sistema recupera y muestra la informacion del comprobante de compra al usuario

Postcondiciones:

  • El usuario visualiza la informacion del comprobante de compra relacionado
  • La consulta funciona correctamente aunque el comprobante sea de otra sucursal

Flujos alternativos:

  • Movimiento sin identificador global: Si el movimiento no tiene identificador global de compra (movimiento historico o de otro origen), el sistema informa que la trazabilidad no esta disponible
  • Comprobante eliminado: Si el comprobante fue eliminado, el sistema informa que el comprobante ya no esta disponible pero puede mostrar datos de auditoria

CU-004: Generar reporte de ingresos de stock por compras

Actor: Usuario con permiso de reportes de stock

Objetivo: Generar un reporte de movimientos de stock de ingreso que muestre la relacion con los comprobantes de compra origen

Precondiciones:

  • Usuario tiene permiso de generacion de reportes de stock
  • Existen movimientos de stock con identificador global de compra registrado

Flujo principal:

  1. El usuario accede a la generacion de reportes de movimientos de stock
  2. El usuario selecciona el tipo de reporte: movimientos de ingreso por compras
  3. El usuario configura los filtros (periodo, productos, proveedores, sucursales)
  4. El sistema genera el reporte incluyendo:
    • Datos del movimiento de stock (fecha, producto, cantidad)
    • Referencia al comprobante de compra origen (usando el identificador global)
    • Datos del comprobante de compra (proveedor, numero de comprobante, fecha)
  5. El usuario puede visualizar, imprimir o exportar el reporte

Postcondiciones:

  • El reporte muestra la trazabilidad entre movimientos de stock y comprobantes de compra
  • Las referencias a comprobantes funcionan correctamente para compras de cualquier sucursal

Flujos alternativos:

  • Movimientos sin trazabilidad: Los movimientos historicos sin identificador global de compra se muestran con la indicacion "Trazabilidad no disponible"

Consideraciones

Seguridad

Control de acceso:

  • La consulta de relaciones entre movimientos de stock y comprobantes de compras requiere permisos de visualizacion en ambos modulos
  • Solo usuarios con permiso de eliminacion de comprobantes de compra pueden ejecutar la reversion de movimientos de stock
  • Los datos de relacion (identificador global de compra) no deben ser modificables manualmente por usuarios

Integridad de datos:

  • Las relaciones solo se crean y eliminan mediante procesos automaticos del sistema
  • No existe funcionalidad para modificar manualmente la relacion entre un movimiento y su comprobante de compra
  • Los identificadores globales estan protegidos contra modificaciones

Auditoria

Operaciones que se auditan:

  • Creacion de movimientos de stock con relacion a comprobantes de compras
  • Eliminacion de movimientos de stock como parte del proceso de eliminacion de comprobantes
  • Reversiones de stock ejecutadas

Informacion preservada:

  • Identificador global del comprobante de compra en cada movimiento
  • Datos completos en el log de auditoria cuando se eliminan movimientos
  • Usuario y fecha/hora de las operaciones
  • Relacion entre movimiento eliminado y comprobante origen

Rendimiento

Volumenes esperados:

  • Un movimiento de stock por cada item de producto en cada comprobante de compra
  • El numero de movimientos crece proporcionalmente con el volumen de compras

Expectativas de tiempo de respuesta:

  • La busqueda de movimientos por identificador global de compra debe ser rapida (menos de 100 milisegundos)
  • La creacion de relaciones no debe agregar latencia perceptible al registro de comprobantes
  • La identificacion de movimientos durante el proceso de eliminacion debe ser eficiente

Consideraciones de busqueda:

  • Las consultas frecuentes por identificador global de compra deben ser optimizadas
  • La busqueda inversa (desde comprobante hacia movimientos) es un caso de uso comun

Migracion de datos

Movimientos historicos:

  • Los movimientos de stock existentes antes de la implementacion no tendran el identificador global de compra
  • El sistema debe manejar correctamente estos movimientos sin la relacion
  • Se puede evaluar una migracion retroactiva si es necesario y factible

Compatibilidad:

  • Las funcionalidades existentes del modulo de stock no deben verse afectadas
  • La ausencia de datos de relacion no debe generar errores en el sistema

Dependencias

Funcionalidades relacionadas

  • Identificadores Globales de Comprobantes de Compra (Bridge de Compras) (Ver documento): Proporciona los identificadores globales unicos para comprobantes de compra. Esta funcionalidad es un prerequisito, ya que los movimientos de stock utilizan estos identificadores para establecer la trazabilidad.

  • Marca de Origen en Movimientos de Stock (Ver documento): La marca de origen es un requisito complementario a la trazabilidad. Todos los movimientos de compras deben registrar la marca correspondiente: 'O' para oficiales, 'P' para prueba.

  • Registro de Comprobantes de Compra: Esta funcionalidad se integra en el proceso de registro de facturas de proveedores. El identificador global se obtiene del Bridge de Compras y se registra automaticamente en los movimientos de stock.

  • Eliminacion de Comprobantes de Compra: El proceso de eliminacion debe utilizar el identificador global para identificar y revertir los movimientos de stock asociados al comprobante eliminado.

  • Gestion de Stock: El modulo de stock recibe las modificaciones de esta funcionalidad para soportar la trazabilidad con compras. Las consultas de movimientos se enriquecen con la informacion del comprobante de compra origen.

  • Trazabilidad de Movimientos de Stock con Comprobantes de Ventas (Ver documento): Funcionalidad hermana que implementa el mismo concepto para comprobantes de venta. Ambas funcionalidades coexisten: los movimientos de ventas tendran trazabilidad con comprobantes de venta, y los movimientos de compras tendran trazabilidad con comprobantes de compra.

Modulos de negocio involucrados

ModuloRol en esta funcionalidad
ComprasProporciona los comprobantes (facturas de proveedor, NC de proveedor) que originan los movimientos de stock. Proporciona los identificadores globales via Bridge de Compras
StockRecibe la mejora para registrar y consultar la relacion con comprobantes de compras usando identificadores globales
AuditoriaRegistra las operaciones de creacion y eliminacion de movimientos con sus relaciones

Impacto en otros procesos

ProcesoImpacto
Registro de factura de proveedorLos movimientos de stock de ingreso registraran el identificador global del comprobante de compra
Registro de nota de credito de proveedorLos movimientos de stock de egreso registraran el identificador global del comprobante de compra
Eliminacion de comprobantes de compraUtilizara el identificador global para identificar y revertir movimientos de stock
Consulta de movimientos de stockMostrara el comprobante de compra origen para movimientos generados por compras
Reportes de inventarioPodran mostrar la relacion entre ingresos de stock y comprobantes de compra

Criterios de Aceptacion

La funcionalidad se considera completa cuando se cumplan los siguientes criterios:

Criterios de registro de trazabilidad

  • [ ] AC-001: Al registrar una factura de compra con items que afectan stock, cada movimiento de stock de ingreso generado registra el identificador global del comprobante de compra

  • [ ] AC-002: Al registrar una nota de credito de proveedor con items que afectan stock, cada movimiento de stock de egreso generado registra el identificador global del comprobante de compra

  • [ ] AC-003: El identificador global de compra por si solo permite identificar univocamente el comprobante de compra origen (sin necesidad de datos adicionales como sucursal)

Criterios de eliminacion y reversion

  • [ ] AC-004: Al ejecutar la eliminacion de un comprobante de compra, el sistema identifica todos los movimientos de stock relacionados mediante el identificador global

  • [ ] AC-005: Al ejecutar la eliminacion de un comprobante de compra, el sistema revierte correctamente el stock de cada producto afectado (decrementa para ingresos, incrementa para egresos)

  • [ ] AC-006: Al ejecutar la eliminacion de un comprobante de compra, se eliminan todos los movimientos de stock relacionados sin dejar registros huerfanos

  • [ ] AC-007: La identificacion de movimientos para reversion funciona correctamente aunque el comprobante sea de una sucursal diferente a la actual

Criterios de movimientos no relacionados con compras

  • [ ] AC-008: Los movimientos de stock generados por ventas no tienen identificador global de compra

  • [ ] AC-009: Los movimientos de stock generados por ajustes manuales no tienen identificador global de compra

  • [ ] AC-010: Los movimientos de stock generados por transferencias entre depositos no tienen identificador global de compra

Criterios de compatibilidad y datos historicos

  • [ ] AC-011: Los movimientos de stock historicos (sin identificador global de compra) siguen funcionando correctamente en todas las funcionalidades existentes

  • [ ] AC-012: Las nuevas funcionalidades de trazabilidad indican claramente cuando la relacion no esta disponible para movimientos historicos

Criterios de inmutabilidad e integridad

  • [ ] AC-013: El identificador global de compra no puede modificarse una vez asignado a un movimiento de stock

  • [ ] AC-014: La auditoria registra correctamente la creacion de movimientos de stock con su identificador global de compra

  • [ ] AC-015: La auditoria registra correctamente la eliminacion de movimientos de stock como parte del proceso de eliminacion de comprobantes, preservando la informacion de la relacion

Criterios de consulta y rendimiento

  • [ ] AC-016: Es posible consultar el comprobante de compra origen de un movimiento de stock utilizando el identificador global

  • [ ] AC-017: La consulta del comprobante origen funciona correctamente aunque el comprobante sea de una sucursal diferente a la actual

  • [ ] AC-018: La busqueda de movimientos por identificador global de compra tiene un tiempo de respuesta aceptable (menos de 100 milisegundos)

  • [ ] AC-019: El rendimiento de creacion de movimientos de stock no se ve afectado significativamente por el registro del identificador global


Notas adicionales

Diferencia con trazabilidad de ventas

Esta funcionalidad es complementaria a la trazabilidad de movimientos de stock con comprobantes de ventas:

AspectoTrazabilidad con VentasTrazabilidad con Compras
Identificador utilizadoID local de venta + tipo de comprobanteIdentificador global de compra (UUID)
Unicidad del identificadorRequiere combinacion de datosUnico por si solo a nivel empresa
Efecto tipico en stockEgreso (ventas), Ingreso (NC)Ingreso (compras), Egreso (NC proveedor)
Tipos de comprobantesFactura venta, NC venta, ND ventaFactura proveedor, NC proveedor
Documento de referenciamovimiento-stock-ventas-resource.mdEste documento

Relacion con el Bridge de Compras

Esta funcionalidad depende del servicio de Identificadores Globales de Comprobantes de Compra (Bridge de Compras):

AspectoBridge de ComprasEsta funcionalidad
PropositoGenerar y gestionar identificadores globales para comprobantes de compraUtilizar identificadores globales para trazabilidad de stock
Momento de ejecucionAl registrar comprobante de compraAl generar movimientos de stock desde compra
DependenciaIndependienteRequiere que Bridge de Compras este implementado

Preguntas resueltas

  1. Se necesita tipo de comprobante adicional al identificador global?

    • No. A diferencia de la trazabilidad con ventas (que requiere ID + tipo), el identificador global de compra es autosuficiente para identificar univocamente el comprobante.
  2. Que pasa con movimientos historicos?

    • Siguen funcionando correctamente. El sistema indica cuando la relacion no esta disponible.
  3. Como se identifica univocamente el comprobante de compra?

    • Mediante el identificador global de compra (UUID) que proviene del Bridge de Compras.
  4. Que tipos de comprobantes de compra generan esta relacion?

    • Facturas de proveedores y notas de credito de proveedores que afecten inventario.
  5. Esta funcionalidad afecta a la trazabilidad de ventas?

    • No. Ambas funcionalidades coexisten de forma independiente. Los movimientos de ventas tendran trazabilidad con comprobantes de venta, y los movimientos de compras tendran trazabilidad con comprobantes de compra.
  6. Se puede usar el identificador global para buscar movimientos desde cualquier sucursal?

    • Si. El identificador global es unico a nivel empresa, por lo que la busqueda funciona independientemente de la sucursal desde donde se ejecute.

Historial de cambios

FechaVersionAutorDescripcion
2025-12-241.0SistemaCreacion del documento de requerimientos de negocio