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