Skip to main content

Reconciliation - ImportBalance y Validación de Balance Conciliado

Descripción

Este documento describe la lógica utilizada en el proceso de conciliación bancaria para:

  • El cálculo del saldo importado (ImportBalance).
  • La validación del mensaje "¡El saldo conciliado no cuadra!".

La implementación está basada en los procedimientos almacenados:

  • aasi_report_reconciliation
  • aasi_reconciliation_balance_not_closed

Cálculo del Saldo Importado (ImportBalance)

Descripción

El Saldo Importado (ImportBalance) representa la suma acumulativa de todos los movimientos importados desde el extracto bancario (o fuente externa), desde la fecha inicial de configuración de conciliación hasta el período actual.

image.png

Reglas

Alcance temporal

El cálculo considera todos los movimientos comprendidos:

  • Desde la fecha StartDate de la configuración de conciliación.
  • Hasta el período actual inclusive.

image.png


Exclusión de asientos de ajuste

El cálculo del saldo importado excluye explícitamente los registros de ajuste.

Solo se consideran registros donde:

IsAdjustingEntry = 0

Esto significa que los asientos contables de ajuste no forman parte del cálculo inicial del saldo importado.


Inclusión de movimientos conciliados y no conciliados

El cálculo incluye todos los movimientos importados:

  • Conciliados.
  • No conciliados.

El estado de conciliación no afecta el cálculo del ImportBalance.


Campo utilizado para el cálculo

El monto considerado corresponde al campo:

ri.Value

Este campo representa el valor monetario del movimiento importado.


Mensaje "¡El saldo conciliado no cuadra!"

Descripción

El mensaje:

¡El saldo conciliado no cuadra!

se muestra en la interfaz cuando el procedimiento almacenado:

aasi_reconciliation_balance_not_closed

retorna el valor:

1

Si retorna:

0

el mensaje no es mostrado.


Flujo general del cálculo

El procedimiento realiza los siguientes pasos:

  1. Obtiene los movimientos contables y movimientos importados.
  2. Calcula débitos y créditos.
  3. Normaliza excedentes contables.
  4. Compara el balance final.
  5. Determina si existe diferencia.

Reglas

Alcance temporal

La validación considera movimientos comprendidos:

  • Desde StartDate.
  • Hasta el período actual inclusive.

image.png


Exclusión de ajustes del saldo importado inicial

El saldo importado inicial (BalanceAtReconciliation) excluye movimientos de ajuste.

La condición aplicada es:

IsAdjustingEntry = 0

image.png


Inclusión de ajustes en la validación final

En la validación final sí se consideran registros de ajuste.

En esta sección no existe filtro por:

IsAdjustingEntry

Por lo tanto, se incluyen:

  • Movimientos normales.
  • Asientos de ajuste.

image.png


Comportamiento del parámetro @reconciledOnly

El contenido de las tablas:

  • #ReconciliationImportReconciled
  • #JournalItemReconciled

depende del parámetro:

@reconciledOnly

Cuando @reconciledOnly = 0

Se obtienen movimientos:

  • NO conciliados.
  • Pendientes de conciliación.

La condición aplicada es:

NOT IN

Cuando @reconciledOnly = 1

Se obtienen movimientos:

  • Ya conciliados.

La condición aplicada es:

IN

image.png


Componentes considerados en #Reconciliation

La tabla temporal #Reconciliation integra información proveniente de:

  • #BalanceAt

    • BalanceAtGeneralLedger
    • BalanceAtReconciliation
  • #JournalItemReconciled

  • #ReconciliationImportReconciled

image.png


Cálculo de excedentes

El procedimiento calcula:

  • Débitos.
  • Créditos.
  • Diferencias netas.

Primero suma:

@debit
@credit

Luego calcula el excedente neto utilizando validaciones con IIF.

Este cálculo se realiza para dos grupos:

Grupo 1

Incluye:

  • Saldos iniciales.
  • Movimientos importados.

Variables:

@debit
@credit

Grupo 2

Incluye:

  • Movimientos contables.

Variables:

@debitAdjusting
@creditAdjusting

image.png


Normalización contable

La lógica implementada no corresponde a un redondeo ni tolerancia numérica.

Consiste en una normalización contable donde:

  • Los excedentes se asignan a débito o crédito.
  • Se determina el balance neto final.

Comparación final

El procedimiento compara los excedentes calculados.

Si el resultado es 0

  • El saldo conciliado CUADRA.
  • El mensaje NO se muestra.

Si el resultado es distinto de 0

  • El saldo conciliado NO CUADRA.
  • El mensaje SÍ se muestra.

image.png


Referencia funcional

Tarea #525626

La implementación del mensaje:

¡El saldo conciliado no cuadra!

fue realizada tomando como referencia la tarea:

#525626

La definición funcional original indicaba:

"Podrá usar la misma consulta que se hace en el reporte para mostrar el mensaje en pantalla."

Debido a este requerimiento, el procedimiento:

aasi_reconciliation_balance_not_closed

mantiene la misma lógica utilizada en:

aasi_report_reconciliation

para asegurar consistencia entre:

  • El reporte de conciliación.
  • La validación mostrada en pantalla.