Implementación de Factura Electrónica utilizando Software Libre


La implementación Factura Electrónica para Mercado Interno o Exportación en Argentina puede  realizarse utilizando SL.
El código fuente desarrollado en Python se encuentra disponible en Google Code.
Este es un desarrollo de la gente de Sistemas Agiles que ha liberado su codigo fuente a la comunidad bajo licencia GPL v3.
Dado que he tenido que implementar esta funcionalidad para algunas empresas dejo estas notas sobre su utilización para WSFEv1 para cualquiera que esté en el mismo baile…
 
 
Servicio Web de Autenticación y Autorización (WSAA)
Este servicio es necesario para acceder al resto de los servicios de negocios (ej. Factura Electrónica) ofrecidos por la AFIP.
Se debe generar un Ticket de Requerimiento de Acceso (TRA), firmarlo criptográficamente (generando un mensaje CMS) que es envía al servicio web para obtener un Ticket de Acceso (TA).
Esta interfase crea el mensaje en XML, lo firma criptográficamente y lo codifica en base-64 como lo requiere la AFIP, por lo que en general no es necesario realizar ninguno de estos pasos.
 
 
 
 
Generar Certificados:
Para poder utilizar la interfase se deben tramitar y asociar los certificados de homologación/producción en la AFIP. 
Pasos para crear el certificado:
  • Generar la clave privada:
    openssl genrsa -out empresa.key 1024
  • Generar el pedido (CSR: certificate signing request) por línea de comando:
    openssl req -new -key empresa.key -out empresa.csr -config afip-openssl.cnf
    • Country Name (2 letter code) [AR]:AR
    • Organization Name (por ej., empresa) [EMPRESA SA]:ingresar nombre de la empresa tal cual figura en la consulta de inscripción, ej.:Empresa S A
    • Common Name (por ej., su nombre) []:ingresar el nombre del servicio, aplicación u unidad operativa, ej:Sistema Facturas
    • Ingrese: CUIT XXXXXXXXXXX (XXXXXXXXXXX es la CUIT sin guiones)ingresarCUIT xxxxxxxxxxx
  • Enviar el empresa.csr a la AFIP para que lo firmen y devuelvan el certificado empresa.crt. Para asociar el certificado de homologación, enviarlo por email a la AFIP (webservices@afip.gov.ar). Para producción, enviarlo por clave fiscal, y descargar el certificado CRT.
 
El archivo afip-openssl.cnf debe configurarse y puede bajarse desde aca.
 
 
 
Paquete de Librerías:
Descargar e instalar en C:\PyAfipWsd el último paquete completo de librerías desde el sitio de descargas por ejemplo http://pyafipws.googlecode.com/files/instalador-PyAfipWs-1.25c-homo.exe
 
 
 
 
 
Uso en Producción
Por diseño, la interfaz COM (pyafipws.py, wsaa.py) y herramientas (rece.py, recex.py y receb.py) funcionan en modo homologación, para habilitar modo producción, por ej. editar la linea #28:
HOMO = True
y cambiarla a:
HOMO = False
De lo contrario, la interfaz no tendrá en cuenta las URLs de los servidores de Producción, aunque sean informadas en CallWSAA y Conectar.
Nota: Esto no aplica a los módulos para Python (wsfe.py, wsfex.py, etc.), pero también por defecto funcionan con URL de homologación.
Lo mismo aplica para WSFEv1 y WSMTXCA.
 
 
Comentarios:
– Poner “False” con mayúsculas.
 
Proyecto PyPDF utilizado para la creación de facturas digitales en formato PDF.
 
 
 
 
Advertisement

1 thought on “Implementación de Factura Electrónica utilizando Software Libre

  1. Pingback: Factura Electrónica con Software Libre – Reutilización de Ticket de Acceso | hvivani's website

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s