Está en la página 1de 4

Pasos para usar Factura Electrónica en modo testing (desarrollo).

Autor: Martín Viegas


Última actualización: 03/12/2010

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.

Se recomienda para los pasos con el OpenSSL usar:


http://wswhomo.afip.gov.ar/fiscaldocs/WSAA/cert-req-howto.txt

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

Pasos para preparar entorno para testing de Factura Electrónica:

El fuente de Quilate es ULibreriaFacturaElectronica.pas. En el Uses principal descomentar los


fuentes de testing:

USoapFacturaElectronicaHomo, USoapFacturaElectronicaLoginHomo;

y comentar los fuentes de desarrollo:

USOAPFacturaElectronicaLOGIN_AFIP, USOAPFacturaElectronicaHomo_AFIP;

En las constantes, tiene que quedar descomentado:

sUrlDeServicios = 'https://wswhomo.afip.gov.ar/wsfe/service.asmx';
WSDLLocation = 'https://wswhomo.afip.gov.ar/wsfe/service.asmx?WSDL';

y nuevamente comentar las de producción:

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.

Recordar sincronizar la hora con el servidor de la afip:


El clock del computador que genera el TRA y recibe el TA deberá estar sincronizado a través del
protocolo NTP con el equipo time.afip.gov.ar
Generar clave privada y certificado de testing
Si las pruebas son para una empresa en particular, conviene primero buscar en
http://www.afip.gob.ar/genericos/rearRece/Buscar.asp con el CUIT de la empresa (sin guiones y sin
espacios), eso puede ahorrar muchos dolores de cabeza futuros.

Si el paso anterior está bien, generar con el OpenSSL


(http://www.slproweb.com/products/Win32OpenSSL.html) la clave privada y el archivo CSR:

Línea para generar la clave privada:


openssl genrsa -out privada 1024

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

Reemplace (siempre en mayúsculas):


• subj_o por el nombre de su empresa. Ej: MELISAM S A
• subj_cn por su nombre o server hostname (el nombre de tu máquina). Ej: INSPIRON15
• subj_cuit por la CUIT sin guiones de la empresa o programador (conviene usar el cuit de la
empresa que está autorizada, pero se puede usar el de Sistemas Quilate). Ej: 30600698725

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:

Asunto: Certificado digital para Testing de WSFE


Cuerpo: Según documentación http://wswhomo.afip.gov.ar/fiscaldocs/WSAA/cert-req-howto.txt, adjunto el CSR para
usar en el "WSFE" (CSR_Testing_WSFE.rar dentro están los archivos pedido.csr y privada) para que me generen el
certificado digital.

Además quisiera confirmar la dirección del Webservice (siempre para testing):

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

Desde ya muchas gracias,

---
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.

Preparar Quilate para hacer las pruebas


Se recomienda hacer las pruebas en la base del cliente, para comprobar que no sean errores de falta
de datos. Recordar que se debe ejecutar desde el entorno de pruebas usando los fuentes de testing.
Se recomienda leer el documento Factura Electrónica (Instructivo de uso).doc, que explica mucho
mejor cada uso de los campos a llenar. Acá solo se llena con los datos obligatorios y notas para
testing.

1 - Asegurarse que en el ABM de Empresas (Información Global\Empresas\ABM de Empresas), el


campo Identifica_2 tenga el CUIT que se usará para emitir las facturas fiscales (es el usado para
generar el certificado).
Identificador opcional de la empresa – CUIT (sólo números)
Ej: 30600698725

2 - Agregar un registro en COMPUTADORA:


Información de la Empresa\Gestión de Ventas\Ventas\Comprobantes de Ventas\Computadoras para
Factura Electrónica\ABM de Computadoras

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í.

También debemos asociar la Computadora que deseemos en el buscador correspondiente.

El campo Número de comprobante de Envío se llena automáticamente con el ultimo numero de


comprobante enviado a la Afip para este talonario. Por lo que no es necesario modificar este campo
en ningún caso. Solo está presenta para su visualización.

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.

Ver en Factura Electrónica (Instructivo de uso).doc los posibles errores al facturar.

Algunos errores y posibles soluciones comunes

• 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:

UPDATE COMPUTADORA SET TOKEN = NULL, SIGN = NULL, GENERAT_TIME = NULL,


EXPIRAT_TIME = NULL

También podría gustarte