Auxiliar Contable (Estado de Cuenta)
Descripción General
El proceso Auxiliar Contable (Estado de Cuenta) (AccountingLedger) compila los movimientos contables detallados y calcula progresivamente el saldo acumulado (débitos, créditos y saldo en marcha) de una o varias cuentas contables dentro de un rango de fechas. La información consolidada se inserta en la tabla temporal T_ReportStatementCDS para facilitar su impresión y análisis.
Cálculo Eficiente de Saldos Progresivos: A diferencia de las consultas tradicionales de bases de datos, este proceso aprovecha las funciones analíticas de ventana SQL y el uso de una tabla temporal segmentada por instancia de proceso (
AD_PInstance_ID) para generar estados de cuenta complejos a gran velocidad.
Flujo de Ejecución Técnico
El proceso ejecuta las siguientes etapas durante su ejecución en el servidor de aplicaciones:
- Inicialización de Rango de Fechas: Si el usuario define fechas específicas en el parámetro
DateAcct, se utilizan dichos valores. Si no especifica fechas pero proporciona unC_Period_ID, extrae las fechas de inicio y fin de dicho período. Como último recurso, calcula los rangos basados en el mes calendario actual. - Generación de Líneas de Detalle (LevelNo = 1):
- Consulta la vista contable diaria
cds_rv_fact_acct_dayaplicando los filtros de cuenta, organización, terceros, proyectos, actividades y dimensiones del usuario. - Calcula el balance acumulado de las transacciones usando la función analítica SQL:
SUM(AmtAcctDr - AmtAcctCr) OVER (PARTITION BY e.Value ORDER BY e.Value, a.DateAcct, e.Description ASC ROWS UNBOUNDED PRECEDING). - Inserta los resultados con
LevelNo = 1en la tabla temporal.
- Consulta la vista contable diaria
- Cálculo del Saldo Inicial (LevelNo = 0):
- Suma los movimientos acumulados anteriores a la fecha de inicio del reporte.
- Control Contable de Cuentas de Resultados: Si la cuenta procesada no es de Balance (sino una cuenta de gastos o ingresos), el proceso restringe la consulta del saldo inicial limitándola a la fecha de inicio del año fiscal en curso (obtenida mediante
MPeriod.getFirstInYear). Esto evita la acumulación indebida de saldos históricos cerrados en ejercicios anteriores. - Inserta la línea de saldo consolidado inicial con la descripción fija
'SALDO INICIAL'yLevelNo = 0.
- Actualización Masiva del Balance Acumulado: Ejecuta un comando SQL de tipo
UPDATEque recalcula y encadena el saldo acumulado real progresivo sumando el saldo inicial (LevelNo = 0) con el histórico detallado de transacciones (LevelNo = 1) ordenadas por fecha contable y descripción.
Estructura de la Tabla Temporal T_ReportStatementCDS
La tabla intermedia t_reportstatementcds consolida los registros antes de que iDempiere invoque al motor de renderizado del reporte. Los campos clave de esta tabla son:
AD_PInstance_ID: Código numérico único asignado a la instancia del proceso ejecutado, permitiendo aislar las consultas concurrentes entre usuarios.LevelNo: Indica la jerarquía de la línea (0= Saldo Inicial;1= Detalle Transaccional).DateAcct: Fecha del movimiento contable.Name/Description: Nombre descriptivo o detalle de la transacción contable.AmtAcctDr/AmtAcctCr: Montos contables de débito y crédito.Balance: Saldo progresivo consolidado calculado a la fecha.Account_ID/Account_Name: Identificadores de la cuenta contable conteniendo la línea.c_bpartner_id: Socio de negocio de la transacción (tercero relacionado).
Nota de Rendimiento: La tabla temporal utiliza índices en su estructura de base de datos para los campos AD_PInstance_ID, Account_ID y DateAcct para garantizar velocidad óptima en grandes volúmenes de transacciones contables diarias.
Parámetros
Al ejecutar el proceso Auxiliar Contable (Estado de Cuenta) en la interfaz de PrimApp / iDempiere, se presentan los siguientes parámetros de configuración:
| Parámetro | Nombre en BD | Descripción / Uso |
|---|---|---|
| Esquema Contable * | C_AcctSchema_ID |
Reglas para contabilizar Un esquema contable define las reglas contables usadas tales como método de costeo; moneda y calendario |
| Tipo de Aplicación * | PostingType |
El tipo de total que esta nota contable actualizó El tipo de aplicación indica el tipo de total (actual; gravamen; presupuesto) que esta nota contable actualizó |
| Período | C_Period_ID |
Período de Calendario El Período indica un rango de fechas exclusivo para un calendario |
| Fecha Contable | DateAcct |
Fecha contable La fecha contable indica la fecha a ser usada en las cuentas de contabilidad general generadas desde este documento |
| Organización | AD_Org_ID |
Entidad organizacional dentro del grupo empresarial Una organización es una unidad del grupo empresarial o entidad legal - Ej. Tiendas y departamentos. Es posible compartir datos entre organizaciones. |
| Cuenta | Account_ID |
Cuenta usada La cuenta (natural) usada |
| Tercero | C_BPartner_ID |
Identifica un Tercero Un tercero es cualquiera con quien usted realiza transacciones. Este puede incluir Proveedores, Clientes, Empleados o Vendedores. |
| Producto | M_Product_ID |
Producto; servicio o artículo. Identifica un artículo que puede ser comprado o vendido es esta organización. |
| Proyecto | C_Project_ID |
Proyecto Financiero Un proyecto permite hacer un seguimiento y control interno |
| Centro de Costo (Job) | C_Activity_ID |
Centro de Costo (Job) Las actividades indican tareas que son ejecutadas en el curso de un negocio; las actividades son usadas para el costeo por actividad (ABC) |
| Región de Ventas | C_SalesRegion_ID |
Región de cobertura de ventas. La región de ventas indica una área de cobertura de ventas específica. |
| Campaña | C_Campaign_ID |
Campaña de Mercadeo La Campaña define un programa de mercadotecnia único. Los proyectos pueden estar asociados con una campaña de mercadotecnia única. Usted puede entonces reportar basado en una campaña específica |
| Usuario 1 | User1_ID |
El usuario definió el elemento # 1 El elemento definido por el usuario despliega los elementos opcionales que han sido definidos para esta combinación de cuentas |
| Usuario 2 | User2_ID |
El usuario definió el elemento # 2 El elemento definido por el usuario despliega los elementos opcionales que han sido definidos para esta combinación de cuentas |
| Reportando Jerarquías | PA_Hierarchy_ID |
Reporte Opcional de Jerarquías - Si no seleccionó se emplea el árbol predeterminado de jerarquías Reportar Jerarquías le permite seleccionar diferentes Jerarquías/Arboles para el Reoporte.Segmentos contables deseadosm Organizaciones, Cuentas, Productos pueden tener algunas jerarquías para acomodar siferentes vistas acerca del negocio. |