Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una aclaración importante, hay dos modos para usar los Web Services (en adelante WS), uno es
el modo testing o desarrollo, que es lo que explicaré acá, el otro es el modo “producción” que es el que
usa el cliente. Hay que tener en cuenta que las actualizaciones de Quilate tienen que salir siempre con
los Uses a los fuentes de producción, salvo que se quiera hacer una versión solo para la gente de
Testing.
Los ws que se utilizarán son WSAA (Web Service de Autenticación y Autorización) y WSFE (Web
Service de Factura Electrónica), la documentación está en:
WSAA : http://wswhomo.afip.gov.ar/fiscaldocs/WSAA/
WSFE: http://wswhomo.afip.gov.ar/fiscaldocs/WSFE/
Para que se entienda, siempre se loguea y autoriza primero con el WSAA, con eso obtiene el SIGN, el
TOKEN, y el tiempo en que puede usar esa autorización (es un día), durante el tiempo de
COMPUTADORA.GENERAT_TIME hasta COMPUTADORA.EXPIRAT_TIME es que se pueden
enviar facturas electrónicas mediante WSFE.
Instalar los certificados de la AFIP (dicen que ya no son necesarios, pero por las dudas):
ftp://ftp.quilate-erp.com/Varios/Factura Electronica/CERTIF
AFIPcerthomo.cer y AFIPcertprod.cer
USoapFacturaElectronicaHomo, USoapFacturaElectronicaLoginHomo;
USOAPFacturaElectronicaLOGIN_AFIP, USOAPFacturaElectronicaHomo_AFIP;
sUrlDeServicios = 'https://wswhomo.afip.gov.ar/wsfe/service.asmx';
WSDLLocation = 'https://wswhomo.afip.gov.ar/wsfe/service.asmx?WSDL';
sUrlDeServicios = 'https://servicios1.afip.gov.ar/wsfe/service.asmx';
WSDLLocation = 'https://servicios1.afip.gov.ar/wsfe/service.asmx?WSDL';
Con esos pasos ya queda “activado” que trabajaremos en entorno de pruebas con Factura Electrónica.
Línea para generar el CSR (archivo con el cual se le pide a la AFIP el certificado)
openssl req -new -key privada -subj "/C=AR/O=subj_o/CN=subj_cn/serialNumber=CUIT
subj_cuit" -out pedido
Enviar como archivo adjunto (conviene poner en un RAR los dos archivos: privada y pedido) a:
Consultas WS <webservices@afip.gov.ar>. Un ejemplo de como lo envié la última vez:
Autorización y Login:
https://wsaahomo.afip.gov.ar/ws/services/LoginCms?WSDL
Factura Electrónica:
https://wswhomo.afip.gov.ar/wsfe/service.asmx?WSDL
---
Martín Viegas Barriga
Programador Delphi para Sistemas Quilate SA
Cuando respondan (si todo lo anterior se hizo bien), enviarán un archivo .crt, que es el certificado.
Instalarlo en el sistema (siempre en la misma máquina donde se generó).
Mover todos los archivos (privada, pedido y el nuevo test.crt) a una carpeta que no tenga espacios en
la ruta, por ejemplo: C:\OpenSSL\Certificados.
Completar con los datos del certificado (CRT), si se le da doble click se pueden ver los detalles.
• Source: DN del computador que realiza el requerimiento
serialNumber=*,cn=*,ou=*,o=*,c=*
Ej: c=ar,o=melisam s a,2.5.4.5=#131043554954203330363030363938373235,cn=inspiron15
(Nota: ese número es el que devolvió la AFIP la primera vez que se hizo el logueo)
• Destintation: DN del WSAA (WebService de Autenticación y Autorización).
El mismo debe ser: CN=wsaahomo, O=AFIP, C=AR, SERIALNUMBER=CUIT 33693450239
• Certificado: Ruta y nombre del certificado que nos envió la AFIP
Ej: C:\OpenSSL\Certificados\martinviegas_test.crt
• Clave privada: Ruta y nombre del archivo de la clave privada generados con el openssl
Ej: C:\OpenSSL\Certificados\privada
• OpenSSL: Ruta al ejecutable del programa
Ej: C:\OpenSSL\bin\openssl.exe
3 – Agregar un talonario o modificar uno para usar Factura Electrónica. Se recomienda que si se estan haciendo pruebas,
solo modificar el que usó el cliente, con el nuevo registro de computadoras.
Para que el talonario envíe factura electrónica, es necesario que la opción Factura electrónica este
puesta en Sí.
Existe un campo más asociado a la factura electrónica, que es la Fecha de Servicio Estándar. Este
campo define si se utilizan las fechas de servicio estándar definidas para la empresa. Si esta en sí, se
utiliza por defecto las fechas que aparecen en la solapa de datos principales del Editor de de Empresas
para nuestra empresa.
Si esta puesta en no, se requerirá la intervención del usuario al momento de enviar la factura
electrónica al WSN (Web Service de Negocio). Esta opción, define como seran calculadas las fechas de
inicio y fin del servicio a facturar.
4 – Hacer una venta en Quilate con el comprobante asociado al talonario recién modificado. Y seguir
con las pruebas.
• No olvidarse de (si se usa Delphi) seguir los pasos de BUG de Delphi 7 (Delphi SOAP Runtime
and Importer Update).doc ya que sino salen muchos errores.
• Un error muy común es que diga que el Source o el Destination mandado estan mal formados,
por el orden normalmente, en el mismo mensaje pone como debe ir.
Un ejemplo de este error:
DN de destino no es el esperado.
Valor recibido: CN = AFIP-Autoridad Certificante Homologacion, OU = Subdireccion
General de Sistemas y Telecomunicaciones, O = Administracion Federal de Ingresos
Publicos, S = Capital Federal, C=AR, SERIALNUMBER=CUIT 33693450239
valor esperado: CN=wsaahomo, O=AFIP, C=AR, SERIALNUMBER=CUIT 33693450239
• Otro error es que diga que los xml estan mal formados o algo similar, lo que hay que hacer es
eliminar los archivos con extensión .xml del directorio de quilate.exe.
• Para que vuelva a pedir los datos de login (por algún error previo), se puede limpiar la tabla
haciendo: