CALCULO RETENCIONES/PROCEDIMIENTO

De Pragma Wiki
Ir a la navegación Ir a la búsqueda

Introducción

El cálculo de retenciones e realiza casi íntegramente usando la base de datos. Los objetos que participan de este cálculo se describen en este artículo pero la mayor información vendrá de la lectura de esos objetos en SQL por parte de personal especializado.

Inicialización de parámetros de cálculo

Las ordenes de pago admiten la carga de:

  • Facturas.
  • Notas de débito.
  • Notas de crédito.
  • Anticipos.

(Las ordenes de pago se explican en su propia sección).

Una vez cargada la información necesaria (y con las aprobaciones que correspondan) la orden de pago se puede liquidar. Cuando se liquida se ejecuta un procedimiento de Delphi TOPCAB_implemented.CalcularRetenciones que inserta los comprobantes de la orden de pago en Retenciones, parámetros de ordenes de pago (impIMPCMPRET_PARAMS) dando inicio al proceso de cálculo de retenciones.

Esta tabla tiene un trigger impIMPCMPRET_PARAMS_TR_impIMPCMPRET_INS que llama a un procedimiento prx_impIMPCMPRET_Actualizar_FAST que calcula las retenciones.

Vistas requeridas para el cálculo, impuestos distintos a IIBB C.A.B.A.

Las siguientes vistas son requeridas por el procedimiento de cálculo.

1. impIMPCMPRET_FACTURAS_FAST

Para cada línea de la tabla Retenciones, parámetros de ordenes de pago (impIMPCMPRET_PARAMS) arma la lista de impuestos que corresponden a cada comprobante y toda información adicional necesaria (exenciones, comportamientos fiscales, etc).

2. impIMPCMPRET_AGRUP

Agrupa las facturas de la orden de pago cuyas retenciones estamos calculando según la definición de la familia de comprobantes. Por ejemplo la familia de Ganancias agrupa todas las facturas en un solo registro (denominado <AGRUP>) pero la familia de IVA no dejando que cada comprobante sea una agrupación de sí mismo.

3. impIMPCMPRET_ACUMULADOS

Acumula según la definición de la familia de impuestos. Por ejemplo la familia de Ganancias acumula los pagos mensuales pero las otras familias no.

4. impIMPCMPRET_AGRUP

Suma los montos y retenciones agrupadas según la definición de la familia del impuesto, por ejemplo la familia de Ganancias agrupa por mes pero la de IVA no.

5. impIMPCMPRET_CALCULO_FAST

Usa las vistas descriptas para calcular las retenciones que corresponda. En aquellos casos donde no se calcula retención por el motivo que sea, y la familia usa acumulados, los registros se guardan con el importe en retención en 0.

Este resultado se inserta en Retenciones, detalle de montos retenidos (impIMPCMPRET_RETENCION) en el procedimiento prx_impIMPCMPRET_Actualizar_FAST.

Vistas requeridas para el cálculo, IIBB C.A.B.A.

1. impIMPCMPRET_CALCULO_IBCABA

Junta los datos necesarios para poder realizar el cálculo de retenciones. Como el cálculo de retenciones de IIBB C.A.B.A. se basa en el padrón Padrón de Regimenes generales por publicación (IBCABA_PRG) el procedimiento es mucho más sencillo y esta vista proporciona todo lo necesario.

El resultado de esta vista se inserta en Retenciones, detalle de montos retenidos (impIMPCMPRET_RETENCION) en el procedimiento prx_impIMPCMPRET_Actualizar_FAST.

Procedimiento prx_impIMPCMPRET_Actualizar_FAST

Este procedimiento es llamado por el trigger impIMPCMPRET_PARAMS_TR_impIMPCMPRET_INS sobre la tabla Retenciones, parámetros de ordenes de pago (impIMPCMPRET_PARAMS) y ejecuta el proceso completo de calcular y generar las retenciones.

Finalmente el trigger IMPCMPRET que ha llamado al procedimiento prx_impIMPCMPRET_Actualizar_FAST inserta los registros calculados de Retenciones, detalle de montos retenidos (impIMPCMPRET_RETENCION) en Certificado retenciones, detalle de retenciones (IMPCMPRET) que es la tabla de detalle del certificado.

Emisión de los certificados de retención

Cuando las ordenes de pago se registran emiten los Certificado de retenciones (RTCAB) necesarios, a través del trigger OPCAB_TR_RTCAB_UPDATE pero eso se explica en el artículo correspondiente a las ordenes de pago