RECUPERO IVA/PROCEDIMIENTO

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

Introducción

La presentación de un recupero de IVA requiere de la correcta definición de:

Una vez registradas todas las novedades que forman parte de la presentación podemos ver el resultado.

Consulta afipRG2000_PRESENTACION_FACTURAS_ConsultaPresentacion

Consulta de presentación de IVA.

Esta consulta muestra todos los datos de la presentación, el único criterio que usa es el código de presentación.

Las columnas del resultado son:

  • Comprobante: Código interno (del sistema) de factura.
  • TipoFiscal: Tipo de comprobante según AFIP.
  • TipoFiscalDef: Marca 1 cuando el tipo de comprobante según AFIP está definido, 0 cuando no lo está. Es para control.
  • Fecha: Fecha de emisión de la factura.
  • Cuenta: Código de proveedor.
  • Denominacion: Denominación del proveedor.
  • Directo: Marcado cuando se trata de un comprobante directo.
  • Alicuotas: Cantidad de alícuotas de la factura (AFIP admite solo una).
  • MontoGravado: Monto gravado.
  • MontoIVA: Monto de IVA.
  • Coeficiente: Coeficiente aplicado.
  • IvaComputable: IVA computable.
  • Moneda: Moneda en la que se expresa la factura.
  • Cotizacion: Cotización de la factura.
  • MontoIVA_MonedaOrigen: Monto IVA en la moneda origen.
  • Referencia: Referencia a la factura del proveedor.
  • ReferenciaFecha: Fecha de esa referencia.
  • DDJJ: DDJJ en la que se presentó la factura.
  • DDJJ_Fecha: Fecha de presentación de la DDJJ.
  • FechaPago: Fecha de pago de la factura.
  • OrdenPago: Código de orden de pago.
  • MontoPago: Monto pagado.
  • RetencionPorcentaje: Porcentaje de retención.
  • RetencionExencion: Exención a la retención.
  • RetencionTotal: Total retenido.
  • Certificado: Código de certificado.
  • MotivoNoRetencion: Motivo de no retención (cuando corresponda).
  • InscripcionTipo: Tipo de inscripción del proveedor.
  • InscripcionNumero: Número de inscripción del proveedor.
  • Articulo: Código del primer artículo de la factura.
  • Descripcion: Descripción de ese artículo.
  • Rubro: Rubro al que pertenece el artículo.
  • RubroDescripcion: Descripción de ese rubro.
  • Jurisd_Total: Dato obsoleto de RG3594 Régimen Pequero.
  • Jurisd_No3594: Dato obsoleto de RG3594 Régimen Pequero.
  • Jurisd_3594I: Dato obsoleto de RG3594 Régimen Pequero.
  • Jurisd_3594O: Dato obsoleto de RG3594 Régimen Pequero.

Luego siguen varias columnas con un prefijo "afip" que corresponden a algunas de estas mismas columnas pero en un formato más amigable para el aplicativo que se puede exportar de esta misma pantalla.

Vistas utilizadas en la consulta

Esta consulta usa varias tablas temporarias insertando el contenido de varias vistas en tablas con nombres muy parecidos, por ejemplo:

SELECT * INTO #afipRG2000_CALX_CANDIDATAS_DIR_VISTA_FAST FROM afipRG2000_CALX_CANDIDATAS_DIR_VISTA WHERE Presentacion = @FPRESENTACION

Aquí inserta el contenido de la vista afipRG2000_CALX_CANDIDATAS_DIR_VISTA en la tabla temporaria #afipRG2000_CALX_CANDIDATAS_DIR_VISTA_FAST.

afipRG2000_CALX_CABECERAS_VISTA

Contiene varios datos relacionados con las cabeceras de las facturas, no solamente las que participan del recupero de IVA, sino de todas las facturas.

afipRG2000_CALX_RETENCIONES_VISTA

Contiene los datos de las retenciones efectuadas a las facturas y, en caso de corresponder, el motivo de no retención.

afipRG2000_CALX_PAGOS_VISTA

Contiene los datos de los pagos efectuados a los comprobantes.

afipRG2000_CALX_CANDIDATAS_DIR_VISTA

Contiene datos de facturas que participan en los recuperos de IVA, con tratamiento directo.

afipRG2000_CALX_CANDIDATAS_IND_VISTA

Similar anterior pero para las facturas de tratamiento indirecto.

Algunas consultas útiles

Basadas en estadísticas de uso.

afipRG2000_IND_CANDIDATAS_PorPresentacion

Muestra las facturas candidatas a ser agregadas a la presentación que se está consultando. El criterio Pendientes indica:

  • Cuando está marcado trae todas las facturas.
  • Cuando no está marcado solo trae las facturas cuyo motivo de no retención es distinto a Pendiente.

afipRG2000_DIR_PORCENTAJES_Comprobantes

Muestra las facturas directas que ya han asignado algún porcentaje a la presentación. Además tiene varias relaciones, una de ellas permite agregar porcentajes de otros comprobantes.

afipRG2000_CABECERAS_NO_CANDIDATAS

Muestra las facturas que no son candidatas a una presentación (que no se pueden agregar) y el motivo.

afipRG2000_ARTICULOS_PENDIENTES_Consulta

Muestra artículos que no han sido agregados a rubro, el sistema solo permite agregar facturas cuyos artículos están asociados a rubros.

Refresco previo al recupero

Para acelerar los procesos deben ejecutarse las sentencias copiadas justo abajo antes de la consultas de la presentación.

/* afipRG2000_CALX_CABECERAS_TABLA... */

DELETE FROM afipRG2000_CALX_CABECERAS_TABLA WHERE NOT EXISTS ( SELECT * FROM FCCAB WHERE FCCAB.FCMPCODIGO = afipRG2000_CALX_CABECERAS_TABLA.Comprobante AND FCCAB.FCMPESTADO = 'Registrado' ) GO

INSERT INTO afipRG2000_CALX_CABECERAS_TABLA SELECT afipRG2000_CALX_CABECERAS_VISTA.Comprobante , afipRG2000_CALX_CABECERAS_VISTA.Fecha , Cuenta = SUBSTRING(afipRG2000_CALX_CABECERAS_VISTA.Cuenta, 1, 16) , Denominacion = SUBSTRING(afipRG2000_CALX_CABECERAS_VISTA.Denominacion, 1, 60) , afipRG2000_CALX_CABECERAS_VISTA.PROIMP_RG3594_Jurisdiccion , afipRG2000_CALX_CABECERAS_VISTA.PROIMP_RG3594_Articulos , PRO_Rubro = SUBSTRING(afipRG2000_CALX_CABECERAS_VISTA.PRO_Rubro, 1, 16) , afipRG2000_CALX_CABECERAS_VISTA.Rubro_Defecto , Referencia = SUBSTRING(afipRG2000_CALX_CABECERAS_VISTA.Referencia, 1, 16) , afipRG2000_CALX_CABECERAS_VISTA.ReferenciaFecha , afipRG2000_CALX_CABECERAS_VISTA.ReferenciaLetra , afipRG2000_CALX_CABECERAS_VISTA.ReferenciaPuntoEmision , afipRG2000_CALX_CABECERAS_VISTA.ReferenciaNumero , afipRG2000_CALX_CABECERAS_VISTA.cmpFAMILIA , afipRG2000_CALX_CABECERAS_VISTA.cmpTIPO , afipRG2000_CALX_CABECERAS_VISTA.cmpLETRA , InscripcionTipo = SUBSTRING(afipRG2000_CALX_CABECERAS_VISTA.InscripcionTipo, 1, 6) , InscripcionNumero = SUBSTRING(afipRG2000_CALX_CABECERAS_VISTA.InscripcionNumero, 1, 16) , Condicion = SUBSTRING(afipRG2000_CALX_CABECERAS_VISTA.Condicion, 1, 8) , afipRG2000_CALX_CABECERAS_VISTA.MontoGravado , afipRG2000_CALX_CABECERAS_VISTA.MontoImpuesto , afipRG2000_CALX_CABECERAS_VISTA.cmpNetoFactura , afipRG2000_CALX_CABECERAS_VISTA.cmpMoneda , afipRG2000_CALX_CABECERAS_VISTA.cmpTotalME , afipRG2000_CALX_CABECERAS_VISTA.cmpCotizacion , afipRG2000_CALX_CABECERAS_VISTA.cmpTotalML , afipRG2000_CALX_CABECERAS_VISTA.cmpSigno FROM afipRG2000_CALX_CABECERAS_VISTA WHERE NOT EXISTS (SELECT * FROM afipRG2000_CALX_CABECERAS_TABLA WHERE afipRG2000_CALX_CABECERAS_TABLA.Comprobante = afipRG2000_CALX_CABECERAS_VISTA.Comprobante) GO

/* afipRG2000_CALX_ARTICULOS_DIR_TABLA... */

DELETE FROM afipRG2000_CALX_ARTICULOS_DIR_TABLA GO INSERT INTO afipRG2000_CALX_ARTICULOS_DIR_TABLA SELECT * FROM afipRG2000_CALX_ARTICULOS_DIR_VISTA GO

/* afipRG2000_CALX_ARTICULOS_IND_TABLA... */

DELETE FROM afipRG2000_CALX_ARTICULOS_IND_TABLA GO INSERT INTO afipRG2000_CALX_ARTICULOS_IND_TABLA SELECT * FROM afipRG2000_CALX_ARTICULOS_IND_VISTA GO

/* Actualizamos afipRG2000_CALX_PAGOS_TABLA... */

DELETE FROM afipRG2000_CALX_PAGOS_TABLA GO INSERT INTO afipRG2000_CALX_PAGOS_TABLA SELECT * FROM afipRG2000_CALX_PAGOS_VISTA GO

/* Actualizamos afipRG2000_CALX_RETENCIONES_TABLA... */

DELETE FROM afipRG2000_CALX_RETENCIONES_TABLA GO INSERT INTO afipRG2000_CALX_RETENCIONES_TABLA SELECT * FROM afipRG2000_CALX_RETENCIONES_VISTA GO