Implementación de Factura ElectrónicaNoviembre 2007
www.cessi.org.ar
Conceptos previos (XML y Web Service) Canal de comunicación y especificaciones. Documentación técnica. Entornos: Homologación – Producción. Generación de request – certificado. Procedimiento para habilitación. Servicios del WSFE y errores.
¿Que es un xml?
“…Busca dar solución al problema de expresar información estructurada…”
“…no es un lenguaje en sí…”;
“…permite compatibilidad entre sistemas para compartir información de manera segura y fácil…”
Fuentes: Wikipedia y W3C.
Fuentes: Wikipedia y W3C.
Características de un archivo XML
Estructurar datos. Es un conjunto de reglas para diseñar formatos de texto que permitan estructurar los datos.
Similitudes con html. Se usan etiquetas y atributos. En html se notifican como se van a mostrar las cosas, en xml solo es para delimitar las piezas de datos.
XML es texto. No está pensado para ser leído pero si se quisiera se podría con cualquier editor de texto.
Diseño. Diferencia con los formatos binarios. Hojas de estilos (xsl)
Html a XHtml. (Office `07)
XML es modular. Permite combinar distintos documentos bajo reglas de estructuras definidas.
¿Que es un Web Service?
Función. “…es una colección de protocolos y estándares que sirven para intercambiar datos…”
Ventajas. (interoperabilidad; fomenta estándares; se apoya en http; permite que servicios-soft-empresas puedan integrarse)
Ejemplos. (WSAA y WSFE)
¿Cuál es la función del WSAA?
Es un WS con carácteristicas B2B que permite a los computadores de la Afip y EE (Entes Externos) a la Afip intercambiar info sin intervención de operadores.
El WSAA realiza la verificación del “TRA” y si el requerimiento es correcto devuelve un mensaje que contiene el “TA” que habilita a los CEE (Computadores de Entes Externos) a utilizar los WSN.
Certificados. ¿Cómo subir un certificado?
¿Cómo generar un request?
Canal seguro. Canal encriptado. Https.
TRA – TA. Ticket de requerimiento de acceso.Ticket de acceso.¿Como funciona? Ejemplos.
Sincronización de clocks. Mediante protocolo NTP: time.afip.gov.ar
Preparación del TRA. Se puede utilizar una estructura
XML ya definida que puede ser obtenida de un archivo externo o declarada como constante en el propio código.
Ejemplo.
Envío del
TRA
Envío del TA
¿Que puede pasar?
OpenSSL Win32 – Lenguaje de código abierto
- Entorno de OpenSSL.
- Modificación de archivo .cnf
Información para generar… - CUIT del cliente.- mail para utilización del serivicio.
Comandos para generar clave y request. - Clave Privada: “genrsa -des -out privada 1024”- Request: “req –new –key privada.pem –out
pedido”
Análisis del request generado. - Clave privada.
- Almacenar en forma segura y responsable de la clave privada.
Certificado obtenido por Afip.
- Atención ! ! !
- Copia de certificado en archivo txt.- Modificación de la extensión del
certificado obtenido en entorno MSDOS.
DN Origen:serialNumber=CUIT 30123456780, [email protected],
CN=Nombre Apellido, OU=Empresa, O=Empresa2, ST=Buenos Aires, C=AR
DN Destino. cn=wsaahomo, o=afip, c=ar, serialNumber=CUIT 33693450239cn=wsaa, o=afip, c=ar, serialNumber=CUIT 33693450239
Gestionar relacionesSubir CertificadoREAR/RECE/RFIAdhesión/empadronamientoAlta Punto de Venta
Asociar computadores/Subir
Certificado
Homologación del WSFE
Documentación. https://wswhomo.afip.gov.ar/wsfedocs
Web Service.
https://wswhomo.afip.gov.ar/wsfe/service.asmx
https://wsw.afip.gov.ar/wsfe/service.asmx (Producción)
Homologación de WSAA
Documentación. https://wswhomo.afip.gov.ar/wsfedocs
Web Service.
http://wsaahomo.afip.gov.ar/ws/services/LoginCms http://wsaa.afip.gov.ar/ws/services/LoginCms (Producción)
Diferencias de entornos.
Contacto para consultas de WS. [email protected]
FEAutRequest. Recibe info de la factura y otorga el cae.
FERercuperaQTyRequest. Recupera cantidad máxima de registros de detalle.
FERecuperaLastCMPrequest. Recupera el último número de comprobante.
FEUltNroRequest. Recupera el último número de transacción.
FEconsultaCAErequest. Consulta la validez del comprobante electrónico recibido.
www.cessi.org.ar
Ing. Mariano Vandam