El cálculo de impuestos se realiza en el procedimiento P700_CALC_IMPTOS. Recibe como parámetros Pcodcia -> Código de la compañía. Pnroinscrip -> Corresponde a una llave que contiene el número de liquidación con ceros a la izq. Pfechafactura -> Fecha de la factura a liquidar Plocfactura -> Localidad de la factura Pfechaliq -> Fecha de liquidación Ptotalfactura -> Valor bruto de la factura Pactbenef -> Actividad del beneficiario de la factura Pcodbenef -> Código del beneficiario Ptdoc_tercero -> Tipo de documento del tercero Pfacturaexenta -> Entrada y Salida indicador de factura excenta. Pregimen -> Tipo de régimen simplificado o común Pactividad -> Actividad económica Psubactividad -> Subactividad económica Pcptoliq -> Concepto de liquidación Pimporteliq -> Valor del importe liquidado Pprovincia -> Provincia Pcodcob -> Código de la cobertura Pcodcptorva -> Código del concepto de reserva Pivadiferencial -> IVA diferencial Puser -> Usuario Pexpedafec -> Tipo de expediente Presultado -> Entrada y salida con el resultado de la operación 0 – Ejecución correcta 1 – No hay datos en la tabla A5021700 2 – Error en tercero 3 – Error en fn_tasa 4 – No hay impuestos asociados -Inicia borrando la tabla temporal de impuestos X1001304, para el número de inscripción, el usuario, el concepto de liquidación, la cobertura y el concepto de reserva. -Consulta la fecha de asiento, numero de asiento y oficina contable para la compañía en la tabla A5021700. -Consulta la información del tercero mediante el procedimiento PCK999_TERCEROS.PRC_DATOSD_TERCERO. -Consulta la información tributaria mediante el procedimiento PCK999_TERCEROS.PRC_INFORMACION_TRIBUTARIA. -Si el beneficiario es jurídico busca si posee resolución de retención del iva en la tabla juridicos -Busca los impuestos que aplican para el concepto de liquidación en la tabla A5021102. -Busca la descripción del impuesto en la tabla A1001100. -Si el impuesto es 3(IVA), 4(RETEIVA), 8(CREE) y no es excento de IVA
DECLARE
Presultado NUMBER;
Pfacturaexenta a3001700.factura_exenta%type;
V_PROV NUMBER(2);
CURSOR C_LIQUIDACION IS
SELECT * FROM A3001700 WHERE NUM_LIQ = 15200000075 AND COD_CIA = 3;
CURSOR C_COB IS
SELECT DISTINCT COD_COB, COD_CONCEP_RVA, COD_CONCEP_LIQ, IMPORTE_LIQ
FROM A3001800
WHERE COD_CIA = 3
AND NUM_LIQ = 15200000075;
BEGIN
FOR J IN C_LIQUIDACION LOOP
select DISTINCT cod_prov
into v_prov
from a1000702 a , A1000100 b, a7001000 e
where a.cod_agencia = e.cod_agen_trami and
a.cpos_agencia = b.cod_postal and
e.cod_cia = J.COD_CIA and
e.cod_secc = J.COD_SECC and
e.num_sini = J.NUM_SINI and
e.nro_exped = J.NRO_EXPED;
FOR I IN C_COB LOOP
Pfacturaexenta := J.factura_exenta;
P700_CALC_IMPTOS (J.COD_CIA,
lpad(to_char(J.NUM_SECU_LIQ),15,'0'),
TRUNC(J.FECHA_CREACION),
J.LOCALIDA_FACTURA,
J.FECHA_LIQ,
J.TOTAL_BRUTO_LIQ,
J.cod_act_benef,
J.cod_benef,
J.tdoc_tercero,
Pfacturaexenta,
J.con_iva_sim,
to_number(substr(to_char(J.activ_socioeconomica),1,length(J.activ_socioeconomica)-6)),
to_number(substr(to_char(J.activ_socioeconomica),length(J.activ_socioeconomica)-5,6)),
I.COD_CONCEP_LIQ,
I.IMPORTE_LIQ,
v_prov,
I.COD_COB,
I.COD_CONCEP_RVA,
0, -- Pivadiferencial number,
J.cod_user,
NULL, -- Pexpedafec a7001000.tipo_exped%type,
Presultado
);
END LOOP;
END LOOP;
END;
En la pantalla AP502031 se encuentra la descripción de las cuentas contables con sus descripciones, por ejemplo : IVA 253500055, ICA 255505302