Ingresos Brutos - WS ARBA DFE
Documentación Componentes y Herramientas Generales:
- PyAfipWs: Interfase simil OCX con otros lenguajes (VB, VFP, Cobol ...) Costos y Condiciones
- Manual: Documentación, Información Importante, Certificados, Errores Frecuentes
- Herramienta "universal": archivos de intercambio TXT Cobol, DBF dBase/FoxPro, JSON PHP/Java
- PyFEPDF: Generador de Factura Electrónica en formato PDF
Factura Electrónica - Servicios Web AFIP:
- Mercado Interno: Factura Electrónica A/B/C/M WSFEv1+ (RG2485/3067/3668/3749/4004/4109/4367)
- Matrix (codificación productos): Factura Electrónica A/B con detalle (RG2904/3536)
- Bienes de Capital: Bonos Fiscales Electrónicos - Factura Electrónica A (RG2557)
- Exportación: Factura Electrónica E Exportadores (RG2758 RG3689 RG4401)
- Turismo: Comprobantes Factura Electrónica T WSCT CAE/CAEA (RG3971)
- FE Cred (FCE): Factura Electrónica Crédito MiPyMEs (RG4367)
- Código de Autorización Electrónico Anticipado CAEA
Agropecuario - Servicios web AFIP:
- Código Trazabilidad de Granos: Transporte de granos WSCTGv4 (RG2806 RG3113 RG3493)
- Liquidación y Certificación de Granos: WSLPGv1.17 F. C1116 A / B / RT (RG3419 RG3690 RG3691)
- Liquidación de Tabaco Verde: WSLTVv1.3
- Liquidación Única Mensual Lechería: WSLUMv1.3
- Liquidación Sector Pecuario: Hacienda, Compra directa, Carne WSLSPv1.3
- Remito Electrónico Cárnico: WSRemCarne (RG4256/18 y RG4303/18)
- Remito Electrónica Harinero: WSRemHarina - (RG 4519/19)
- Remito Electrónico Azúcar y Derivados: WSRemAzucar - (RG 4519/19)
- Carta de Porte: WSCPE - (RG 5017/21)
- Carta de Porte Derivados Granarios: WSCPEv2 - (RG 5235/22) Nuevo!
Otros webservices y utilidades AFIP
- Constatación de Comprobantes CAI, CAE, CAEA (WSCDC)
- Padron Contribuyentes AFIP: Constancia de Inscripción RG1817/2005 WS-SR-Padron
- Consulta de Operaciones Cambiarias: Compra de Divisas (WSCOC)
- SIRE_CertificadoRetencionElectronica: Certificado de retención electrónica del Impuesto al Valor Agregado (SIRE-WS) RG4523/19
Webservices provinciales: ARBA (Prov. Bs.As.), AGIP (C.A.B.A), API (Sta.Fe), DGR (Córdoba):
- Remito Electrónico: COT Código de Operaciones de Translado (ARBA, API, AGIP, DGR)
- Ingresos Brutos: Consulta de alícuotas WS DFE IIBB ARBA
SNT: Sistema Nacional de Trazabilidad ANMAT, SEDRONAR, SENASA
- Trazabilidad de Medicamentos: ANMAT Disposición 3683/2011
- Trazabilidad de Productos Médicos: ANMAT Disposición 2303/2014 y 2175/14
- Trazabilidad de Precursores Químicos: RENPRE SEDRONAR Resolución 900/12
- Trazabilidad de Productos Fitosanitarios: SENASA Resolución 369/13
- Trazabilidad de Productos Fitosanitarios: SENASA Resolución 369/21 (WS_INFO_EMPRESAS / WS_DATOS_GENERALES)
Aplicativos Genéricos y Herramientas Avanzadas:
- PyRece: Aplicativo visual simil SIAP - RECE (CSV, PDF, Email)
- FE.py: Herramienta universal, unificada e integrada
- FacturaLibre: Aplicacion online (web2py)
- PyFactura Aplicativo visual y simple (gui2py) para CAE y PDF factura electrónica
- LibPyAfipWs: Biblioteca DLL para lenguajes C / C++ y similares
- Factura Electrónica en Python: Información Técnica (SOAP, XML, PDF, DBF, etc.)
Interfaz para Servicio web para obtención de Alícuotas "RÉGIMEN DE RECAUDACIÓN POR SUJETO" correspondiente a la Resolución Normativa N° 64/10, N° 55/12, N° 02/13, N° 13/13, N° 28/14 ARBA (Rentas Provincia de Buenos Aires).
Especificación para la Aplicación Cliente actualizado a 22-12-2009 (última actualización de ARBA)
Permite consultar en forma on-line directamente desde su aplicación cliente, sin intervención de operadores, invocando servicios web (requerimiento https a un servicio remoto) que permite recuperar las alícuotas correspondientes a determinado período para la CUIT de su interés.
Internamente genera y envía el archivo DFERespuesta_codigohash.xml con el algorítmo MD5 y analizando la respuesta en formato XML.
Índice
Descargas
- Instalador: Instalador 1.01b para evaluación
- Ejemplo en VB: iibb.bas
- Código Fuente (Python): https://github.com/reingart/pyafipws/blob/master/iibb.py
- Documentación oficial: http://www.arba.gov.ar/Informacion/IBrutos/LinksIIBB/RegimenSujeto.asp (Importante: requiere clave ARBA)
URL
- Testing: https://dfe.test.arba.gov.ar/DomicilioElectronico/SeguridadCliente/dfeServicioConsulta.do
- Producción: https://dfe.arba.gov.ar/DomicilioElectronico/SeguridadCliente/dfeServicioConsulta.do
Métodos
- Conectar(url=None, proxy="", wrapper="", cacert="", trace=False, testing=""): los parametros son similares a WSFEv1.Conectar (por el momento solo se usa url y trace para depuración), testing es el nombre de archivo de una respuesta XML de prueba para simulaciones (opcional)
- ConsultarContribuyentes(self, fecha_desde, fecha_hasta, cuit_contribuyente): realiza la consulta remota a ARBA, estableciendo los resultados . Establece los atributos NumeroComprobante, CantidadContribuyentes, CodigoHash de corresponder según respuesta de ARBA, y TipoError, CodigoError, MensajeError: si hay error general.
- LeerContribuyente(): lee el próximo contribuyente devuelto por ARBA. Devuelve verdadero (True) si hay contribuyente o falso (False) si ya se analizaron todos los datos recibidos. No es obligatorio llamar a este método si se envia de a un solo un CUIT por consulta. Establece los atributos CuitContribuyente, AlicuotaPercepcion?, AlicuotaRetencion?, GrupoPercepcion?, GrupoRetencion?`
- ObtenerTagXml(tag1, tag2, ...): busca en el mensaje xml analizado la etiqueta tag1, luego tag2 y así sucesivamente, devolviendo el contenido (texto) del dato si fue encontrada, o nulo en caso contrario. Ver ejemplo.
IMPORTANTE: ConsultarContribuyentes devuelve verdadero (True) si ha podido realizar la operación o falso (False) en caso contrario. Se capturan los errores, por lo que se deben revisar los atributos luego de llamar al método.
Atributos
- Usuario y Password son los atributos ara autenticación (tramitar en ARBA)
- Version e InstallDir sirven para depuración de la interfaz.
- XmlResponse: respuesta xml enviada por ARBA
- Excepcion, Traceback: se completan en caso de error interno no esperado (por ej. falla de comunicación).
- TipoError, CodigoError, MensajeError: si hay error general de ARBA se completan según la documentación
- NumeroComprobante, CantidadContribuyentes, CodigoHash: campos completados según la respuesta descripta en la documentación de ARBA
- CuitContribuyente, AlicuotaPercepcion?, AlicuotaRetencion?, GrupoPercepcion?, GrupoRetencion?`: completados si hay datos de contribuyentes devueltos.
IMPORTANTE: para el manejo de errores, siempre se debe revisar el atributo Excepcion, si este no está en blanco, ha ocurrido un error no esperado y debe analizar el Traceback (traza) y volver a intentar. Siempre es útil almacenar los valores de XmlResponse como respaldo de la operación y para futura referencia o análisis.
Línea de Comando
Para sistemas operativos legados (DOS bajo windows) y UNIX/Linux, es posible operar la herramienta de remito electrónico por consola. Recibe como parámetros el nombre de archivo, usuario y clave. Opcionalmente se puede especificar --testing para pruebas (usar xml de muestra como respuesta si no se tiene acceso a homologación) y --trace para imprimir por pantalla los datos enviados y recibidos.
Ejemplo de uso (usuario clave fecha_desde fecha_hasta cuit):
C:\PYAFIPWS>IIBB.EXE 20267565393 CIT 20150301 20150331 27269434894 --prod --trace Numero Comprobante: 68800675 Codigo HASH: f1800fba55a255c8a6317b324bf5efc7 Error General: | | CUIT Contribuytente: 27269434894 AlicuotaPercepcion: 6,00 AlicuotaRetencion: 3,00 GrupoPercepcion: 15 GrupoRetencion: 15
Importante: Dependiendo como este generado el instalador, puede ser necesario usar IIBB_CLI.EXE
En linux o desde el código fuente invocar con el interprete python iibb.py.
Ejemplo Intefase COM en VB (5/6)
Dim IIBB As Object, ok As Variant ' Crear la interfaz COM Set IIBB = CreateObject("IIBB") Debug.Print IIBB.Version Debug.Print IIBB.InstallDir ' Establecer Datos de acceso (ARBA) IIBB.Usuario = "20267565393" IIBB.Password = "99999" ' CIT url = "https://dfe.test.arba.gov.ar/DomicilioElectronico/SeguridadCliente/dfeServicioConsulta.do" ' Conectar al servidor (pruebas) ok = IIBB.Conectar(url) ' Enviar el archivo y procesar la respuesta: fecha_desde = "20150301" fecha_hasta = "20150331" cuit_contribuyente = "27269434894" ok = IIBB.ConsultarContribuyentes(fecha_desde, fecha_hasta, cuit_contribuyente) ' Hubo error interno? If IIBB.Excepcion <> "" Then Debug.Print IIBB.Excepcion, IIBB.Traceback MsgBox IIBB.Traceback, vbCritical, "Excepcion:" & IIBB.Excepcion Else Debug.Print IIBB.XmlResponse Debug.Print "Error General:", IIBB.TipoError, "|", IIBB.CodigoError, "|", IIBB.MensajeError ' Hubo error general de ARBA? If IIBB.CodigoError <> "" Then MsgBox IIBB.MensajeError, vbExclamation, "Error " & IIBB.TipoError & ":" & IIBB.CodigoError End If ' Datos generales de la respuesta: Debug.Print "Numero Comprobante:", IIBB.NumeroComprobante Debug.Print "Codigo Hash:", IIBB.CodigoHash ' Datos del contribuyente consultado: Debug.Print "CUIT Contribuytente:", IIBB.CuitContribuyente Debug.Print "AlicuotaPercepcion:", IIBB.AlicuotaPercepcion Debug.Print "AlicuotaRetencion:", IIBB.AlicuotaRetencion Debug.Print "GrupoPercepcion:", IIBB.GrupoPercepcion Debug.Print "GrupoRetencion:", IIBB.GrupoRetencion MsgBox "CUIT Contribuytente: " & IIBB.CuitContribuyente & vbCrLf & _ "Numero Comprobante: " & IIBB.NumeroComprobante & vbCrLf & _ "Codigo Hash: " & IIBB.CodigoHash & vbCrLf & _ "AlicuotaPercepcion: " & IIBB.AlicuotaPercepcion & vbCrLf & _ "AlicuotaRetencion: " & IIBB.AlicuotaRetencion & vbCrLf & _ "GrupoPercepcion: " & IIBB.GrupoPercepcion & vbCrLf & _ "GrupoRetencion: " & IIBB.GrupoRetencion, _ vbInformation, "Resultado" End If
Ejemplos de uso ObtenerTagXml:
Debug.Print "desde", iibb.ObtenerTagXml('fechaDesde') Debug.Print "hasta", iibb.ObtenerTagXml('fechaHasta') Debug.Print "cuit", iibb.ObtenerTagXml('contribuyentes', 'contribuyente', 0, 'cuitContribuyente') Debug.Print "alicuota", iibb.ObtenerTagXml('contribuyentes', 'contribuyente', 0, 'alicuotapercepcion')
Novedades
Se recuerda que esta disponible el grupo de noticias ( http://groups.google.com.ar/group/pyafipws) donde se publicarán futuras novedades sobre PyAfipWS: servicios web de factura electrónica y sus interfases (se recomienda suscribirse)
Costos y Condiciones
Por soporte comercial consultar al (011) 15-3048-9211 o por mail a info@sistemasagiles.com.ar
Más información en PyAfipWs (ver Costos y Condiciones del Soporte Comercial)