diff --git a/docs/dictionary/accounting-management/reconciliation/bank-statement-assignment-with-difference.md b/docs/dictionary/accounting-management/reconciliation/bank-statement-assignment-with-difference.md index 1dbd3b79..65183fe1 100644 --- a/docs/dictionary/accounting-management/reconciliation/bank-statement-assignment-with-difference.md +++ b/docs/dictionary/accounting-management/reconciliation/bank-statement-assignment-with-difference.md @@ -1,117 +1,129 @@ --- -title: Asignación de Estado de Cuenta con Diferencia +title: Conciliación Manual con Diferencia en Montos category: Documentation star: 9 sticky: 9 article: false --- -# Asignación de Estado de Cuenta con Diferencia +# Conciliación Manual con Diferencia en Montos ## Descripción -La funcionalidad de **Asignación de Estado de Cuenta con Diferencia** permite conciliar líneas de estado de cuenta bancario cuyo monto no coincide exactamente con el monto del pago registrado en el sistema. El sistema calcula y preserva automáticamente la diferencia entre el monto del estado de cuenta y el monto del pago, completando la conciliación de forma transparente y segura. +La **Conciliación Manual con Diferencia en Montos** permite vincular una línea del estado de cuenta bancario con un pago del sistema cuando los montos **no coinciden exactamente**. Durante la asignación manual, el sistema calcula la diferencia entre el monto reportado por el banco y el monto del pago registrado, la preserva como un ajuste y completa la conciliación sin alterar los datos originales del pago. -Esta funcionalidad asegura que la información original del registro se mantenga intacta, gestionando la diferencia de forma aislada para un control preciso. +Esta funcionalidad resuelve los casos habituales en que los movimientos bancarios traen montos ligeramente distintos a los del sistema (por comisiones bancarias, redondeos, diferencias de cambio menores, cobros parciales con ajuste). La diferencia queda registrada en la propia línea del estado de cuenta como cargo de ajuste, asegurando que el total conciliado cuadre con el banco y que el pago original se mantenga inalterado para trazabilidad. ## ¿Cuándo se utiliza? -Se utiliza cuando: +Se utiliza cuando la organización necesita: -- El monto del pago registrado en el sistema es **diferente** al monto que figura en la línea del estado de cuenta bancario. -- Se necesita asignar manualmente un pago a una línea del estado de cuenta durante el proceso de importación. -- Se requiere registrar la diferencia detectada en la conciliación sin afectar la información original del pago. +- Conciliar una línea del estado de cuenta bancario cuyo monto difiere del pago registrado en el sistema. +- Asignar manualmente un pago a una línea del extracto durante el proceso de importación del estado de cuenta. +- Registrar la diferencia como un ajuste aislado sin tocar el monto original del pago. +- Resolver casos de comisiones bancarias, redondeos o cobros parciales que no pueden conciliarse de forma automática. ## Acceso -Estado de Cuenta Bancario → ejecutar la simulación de coincidencia → asignar manualmente → Importar Estado de Cuenta +Existen dos formas de acceder: -## Campos Principales +1. **Desde la importación del estado de cuenta:** Gestión Contable → Conciliación → Estado de Cuenta Bancario → ejecutar la simulación de coincidencia → asignar manualmente → Importar. +2. **Desde la ventana Estado de Cuenta Bancario:** abrir el estado de cuenta existente y revisar las líneas para confirmar la conciliación con diferencia. -| Campo | Descripción | Tipo | Obligatorio | -|-------|-------------|------|-------------| -| Monto Diferencia (Cargo) | Diferencia calculada entre el monto de la transacción y el monto del pago conciliado. Representa el ajuste a realizar. | Monto | No | -| Monto de Transacción | Monto efectivo de la transacción en la línea, ajustado considerando la diferencia detectada. | Monto | No | -| Monto del Estado de Cuenta | Monto reportado por el banco. Es la referencia base para calcular la diferencia. | Monto | Sí | -| Monto de Cargo/Pago Original | Monto original del pago o cargo en el sistema. Se conserva sin modificaciones. | Monto | No | +## Pestañas -## Lógica de Sistema +### Línea del Estado de Cuenta -El sistema procesa automáticamente la conciliación con diferencia realizando los siguientes pasos internos: +Líneas del extracto bancario a conciliar. Los campos relevantes para la conciliación con diferencia son: -- **Al detectar una diferencia:** Calcula automáticamente la diferencia entre el monto efectivo y el monto del pago. -- **Al importar:** Registra la diferencia calculada como un cargo de ajuste y actualiza el monto de la transacción en la línea del estado de cuenta para que cuadre con el banco. +- **Monto del Estado de Cuenta** + Monto reportado por el banco para la línea. Es la referencia base contra la que se calcula la diferencia. -::: warning Importante -El sistema garantiza que la información original del registro importado no sufra alteraciones indeseadas. La diferencia se gestiona automáticamente para preservar los datos iniciales. -::: +- **Monto de Cargo / Pago Original** + Monto original del pago o cargo registrado en el sistema. No se modifica durante la conciliación. -## Flujo del Proceso +- **Monto Diferencia (Cargo)** + Diferencia calculada automáticamente entre el monto bancario y el monto del pago conciliado. Representa el ajuste necesario para que la línea cuadre con el banco. -### 1. Buscar el estado de cuenta bancario +- **Monto de Transacción** + Monto efectivo aplicado a la línea luego del ajuste por diferencia. -Localizar el estado de cuenta a conciliar por su número de documento en la ventana **Estado de Cuenta Bancario**. +- **Pago Asignado** + Referencia al pago del sistema vinculado a la línea. -### 2. Ejecutar la simulación de coincidencia +- **Conciliado** + Indica si la línea quedó conciliada tras el proceso. -Iniciar la simulación para identificar los pagos con coincidencia en las líneas del estado de cuenta. El sistema presenta los pagos candidatos con su monto y número de referencia. +## Acciones disponibles -### 3. Asignar manualmente el pago con diferencia +- **Ejecutar Simulación de Coincidencia** + Busca pagos candidatos en el sistema que coincidan con las líneas del estado de cuenta. Presenta monto, número de referencia y fecha para facilitar la selección manual. -Seleccionar el pago correspondiente a la línea, aunque los montos no sean iguales. Ingresar el monto de cargo a asignar manualmente. El sistema calculará la diferencia resultante. +- **Asignar Pago Manualmente** + Vincula un pago con una línea aun cuando los montos difieren. El usuario indica el monto a asignar y el sistema calcula la diferencia. -### 4. Importar el estado de cuenta +- **Importar Estado de Cuenta** + Ejecuta el proceso de conciliación final. Aplica la vinculación, registra el ajuste por diferencia y completa la línea. -Ejecutar el proceso de **Importar Estado de Cuenta** (Siguiente → OK). El sistema completará la conciliación: +- **Revisar Línea Conciliada** + Abrir la línea del estado de cuenta para verificar el monto bancario, el monto del pago, la diferencia calculada y el estado de conciliación. -- Realiza la vinculación entre los registros del banco y los pagos del sistema. -- Aplica el ajuste por la diferencia calculada. -- Protege los datos originales del pago sin modificarlos. +## Flujo del proceso -::: tip Tiempo de procesamiento -El proceso puede tardar varios segundos porque aplica el proceso de conciliación sobre **todos** los registros pendientes en la importación y realiza la vinculación contra los pagos disponibles. -::: +### 1. Buscar el estado de cuenta bancario -### 5. Revisar el estado de cuenta generado +Localizar el estado de cuenta a conciliar por su número de documento o por la cuenta bancaria correspondiente en la ventana **Estado de Cuenta Bancario**. -Abrir el estado de cuenta bancario resultante y localizar la línea conciliada. Verificar los siguientes campos: +### 2. Ejecutar la simulación de coincidencia -- **Monto del pago** -- **Monto del estado de cuenta** -- **Monto de la diferencia (Cargo)** -- **Diferencia final** +Lanzar la simulación para que el sistema identifique los pagos candidatos para cada línea del extracto. Cada candidato se muestra con su monto, referencia y fecha. -### 6. Confirmar la diferencia +### 3. Asignar manualmente el pago con diferencia -Validar que la diferencia calculada refleja correctamente la discrepancia entre el monto bancario y el pago registrado en el sistema. +Seleccionar el pago correspondiente a la línea aun cuando los montos no sean iguales. Ingresar el monto a asignar. El sistema calcula automáticamente la diferencia y la muestra en el campo *Monto Diferencia (Cargo)*. -## Ejemplo de Uso +### 4. Importar el estado de cuenta -Escenario: un pago registrado en el sistema por **11.963** debe conciliarse con una línea del estado de cuenta bancario por **18.000**. +Ejecutar **Importar Estado de Cuenta** (Siguiente → OK). El proceso: -1. Abrir el **Estado de Cuenta Bancario** y buscar el estado de cuenta. -2. Ejecutar la simulación; el sistema identifica el pago con referencia **76255** y monto **−18.000**. -3. Asignar manualmente el cargo de **11.000** al pago identificado. -4. Al revisar la importación, el sistema muestra el pago de **7.593** asignado como monto de transacción parcial. -5. Ejecutar **Importar Estado de Cuenta** → **Siguiente** → **OK**. -6. Abrir el estado de cuenta generado y localizar la línea con la referencia de importación. +- Vincula los registros del banco con los pagos del sistema. +- Registra la diferencia calculada como cargo de ajuste en la línea. +- Actualiza el monto de transacción para que cuadre con el banco. +- Conserva el monto original del pago sin modificaciones. -| Campo | Valor | -|-------|------:| -| Monto del Pago | 11.963 | -| Monto del Estado de Cuenta | 18.000 | -| Monto de la Diferencia | 6.307 | +### 5. Revisar la línea conciliada -7. La diferencia de **6.307** queda registrada en la línea del estado de cuenta, completando la conciliación. +Abrir el estado de cuenta resultante y localizar la línea. Verificar *Monto del Pago*, *Monto del Estado de Cuenta*, *Monto de la Diferencia* y el estado *Conciliado*. -## Consideraciones Importantes +### 6. Confirmar la diferencia -- No modifique los montos de cargo manualmente en el registro de importación durante el proceso de vinculación. El sistema gestiona las diferencias de forma automática al importar. -- Esta funcionalidad aplica tanto a estados de cuenta importados por primera vez como a registros que se actualicen posteriormente. -- El proceso de conciliación evalúa todos los registros pendientes, por lo que el tiempo de procesamiento puede variar según el volumen de transacciones a importar. -- El sistema mantiene siempre el monto original del registro intacto para asegurar la trazabilidad y auditoría de las operaciones. +Validar que la diferencia registrada refleja correctamente la discrepancia entre el monto bancario y el pago del sistema. La línea queda conciliada con ajuste. -## Ventanas Relacionadas +## Ejemplo de uso + +Un pago registrado en el sistema por **11.963** debe conciliarse con una línea del estado de cuenta bancario por **18.000**: + +1. Abrir **Estado de Cuenta Bancario** y buscar el extracto correspondiente. +2. Ejecutar la **simulación de coincidencia**; el sistema identifica el pago con referencia **76255** y monto **18.000** en el banco. +3. Asignar manualmente el cargo al pago identificado indicando el monto a aplicar. +4. El sistema muestra el monto de transacción parcial y la diferencia calculada automáticamente. +5. Ejecutar **Importar Estado de Cuenta** → **Siguiente** → **OK**. +6. Abrir el estado de cuenta generado y localizar la línea: + - **Monto del Pago**: 11.963 + - **Monto del Estado de Cuenta**: 18.000 + - **Monto de la Diferencia**: 6.307 +7. La diferencia de **6.307** queda registrada en la línea como cargo de ajuste; la conciliación se completa sin alterar el pago original. + +## Consideraciones importantes + +- No modificar manualmente los montos de cargo en el registro de importación durante la vinculación. El sistema gestiona la diferencia automáticamente al importar; una edición manual puede corromper la conciliación. +- El **monto original del pago** se mantiene siempre intacto para preservar trazabilidad y auditoría; la diferencia queda aislada en la línea del estado de cuenta. +- El proceso aplica la conciliación sobre **todos los registros pendientes** del extracto en importación, no solo sobre la línea seleccionada. Por eso puede tardar varios segundos según el volumen. +- La funcionalidad aplica tanto a estados de cuenta importados por primera vez como a registros actualizados posteriormente con nuevas coincidencias. +- Si el pago candidato correcto no aparece en la simulación (por diferencia grande de monto o referencia distinta), verificar que el pago existe y está en estado *Completo* en el sistema antes de intentar la asignación manual. +- La diferencia registrada se refleja en los reportes de conciliación y puede revisarse posteriormente desde la línea del estado de cuenta. No genera un asiento contable adicional por sí misma: el ajuste contable depende de la configuración de la cuenta bancaria y del pago. + +## Ventanas relacionadas - [Conciliación Automática de Cuentas](automatic-account-reconciliation) - [Conciliación de Hechos Contables (Manual)](accounting-fact-reconciliation-manual) diff --git a/docs/dictionary/material-management/product-reservations.md b/docs/dictionary/material-management/product-reservations.md index 378ed030..d88a0eb3 100644 --- a/docs/dictionary/material-management/product-reservations.md +++ b/docs/dictionary/material-management/product-reservations.md @@ -8,40 +8,118 @@ article: false # Reservas de Productos -## Descripcion +## Descripción -Muestra los movimientos de reservas de un producto. +La ventana **Reservas de Productos** centraliza los movimientos de reserva generados por los documentos que afectan disponibilidad de inventario: órdenes de venta, órdenes de compra, entregas, recepciones, órdenes de distribución, lotes de producción y movimientos de inventario. Cada línea de un documento genera uno o más registros en esta tabla indicando qué producto, ubicación, cantidad y tipo de reserva (ordenada, reservada, entregada) queda asociada al movimiento. + +Este modelo reemplaza la lógica anterior que actualizaba el inventario actual directamente desde cada documento. Con las reservas, los documentos registran eventos que luego son procesados por una cola en segundo plano para actualizar el inventario consolidado, evitando bloqueos y discrepancias en escenarios con alta concurrencia. + +## ¿Cuándo se utiliza? + +Se utiliza cuando la organización necesita: + +- Consultar el detalle de las reservas activas de un producto por almacén, ubicación y documento origen. +- Verificar qué órdenes de venta están reservando mercadería y qué entregas las están liberando. +- Diagnosticar diferencias entre el inventario actual y el histórico de transacciones o reservas. +- Validar que la cola de procesamiento de reservas esté aplicando correctamente los eventos. +- Auditar el origen de cada movimiento de reserva (documento, línea, tipo de reserva). ## Acceso -Menu: Gestion de Materiales → Reservas de Productos +Menú: **Gestión de Materiales → Reservas de Productos** -## Pestanas +## Pestañas ### Reserva -Reserva de Producto. Muestra las reservas asociadas a los movimientos de inventario. - -#### Campos principales - -| Campo | Descripcion | Tipo | Obligatorio | -|---|---|---|---| -| Producto | Producto, servicio o articulo | Busqueda directa | Si | -| Tipo de Reserva | Tipo de reserva del producto | Lista | No | -| Almacen | Almacen de almacenamiento y punto de servicio | Busqueda directa | No | -| Ubicacion | Ubicacion dentro del almacen | Busqueda directa | No | -| Instancia de Conjunto de Atributos | Instancia del conjunto de atributos del producto | Busqueda directa | No | -| Cantidad | Cantidad reservada del producto | Cantidad | No | -| Fecha de la Transaccion | Fecha de la transaccion | Fecha | No | -| Orden | Orden de venta asociada | Busqueda directa | No | -| Linea de Orden de Venta | Linea de la orden de venta | Busqueda directa | No | -| Entrega/Recepcion | Documento de entrega o recepcion de material | Busqueda directa | No | -| Linea de Entrega/Recepcion | Linea del documento de entrega/recepcion | Busqueda directa | No | -| Orden de Distribucion | Orden de distribucion asociada | Busqueda directa | No | -| Linea de Orden de Distribucion | Linea de la orden de distribucion | Busqueda directa | No | -| Movimiento de Inventario | Movimiento de inventario asociado | Busqueda directa | No | -| Linea de Movimiento | Linea del movimiento de inventario | Busqueda directa | No | -| Lote de Produccion | Lote de produccion asociado | Busqueda directa | No | -| Linea de Lote de Produccion | Linea del lote de produccion | Busqueda directa | No | -| Produccion | Plan de produccion asociado | Busqueda directa | No | -| Linea de Produccion | Linea de la produccion | Busqueda directa | No | +Pestaña principal con los movimientos de reserva registrados en el sistema. La información se organiza en: + +- **Producto y Atributos** + Producto, servicio o artículo afectado por la reserva, junto con la instancia del conjunto de atributos cuando aplica. + +- **Almacén y Ubicación** + Almacén y posición dentro del almacén donde se encuentra el stock reservado. + +- **Cantidad** + Cantidad del producto afectada por la reserva. Puede ser positiva (se reserva u ordena) o negativa (se libera por entrega o recepción completada). + +- **Tipo de Reserva** + Clasificación del movimiento: *Reservado* (orden de venta), *Ordenado* (orden de compra), *En Tránsito*, *En Producción*, entre otros. + +- **Fecha de la Transacción** + Fecha del evento que originó la reserva. + +- **Documento Origen** + Referencia al documento que generó la reserva. Según el tipo, se completa uno de los siguientes bloques: + - *Orden de Venta* y *Línea de Orden de Venta*. + - *Entrega/Recepción* y *Línea de Entrega/Recepción*. + - *Orden de Distribución* y *Línea de Orden de Distribución*. + - *Movimiento de Inventario* y *Línea de Movimiento*. + - *Lote de Producción* y *Línea de Lote*. + - *Producción* y *Línea de Producción*. + +## Acciones disponibles + +- **Consultar Reservas por Producto** + Filtrar la ventana por producto y almacén para ver todas las reservas activas. + +- **Acercar al Documento Origen** + Desde una línea de reserva, navegar al documento que la generó (orden de venta, entrega, etc.) para verificar su estado. + +- **Procesar Cola de Reservas** + Forzar el procesamiento de los eventos pendientes en la cola para que se vean reflejados inmediatamente en el inventario. Disponible también de manera automática cada cierto intervalo (por defecto, cinco minutos). + +- **Actualizar Almacenamiento** + Proceso complementario que recalcula el inventario consolidado a la fecha tomando el último *snapshot* disponible y aplicando los movimientos posteriores. + +## Flujo del proceso + +### 1. Generar un documento que afecta inventario + +Al completar una orden de venta, el sistema crea registros en **Reservas de Productos** con tipo *Reservado* (uno por cada producto y línea del documento). Lo mismo ocurre con órdenes de compra (*Ordenado*), entregas, recepciones, movimientos y producciones. + +### 2. Registrar el evento en la cola + +En paralelo, el documento genera una entrada en la cola de procesamiento para indicarle al sistema que hay reservas pendientes por consolidar en el inventario actual. + +### 3. Procesar la cola + +La cola se ejecuta automáticamente en segundo plano (por defecto cada cinco minutos). Cada ciclo toma los eventos pendientes, los suma o resta contra el último *snapshot* de almacenamiento y actualiza el inventario consolidado del producto. + +### 4. Liberar la reserva al entregar o recibir + +Cuando se genera la entrega (o la recepción en el caso de compras), el sistema crea nuevos registros de reserva que liberan la cantidad reservada inicialmente. La suma neta de todos los eventos para el par *producto + ubicación* refleja el estado actual. + +### 5. Consultar el resultado + +Desde **Reservas de Productos**, filtrar por producto y almacén para ver el detalle. Desde la ventana de inventario actual (almacenamiento) se consulta el consolidado. Ambas vistas deben coincidir una vez procesada la cola. + +### 6. Forzar la actualización si es necesario + +Si se requiere ver reflejado un cambio sin esperar el próximo ciclo, ejecutar el proceso **Actualizar Almacenamiento** para reconciliar inmediatamente el inventario consolidado. + +## Ejemplo de uso + +Una organización crea dos órdenes de venta simultáneas con el mismo producto: + +1. La primera orden de venta crea un registro en **Reservas de Productos** con tipo *Reservado*, cantidad 5, para el producto en el almacén principal. +2. La segunda orden de venta crea otro registro con tipo *Reservado*, cantidad 3, para el mismo producto y almacén. +3. Cada orden, al completarse, registra un evento en la cola. +4. Al próximo ciclo (cinco minutos), la cola procesa ambos eventos y actualiza el inventario consolidado reflejando 8 unidades reservadas en total. +5. Se genera la entrega de la primera orden: aparece un nuevo registro en **Reservas de Productos** liberando las 5 unidades reservadas y el inventario consolidado se actualiza automáticamente. +6. En todo momento, la ventana **Reservas de Productos** conserva el histórico completo de eventos para auditoría y rastreo. + +## Consideraciones importantes + +- Cada **línea de un documento** puede generar uno o más registros en la tabla de reservas según la cantidad de productos involucrados; nunca se sobrescribe un registro anterior. +- Los registros pueden tener cantidades **negativas**: cuando se entrega lo previamente reservado, el evento resta la cantidad hasta cerrar el ciclo del documento. +- El inventario consolidado (*almacenamiento*) se actualiza únicamente mediante el procesamiento de la cola o ejecutando el proceso **Actualizar Almacenamiento**. Consultar directamente la tabla de reservas permite ver el detalle antes de la consolidación. +- El procesamiento por cola evita los **bloqueos de fila** que ocurrían al actualizar el inventario en tiempo real desde múltiples documentos simultáneos. Garantiza que concurrentemente no se pisen las cantidades. +- El sistema usa un **snapshot periódico** del almacenamiento como punto de partida para el cálculo incremental; esto evita recorrer todas las transacciones desde el origen de los tiempos cada vez que se consulta el inventario. +- Si el inventario consolidado no coincide con el resultado esperado de **Reservas de Productos**, lo más probable es que la cola tenga eventos pendientes. Ejecutar **Actualizar Almacenamiento** reconcilia la vista. +- Las **órdenes de distribución** y los **movimientos de inventario** entre almacenes también generan reservas en origen y destino para reflejar el estado intermedio (por ejemplo, *En Tránsito*). + +## Ventanas relacionadas + +- [Instantánea de Almacenamiento](storage-snapshot) +- [Actualizar Almacenamiento](update-storage) diff --git a/docs/dictionary/material-management/storage-snapshot.md b/docs/dictionary/material-management/storage-snapshot.md index 4009e4d6..ba9959eb 100644 --- a/docs/dictionary/material-management/storage-snapshot.md +++ b/docs/dictionary/material-management/storage-snapshot.md @@ -1,49 +1,124 @@ --- -title: Instantanea de Almacenamiento +title: Instantánea de Almacenamiento category: Documentation star: 9 sticky: 9 article: false --- -# Instantanea de Almacenamiento +# Instantánea de Almacenamiento -## Descripcion +## Descripción -Instantanea de Almacenamiento. Permite visualizar las instantaneas del estado del almacenamiento en un momento determinado. +La ventana **Instantánea de Almacenamiento** guarda fotos periódicas del estado del inventario consolidado por producto, ubicación e instancia de atributos. Cada instantánea captura la cantidad disponible, ordenada y reservada en un momento concreto, junto con la fecha del último inventario físico. + +El *snapshot* funciona como **punto de partida** para el cálculo incremental del inventario actual: en lugar de recorrer todas las transacciones desde el origen de los tiempos cada vez que se consulta un producto, el sistema toma el último snapshot disponible y le aplica los movimientos y reservas posteriores. Esto mantiene el rendimiento aceptable a medida que el histórico de transacciones crece. + +## ¿Cuándo se utiliza? + +Se utiliza cuando la organización necesita: + +- Generar un punto de referencia periódico del inventario para acelerar consultas futuras. +- Auditar el estado del inventario en una fecha concreta sin reconstruirlo desde transacciones. +- Investigar diferencias entre el inventario actual y el histórico de movimientos. +- Registrar el paso del tiempo en operaciones de alta transaccionalidad donde la tabla de transacciones crece rápido. ## Acceso -Menu: Gestion de Materiales → Instantanea de Almacenamiento +Menú: **Gestión de Materiales → Instantánea de Almacenamiento** + +La generación del snapshot puede dispararse de forma manual desde esta ventana o programarse como tarea recurrente (por ejemplo, diaria o semanal). + +## Pestañas + +### Ejecución de Instantánea + +Pestaña principal que registra cada corrida del proceso de snapshot. La información se organiza en: + +- **Número del Documento** + Número de secuencia interno que identifica la ejecución. + +- **Fecha de Última Ejecución** + Fecha y hora en que se ejecutó el proceso de instantánea; define hasta qué momento el snapshot es exacto y desde cuándo el sistema debe aplicar el cálculo incremental. + +- **Productos Procesados** + Cantidad de productos incluidos en esta ejecución. + +- **Transacciones Procesadas** + Cantidad de transacciones consideradas al calcular el snapshot. + +### Instantánea + +Detalle del snapshot por producto y ubicación. La información incluye: + +- **Producto** + Producto, servicio o artículo al que corresponde el registro. + +- **Instancia de Conjunto de Atributos** + Atributos específicos del producto (lote, serie, talla, color) cuando aplica. + +- **Ubicación** + Posición dentro del almacén. + +- **Cantidad Disponible** + Cantidad efectivamente disponible en inventario al momento del snapshot. + +- **Cantidad Ordenada** + Cantidad ordenada pendiente de recibir. + +- **Cantidad Reservada** + Cantidad reservada por órdenes de venta u otros documentos. + +- **Fecha Último Inventario** + Fecha del último inventario físico tomado sobre el producto y ubicación. + +## Acciones disponibles + +- **Ejecutar Instantánea** + Genera un nuevo snapshot del inventario consolidado. Se recomienda programarlo fuera de horario operativo (por ejemplo, diariamente en la noche) para no afectar el rendimiento durante el día. + +- **Consultar Detalle por Producto** + Desde la pestaña *Instantánea*, filtrar por producto y ubicación para ver su estado en la fecha del snapshot. + +- **Comparar con Inventario Actual** + Navegar desde el snapshot al almacenamiento consolidado vigente para detectar diferencias con los eventos posteriores al snapshot. + +## Flujo del proceso + +### 1. Programar el snapshot + +Configurar el proceso para que se ejecute automáticamente a la frecuencia deseada (diaria, semanal) mediante un programador de tareas del sistema. Alternativamente, ejecutarlo manualmente desde la ventana. + +### 2. Ejecutar la instantánea + +El proceso recorre el inventario consolidado y registra la cantidad disponible, ordenada y reservada de cada par *producto + ubicación + atributos* al momento de la ejecución. Cada corrida queda registrada en la pestaña *Ejecución de Instantánea*. + +### 3. Uso del snapshot por otras funcionalidades + +Cuando la cola de procesamiento de reservas o el proceso **Actualizar Almacenamiento** calculan el inventario actual, toman como punto de partida el snapshot más reciente y le aplican los movimientos y reservas posteriores a esa fecha. -## Pestanas +### 4. Consulta del histórico -### Ejecucion de Instantanea +Desde la pestaña *Instantánea*, revisar el estado del producto en una fecha específica. Útil para auditorías, cierres contables o investigaciones de diferencias. -Ejecucion de la instantanea de almacenamiento. Registra cada corrida del proceso de instantanea. +## Ejemplo de uso -#### Campos principales +Una organización con alta rotación de inventario necesita mantener consultas rápidas: -| Campo | Descripcion | Tipo | Obligatorio | -|---|---|---|---| -| No. del Documento | Numero de secuencia del documento | Texto | Si | -| Fecha de Ultima Ejecucion | Fecha en que se ejecuto el proceso por ultima vez | Fecha y hora | No | -| Productos Procesados | Cantidad de productos procesados | Numerico entero | No | -| Transacciones Procesadas | Cantidad de transacciones procesadas | Numerico entero | No | +1. Programar el proceso **Instantánea de Almacenamiento** para ejecutarse todas las noches a medianoche. +2. A la mañana siguiente, abrir la ventana y verificar en la pestaña *Ejecución* que la última corrida se realizó en la fecha esperada, con la cantidad de productos y transacciones procesadas. +3. Ante una consulta de inventario durante el día, el sistema toma el snapshot de la noche anterior y aplica solo los movimientos del día para calcular el inventario vigente, acelerando la respuesta. +4. Si se detecta una diferencia, abrir el snapshot y comparar el producto en una fecha pasada con las transacciones registradas desde ese momento. -### Instantanea +## Consideraciones importantes -Detalle de la instantanea de almacenamiento por producto y ubicacion. +- La **frecuencia** del snapshot depende del volumen transaccional. Organizaciones con alta rotación benefician de snapshots diarios; operaciones más pequeñas pueden usar frecuencia semanal. +- Un snapshot muy **desactualizado** hace que el cálculo incremental requiera procesar más transacciones, perdiendo el beneficio de rendimiento. Ejecutar con la frecuencia adecuada. +- El snapshot no se debe **editar manualmente**: refleja el estado calculado en un momento y cualquier modificación rompería el cálculo incremental posterior. +- La ejecución del proceso consume recursos proporcionales al tamaño del inventario. Programarlo fuera del horario pico operativo. +- Si los resultados del inventario actual no coinciden con lo esperado, verificar: (1) que exista un snapshot reciente, (2) que la cola de procesamiento haya procesado los eventos posteriores, y (3) que no haya transacciones huérfanas sin evento en la cola. -#### Campos principales +## Ventanas relacionadas -| Campo | Descripcion | Tipo | Obligatorio | -|---|---|---|---| -| Fecha de la Transaccion | Fecha de la transaccion | Fecha | No | -| Producto | Producto, servicio o articulo | Busqueda directa | No | -| Instancia de Conjunto de Atributos | Instancia del conjunto de atributos del producto | Busqueda directa | No | -| Ubicacion | Ubicacion dentro del almacen | Busqueda directa | No | -| Cantidad Disponible | Cantidad disponible en inventario | Cantidad | No | -| Cantidad Ordenada | Cantidad ordenada del producto | Cantidad | No | -| Cantidad Reservada | Cantidad reservada del producto | Cantidad | No | -| Fecha Ultimo Inventario | Fecha del ultimo conteo de inventario | Fecha | No | +- [Reservas de Productos](product-reservations) +- [Actualizar Almacenamiento](update-storage) diff --git a/docs/dictionary/material-management/update-storage.md b/docs/dictionary/material-management/update-storage.md index edf92a78..551760fa 100644 --- a/docs/dictionary/material-management/update-storage.md +++ b/docs/dictionary/material-management/update-storage.md @@ -8,20 +8,92 @@ article: false # Actualizar Almacenamiento -## Descripcion +## Descripción -Actualiza el almacenamiento y toma una instantanea. Todos los registros actuales de almacenamiento seran actualizados. +El proceso **Actualizar Almacenamiento** recalcula el inventario consolidado de uno o varios productos tomando como punto de partida el último *snapshot* disponible y aplicando todos los movimientos y reservas posteriores. Opcionalmente, puede generar un nuevo snapshot con el resultado. + +A diferencia del procesamiento por cola (que aplica de manera incremental los eventos pendientes y se ejecuta automáticamente cada ciclo), este proceso permite **forzar la actualización** de forma explícita sobre todo el inventario o sobre un subconjunto acotado (una organización, un almacén, una categoría o un producto específico). Se usa cuando se necesita ver el resultado sin esperar al próximo ciclo, o cuando se detecta una discrepancia entre la tabla de reservas y el inventario consolidado. + +## ¿Cuándo se utiliza? + +Se utiliza cuando la organización necesita: + +- Ver el inventario actualizado inmediatamente sin esperar al procesamiento automático de la cola. +- Reconciliar el inventario consolidado después de una corrección masiva de documentos. +- Generar un snapshot puntual fuera del horario programado. +- Corregir desfases detectados entre la tabla de reservas, las transacciones de inventario y el inventario consolidado. +- Validar el comportamiento del inventario tras cambios en la configuración o después de migraciones. ## Acceso -Menu: Gestion de Materiales → Actualizar Almacenamiento +Menú: **Gestión de Materiales → Actualizar Almacenamiento** + +## Parámetros + +| Parámetro | Descripción | Tipo | Obligatorio | Valor por defecto | +|-----------|-------------|------|-------------|-------------------| +| Crear Instantánea | Indica si se debe generar un nuevo snapshot con el resultado del cálculo | Sí/No | No | No | +| Organización | Entidad organizacional dentro del cliente sobre la que se aplica el proceso | Búsqueda directa | No | | +| Almacén | Almacén específico a actualizar; si se omite, aplica a todos los almacenes de la organización | Búsqueda directa | No | | +| Producto | Producto específico a actualizar | Búsqueda | No | | +| Categoría de Producto | Categoría de productos a actualizar en lote | Búsqueda directa | No | | + +## Acciones disponibles + +- **Ejecutar** + Lanza el recálculo del inventario consolidado según los filtros indicados. + +- **Ver Histórico del Proceso** + Consultar ejecuciones anteriores con fecha, filtros aplicados y resultado. + +## Flujo del proceso + +### 1. Identificar el alcance + +Determinar si la actualización debe aplicar a todo el inventario, a una organización concreta, a un almacén, a una categoría de productos o a un producto específico. Cuanto más acotado sea el alcance, más rápida la ejecución. + +### 2. Ejecutar el proceso + +Abrir **Actualizar Almacenamiento**, completar los filtros correspondientes y decidir si se genera o no una nueva instantánea con el resultado. Ejecutar. + +### 3. Cálculo del inventario + +El proceso toma el último snapshot disponible como base y aplica: + +- Los movimientos registrados en la tabla de transacciones de inventario posteriores al snapshot. +- Los eventos de reserva registrados en la tabla de reservas posteriores al snapshot. + +Con la suma neta, actualiza el inventario consolidado (*almacenamiento*) para cada par *producto + ubicación + atributos* incluido en el alcance. + +### 4. Revisar el resultado + +Abrir la ventana de almacenamiento consolidado (o consultar desde la ficha del producto) para verificar que la cantidad disponible, ordenada y reservada refleja lo esperado. Si se pidió generar instantánea, revisar la nueva corrida en la ventana **Instantánea de Almacenamiento**. + +### 5. Investigar desfases (si aplica) + +Si el resultado no coincide con lo esperado, revisar: (1) que no haya eventos pendientes en la cola de procesamiento, (2) que no existan documentos con errores que impidan registrar reservas, y (3) que el snapshot base sea reciente. + +## Ejemplo de uso + +Después de una corrección masiva de órdenes de venta, se necesita validar que el inventario refleja la situación actual: + +1. Abrir **Actualizar Almacenamiento**. +2. Seleccionar la organización y el almacén donde se hicieron las correcciones; dejar sin valor *Producto* y *Categoría de Producto* para abarcar todo el inventario del almacén. +3. Marcar **Crear Instantánea = Sí** para dejar una foto del estado posterior a la corrección. +4. Ejecutar. Tras unos minutos, el proceso termina. +5. Abrir la ventana de almacenamiento y filtrar por el almacén; verificar que las cantidades disponibles y reservadas reflejan el resultado esperado. +6. Revisar la pestaña *Ejecución de Instantánea* para confirmar que se generó la nueva corrida con la fecha y hora correspondientes. + +## Consideraciones importantes + +- Ejecutar el proceso sin filtros **recalcula todo el inventario** y puede consumir recursos significativos. Usar filtros siempre que sea posible. +- La opción **Crear Instantánea = Sí** es útil después de correcciones importantes para dejar un punto de referencia limpio; no es necesaria en uso diario porque el snapshot programado lo hace periódicamente. +- El proceso **no reemplaza** al procesamiento automático por cola: los documentos completados siguen dejando eventos que la cola procesa. Este proceso es complementario para casos puntuales. +- Si el inventario consolidado muestra diferencias después de ejecutar, la causa más frecuente es un evento de reserva sin consolidar (cola con demora). Revisar la cola antes de repetir el proceso. +- En entornos con alto volumen, la ejecución sin filtros puede tardar varios minutos. Programarla fuera del horario pico si se necesita sobre todo el inventario. +- El proceso respeta la segregación por organización: si se indica una organización concreta, solo se actualizan productos y ubicaciones de esa organización. -## Parametros +## Ventanas relacionadas -| Parametro | Descripcion | Tipo | Obligatorio | Valor por defecto | -|---|---|---|---|---| -| Crear Instantanea | Indica si se debe crear una instantanea del almacenamiento | Si/No | No | No | -| Organizacion | Entidad organizacional dentro del cliente | Busqueda directa | No | | -| Almacen | Almacen de almacenamiento y punto de servicio | Busqueda directa | No | | -| Producto | Producto, servicio o articulo | Busqueda | No | | -| Categoria de Producto | Categoria a la que pertenece el producto | Busqueda directa | No | | +- [Reservas de Productos](product-reservations) +- [Instantánea de Almacenamiento](storage-snapshot) diff --git a/docs/dictionary/purchase-management/import-management/import-expedient.md b/docs/dictionary/purchase-management/import-management/import-expedient.md index e175f8ff..6538278e 100644 --- a/docs/dictionary/purchase-management/import-management/import-expedient.md +++ b/docs/dictionary/purchase-management/import-management/import-expedient.md @@ -177,5 +177,5 @@ Una organización importa un lote de producto desde el exterior con pago anticip ## Ventanas relacionadas - [Orden de Compra](../purchase-orders/purchase-order) -- [Recepción de Material (Proveedor)](../reception/material-receipt-vendor) +- [Recepción de Productos](../reception/material-receipt) - [Factura (Proveedor)](../payable-documents/invoice-vendor)