viernes, 7 de junio de 2013

Cierre Contable en Adempiere Parte No. 1

Un Cierre Contable es un proceso o un comprobante de diario que consiste en movimientos de debitos o creditos que hacen cero los saldos finales de las cuentas contables del Estado de Resultado (Ingresos y Gastos). El cierre contable se puede clasificar en:

- Cierre Fiscal: cuando se abarca los períodos (normalmente son 12 meses o períodos) de un año a otro. Por ejemplo: Del 01 Enero 2012 al 31 Diciembre 2013.

- Cierre Transitorio: cuando se abarca los períodos por semestres, trimestres, etc... Por ejemplo: Del 01 Julio 2012 al 31 Diciembre 2013.

En Adempiere, no existe un proceso o pantalla especifica para realizar el cierre contable, porque el sistema maneja por defecto una Contabilidad Perpetua, esto quiere decir que las cuentas de ingresos y gastos nunca se hacen cero y trabajan con saldos acumulados, los períodos contables nunca se cierran. Es por tal motivo que se ha publicado este blog, para mostrar una solución temporal y para crear un nuevo proceso de cierre contable siguiendo determinados pasos.

Una solucion temporal para hacer el efecto del cierre contable en Adempiere, es agregando un nuevo periodo contable en "Analisis de Desempeño > Reglas Contables > Año y Calendario" llamado "Cierre contable 2012-2013" donde este ocupe un día del año. Luego se agrega un nuevo comprobante de diario seleccionando el nuevo período de cierre y se registra todos los movimientos de las cuentas de Estado de Resultado de forma manual para hacer cero el saldo final del período anterior. Esto se hace en "Menu > Analisis de Desempeño > Nota de Contabilidad".

Los pasos para crear el nuevo proceso de cierre contable y que esto sea automatico en Adempiere son los siguientes:

1) Crear una nueva pantalla "Cierre contable", un maestro detalle, similar a la pantalla "Nota de Contabilidad", con el objetivo de separar los movimientos de los períodos con el cierre de los mismos y evitar el problema de solapamiento de fechas.

2) Crear una nueva clase Java dentro del paquete org.compiere.process, el cual consistira en crear automaticamente los registros del cierre contable, que son los movimientos de las cuentas de Estado de Resultado para hacer cero los Ingresos y los Gastos, y posteriormente el siguiente período inicie con nuevos saldos para los Ingresos o Ventas y los Gastos.

3) Diseñar e implementar los reportes financieros (Balanza de comprobación, Estado de Resultado y Balance General) incluyendo el proceso del cierre contable.

Veremos el primer paso del nuevo proceso de Cierre Contable...

1) Abrimos el PgAdmin, y ejecutamos el siguiente script SQL:

-- Tablas para el cierre contable

-- drop table nic_cierre_contable;

create table nic_cierre_contable
(
    nic_cierre_contable_id numeric(10,0) primary key not null,
    ad_client_id numeric(10,0) not null,
    ad_org_id numeric(10,0) not null,
    isactive char not null,
    created date not null,
    createdby numeric(10,0) not null,
    updated date not null,
    updatedby numeric(10,0) not null,
    num_documento varchar not null,
    descripcion varchar,
    tipo_cierre char not null, -- F = Fiscal, T = Transitorio
    fecha_inicial date not null,
    fecha_final date not null,
    fecha_contable date not null,
    total_debito numeric(10,2),
    total_credito numeric(10,2),
    observacion varchar
);

-- drop table nic_detalle_cierre;

create table nic_detalle_cierre
(
    nic_detalle_cierre_id numeric(10,0) primary key not null,
    ad_client_id numeric(10,0) not null,
    ad_org_id numeric(10,0) not null,
    isactive char not null,
    created date not null,
    createdby numeric(10,0) not null,
    updated date not null,
    updatedby numeric(10,0) not null,
    nic_cierre_contable_id numeric(10,0) not null,
    descripcion varchar,
    account_id numeric(10,0) not null,
    debito numeric(10,2),
    credito numeric(10,2),
    observacion varchar/*,
    constraint fk_cierre_contable foreign key(nic_cierre_contable_id)
    references nic_cierre_contable(nic_cierre_contable_id)
    on delete no action
    on update no action
    deferrable initially immediate*/
);

create or replace function sp_sumar_cierre()
returns trigger as $$
begin

    update nic_cierre_contable set
        total_debito =
        (select sum(dc.debito) from nic_detalle_cierre dc
        where dc.nic_cierre_contable_id = NEW.nic_cierre_contable_id),
       total_credito =
        (select sum(dc.credito) from nic_detalle_cierre dc
        where dc.nic_cierre_contable_id = NEW.nic_cierre_contable_id)
    where nic_cierre_contable_id = NEW.nic_cierre_contable_id;

    return NEW;

end;
$$ language plpgsql;

create trigger sumar_cierre after insert or update on nic_detalle_cierre
for each row execute procedure sp_sumar_cierre();


Continuar >>

"Dejar un comentario es una forma de agradecimiento"

4 comentarios:

  1. Buenos dias Amigo Estuve leyendo tu blog el cual esta interensante, pero no pude avanzar ya que no cuento con la informacion compelta como lo dice temas
    Cierre Contable en Adempiere Parte No. 1, Cierre Contable en Adempiere Parte No. 2

    ,actualmente lo estoy realizando con el mes 13, como indica que tiene un proceso nuevo. el cual lleva los saldo a cero.. Puede compartir esto

    ResponderEliminar
  2. Hola amigo buenas tardes tiene la 2da parte del Cierre

    ResponderEliminar
  3. Buenas tardes Pedro, el cierre fiscal o cierre contable no es mas que hacer cero nuestros ingresos y gastos para el proximo año, en otras palabras sería restaurar o volver a su estado original estas cuentas y para lograr esto lo unico que debemos hacer es crear un comprobante de diario o nota contable que salde todas las cuentas de ingreso y gastos dejandolas con valor cero, para esto te comparto esta funcion la cual genera el comprobante de diario, espero te sea de utilidad.

    http://bseni.blogspot.com/2018/01/closing-balance-in-adempiere.html

    ResponderEliminar
  4. Comparto este e software de contabilidad que facilita la parte administrativa, para la gestión de una empresa se pueden aplicar herramientas contables para optimizar la administración de sus recursos. https://www.excel-accounting-budget-analysis.com , herramienta con la que puedes contar para simplificar, a bajo costo, todo tipo de procesos contables.

    ResponderEliminar