Detalle
| Manual de Usuario | Ajuste por Inflación - Contabilidad |
|---|---|
Introducción
El proceso de Ajuste por Inflación (AXI) reexpresa los saldos contables de un período para reflejar la pérdida de poder adquisitivo de la moneda. Tomando los índices cargados en el sistema, calcula el coeficiente de ajuste por cada período, lo aplica sobre los saldos de las cuentas marcadas para ajustar y genera automáticamente los asientos contables correspondientes, con su contrapartida en la cuenta de RECPAM (Resultado por Exposición al Cambio del Poder Adquisitivo de la Moneda).
Importante: el formulario del proceso se identifica internamente como FormContabilidad_AxiProceso y se titula "Ajustes por Inflación". La carga de índices se realiza desde el formulario de Índices AXI (FormContabilidad_IndicesAXI).
Acceso al módulo
Se accede desde Menú principal → Contabilidad → Ajuste por Inflación. La ventana se titula Ajustes por Inflación.
El acceso a esta opción requiere la asignación de permisos, que deben solicitarse al administrador del sistema.
Pantalla principal
El formulario del proceso es muy simple: pide solo el período a ajustar y si se desean generar asientos de reversión, y se confirma con el botón Aceptar.
Antes de ejecutar el proceso, el sistema debe contar con tres elementos configurados. Si falta alguno, el ajuste no genera asientos.
| Campo | Descripción |
|---|---|
| Índices cargados | Debe existir al menos un índice que cubra el período a ajustar (ver "Carga de índices"). Si no hay índice para el período, el proceso avisa "No se encontraron índices sobre el período seleccionado". |
| Cuentas marcadas | Solo se ajustan las cuentas del plan de cuentas que tengan definida tanto la cuenta de Ajuste por Inflación como la cuenta de RECPAM. Las demás cuentas se ignoran. |
| Asientos del período | Deben existir asientos contables no anulados dentro del rango de fechas. Si no hay saldos para ajustar, el proceso avisa "No se encontraron asientos que ajustar en el período seleccionado". |
Carga de índices (Índices AXI)
Los índices son la base del cálculo. Cada índice representa el valor del indicador de inflación vigente para un rango de fechas. El sistema obtiene el coeficiente de ajuste dividiendo el índice más reciente del período por el índice de cada mes ajustado.
Campos del alta/modificación de un índice:
| Campo | Descripción |
|---|---|
| Fecha Desde | Fecha de inicio de vigencia del índice. |
| Fecha Hasta | Fecha de fin de vigencia del índice. Debe ser mayor o igual a la Fecha Desde. |
| Índice | Valor numérico del índice (admite hasta 5 decimales). No puede ser cero. |
Acciones disponibles en el listado de índices:
| Acción | Descripción |
|---|---|
| Buscar | Muestra los índices cargados; permite filtrar por rango de fechas. |
| Nuevo | Da de alta un nuevo índice completando Fecha Desde, Fecha Hasta e Índice. |
| Modificar | Edita el índice seleccionado. |
| Eliminar | Borra el índice seleccionado, previa confirmación. |
Importante: el rango de fechas de los índices no debe superponerse para un mismo período, ya que cada asiento toma el índice cuya vigencia contiene su fecha. Cargar los índices de forma consistente y completa es lo que asegura un coeficiente de ajuste correcto.
Parámetros
El formulario del proceso pide solo el período a ajustar y si se desean generar asientos de reversión.
| Campo | Descripción |
|---|---|
| Fecha Desde | Primera fecha del rango de asientos a ajustar. |
| Fecha Hasta | Última fecha del rango. Los asientos generados se fechan con esta fecha. |
| Generar asientos de reversión | Casilla opcional. Si se tilda, además del asiento de ajuste se genera un asiento de reversión (con débitos y haberes invertidos) fechado el día siguiente a la Fecha Hasta. Se usa cuando el ajuste es temporal y debe revertirse al inicio del período siguiente. |
Importante: existe un parámetro de sistema (Contabilidad.Operaciones.AXI.TipoAsiento) que define cómo se agrupan los asientos. Con valor 0 se genera un asiento por cada período; con valor 1 se genera un único asiento agrupado por año. Lo ajusta el administrador según la política contable de la empresa.
Resultado del proceso
El proceso recorre los saldos de las cuentas marcadas, aplica el coeficiente (índice actual ÷ índice del período) y arma los asientos de ajuste.
| Campo | Descripción |
|---|---|
| Asiento de ajuste | Por cada período (o por año, según el parámetro) se genera un asiento con el concepto "Asiento de AXI Origen |
| Asiento de reversión | Solo si se tildó la casilla. Repite el asiento con débitos y haberes invertidos, con el concepto "Reverso de Asiento de AXI Origen…", fechado el día siguiente a la Fecha Hasta. |
| Mensaje de cantidad | Al terminar se informa "El ajuste por inflación se realizó exitosamente, se realizaron N asientos". Cada asiento de ajuste y cada asiento de reversión cuentan por separado. |
| Registro en el log | La ejecución queda registrada en el log de operaciones del sistema (tipo AXI) con el rango de fechas y el detalle del proceso. |
Importante: solo se generan asientos para los períodos cuyo coeficiente es distinto de 1 (es decir, donde efectivamente hubo variación de índice). Los asientos quedan disponibles para consultarse desde la gestión de Asientos y el Mayor como cualquier otro asiento contable.
Acciones disponibles
| Acción | Descripción |
|---|---|
| Aceptar | Dispara el proceso. Se muestra una pantalla de espera ("Generando asientos…") mientras el sistema calcula y registra los asientos. Al finalizar informa la cantidad de asientos generados (o el motivo por el que no se generó ninguno) y la ventana se cierra automáticamente. |
| Generar asientos de reversión | Casilla que, si se tilda, genera además del asiento de ajuste un asiento espejo con débitos y haberes invertidos, fechado el día siguiente al cierre del período. |
Importante: el botón Aceptar se deshabilita mientras el proceso corre para evitar una doble ejecución. Esperá a que termine y muestre el mensaje de resultado antes de volver a operar.
Ejemplo práctico
- Cargar/verificar los índices — Desde Índices AXI, asegurarse de que exista el índice que cubre todo el período a ajustar.
- Verificar las cuentas a ajustar — Confirmar que las cuentas del plan que se desean reexpresar tengan definidas su cuenta de Ajuste por Inflación y su cuenta de RECPAM.
- Abrir el proceso — Ir a Menú principal → Contabilidad → Ajuste por Inflación.
- Indicar el período — Completar Fecha Desde y Fecha Hasta con el rango a ajustar.
- Definir la reversión — Tildar "Generar asientos de reversión" solo si el ajuste debe revertirse en el período siguiente.
- Aceptar — Presionar el botón Aceptar. Se muestra una pantalla de espera ("Generando asientos…") mientras el sistema calcula y registra los asientos.
- Leer el resultado — Al finalizar, el sistema informa la cantidad de asientos generados o el motivo por el cual no se generó ninguno. La ventana se cierra automáticamente.
Consejos útiles
- Verificá que el índice cargado en Índices AXI cubra completo el período a ajustar antes de ejecutar el proceso; si falta, el ajuste no genera asientos.
- Revisá que las cuentas a reexpresar tengan definidas tanto la cuenta de Ajuste por Inflación como la de RECPAM: solo esas cuentas se ajustan.
- Cargá los índices con rangos de fechas que no se superpongan, para que cada asiento tome el coeficiente correcto.
- Usá "Generar asientos de reversión" únicamente cuando el ajuste sea temporal y deba quedar revertido al inicio del período siguiente.
- Esperá siempre el mensaje de resultado antes de volver a operar: el botón Aceptar se deshabilita durante el proceso para evitar una doble ejecución.
Preguntas frecuentes
¿Qué cuentas se ajustan?
Únicamente las cuentas del plan de cuentas que tengan definida tanto la cuenta de Ajuste por Inflación como la cuenta de RECPAM. Las cuentas que no tengan ambas configuradas no se incluyen en el cálculo.El proceso terminó pero dice que no encontró índices. ¿Qué reviso?
Significa que no hay ningún índice cuya vigencia cubra el período seleccionado. Cargá o corregí el índice desde Índices AXI de modo que su rango Fecha Desde – Fecha Hasta contenga las fechas que querés ajustar.Dice "No se encontraron asientos que ajustar". ¿Por qué?
No hay saldos a reexpresar en el período: o no existen asientos no anulados en ese rango de fechas, o las cuentas con movimientos no están marcadas para ajustar (les falta la cuenta de Ajuste por Inflación o la de RECPAM).¿Para qué sirve la casilla "Generar asientos de reversión"?
Genera, además del asiento de ajuste, un asiento espejo con débitos y haberes invertidos, fechado el día siguiente al cierre del período. Se utiliza cuando el ajuste es de carácter temporal y debe quedar revertido al comenzar el período siguiente.¿Se genera un asiento por mes o uno solo?
Depende del parámetro de sistema Contabilidad.Operaciones.AXI.TipoAsiento: con valor 0 se genera un asiento por cada período, y con valor 1 se genera un único asiento agrupado por año. Este parámetro lo configura el administrador.¿Cómo se calcula el monto del ajuste?
El sistema obtiene un coeficiente dividiendo el índice más reciente del período por el índice de cada mes a ajustar. Luego aplica ese coeficiente sobre el saldo de la cuenta y registra como ajuste la diferencia entre el saldo reexpresado y el saldo original.Permisos
El acceso a esta opción requiere la asignación de permisos sobre la opción Ajuste por Inflación del módulo de Contabilidad, que deben solicitarse al administrador del sistema. Dado que el proceso genera asientos contables definitivos, conviene restringir el acceso a usuarios responsables de la contabilidad.
Información técnica
Basada en el análisis del formulario real de la v14.
Formularios principales
| Form | Rol |
|---|---|
FormContabilidad_AxiProceso (C#, VPNET_WinForms\Contabilidad, namespace VPNET.Windows.Forms.Contabilidad) |
Proceso de ajuste. Pide Fecha Desde / Fecha Hasta y la casilla checkReversion; el botón Aceptar llama Contabilidad_IndicesAXI_Manager.AsientoAXI(...) y muestra el SplashScreen "Generando asientos...". |
FormContabilidad_IndicesAXI (C#, VPNET_WinForms\Contabilidad) |
Listado/ABM de índices (Buscar, Nuevo, Modificar, Eliminar) sobre Contabilidad_IndicesAXI_Manager. |
FormContabilidad_IndicesAXI_AddMod (C#, VPNET_WinForms\Contabilidad) |
Alta/modificación de un índice. |
Permisos reales
| Permiso | Acción |
|---|---|
Contabilidad.Operaciones.Ajuste_Por_Inflacion |
Único permiso. Habilita tanto la carga de Índices AXI (btnCont_IndiceAXI) como el proceso de ajuste (btnCont_AjusteInf) en frmNewMain.vb. No hay permisos separados por acción. |
Tablas de base de datos principales
| Tabla | Uso |
|---|---|
Contabilidad_IndicesAXI |
Índices cargados. Columnas: Id (identity), Fecha_Desde (date), Fecha_Hasta (date), Indice (decimal(18,5)). |
Cuentas |
Solo se ajustan las cuentas con Cuenta_Ajuste_Inflacion <> '' y Cuenta_RECPAM <> '' (filtro del SQL). |
Asientos / DetalleAsientos |
Origen de los saldos (A.Anulado = 0) y destino de los asientos generados (vía Asientos_Manager.AddRenglon). |
Parámetro Contabilidad.Operaciones.AXI.TipoAsiento |
0 = un asiento por período (mes); 1 = un asiento agrupado por año (GetQueryAgrupado). |
Relación con otros módulos / manuales
Esta funcionalidad forma parte de Contabilidad. No declara otro manual operativo como dependencia directa en su metadata actual.
Notas para soporte
- El registro en el log de operaciones (tipo AXI) NO se ejecuta. La llamada a
Plenario_Operaciones_Log_Manager.Save_Plenario_Operaciones_Log1Asyncestá dentro deif (Asientos_Cantidad < 0), condición que nunca se cumple (el contador nunca es negativo). En la práctica el proceso no deja registro en el log pese a lo que indica el cuerpo del manual. - Errores silenciados: todo
AsientoAXIestá envuelto en untry/catchque retorna0sin mensaje ante cualquier excepción. Si el proceso termina con "Ocurrio un error al realizar el ajuste" sin más detalle, revisar el log de errores de la app. - SQL armado por concatenación de strings (
IndiceActualy fechas se interpolan directamente en el query). No usa parámetros; cualquier diagnóstico de cálculo debe leerse sobre el texto generado enAsientoAXI/GetQueryAgrupado. - El comentario del usuario "se fechan con la Fecha Hasta" es correcto:
manager._EntityModel.Fecha = Fecha_Hasta.Date; la reversión usaFecha_Hasta.AddDays(1).