Certificados AFIP para Web Services de facturación

Posteo

Para ponernos en autos: para emitir facturas electrónicas desde la web de facturación de AFIP, es decir cuando ingresas a su web y desde la sección de facturación cargás manualmente todos los datos y así emitís y descargas la factura, no necesitás nada de lo que vamos a explicar a continuación.

En cambio, si usás un sistema de gestión o una aplicación de terceros que más o menos te automatiza el proceso, tanto la aplicación como la computadora desde la que lo hacés deben estar autorizadas en AFIP para emitir facturas en tu nombre o el de la empresa que sea.



AFIP maneja esta cuestión a traves de la generación de certificados de autenticación que luego debes instalar en tu equipo y configurar en tu sistema de administración.

Para los desarrolladores de sistemas y aplicaciones, casi todo lo que tiene que ver con AFIP suele resultar una odisea griega: AFIP proporciona diferentes versiones de instructivos, todas ellas parcialmente desactualizadas y hasta con errores. La mayoría de las veces una nueva reglamentación no se ve reflejada en la documentación provista sino hasta que otra reglamentación ya la ha modificado o hasta dejado sin efecto, por lo que casi siempre, más allá de los instructivos, todo se reduce a una interminable sucesión de pruebas y errores. Y para cuando todo funciona, alguna nueva medida impositiva obliga a modificar y corregir lo ya hecho.

Dicho lo anterior, es justo tambien decir que lo relacionado con la generación e instalación del certificado de AFIP es una de las pocas cosas bien explicada y documentada de todo el organismo y que, oh, sorpresa!, suele funcionar sin problemas.



Pero que todo eso luego funcione con tu sistema y puedas emitir comprobantes es otra historia: un camino más o menos laberíntico dependiendo del tipo de sistema, el lenguaje de programación utilizado y otras tantas cuestiones…


El primer paso: generar el certificado en AFIP

Como en la vida, si queres que te den algo lo primero es pedirlo. Así, para que AFIP te entregue el certificado que estás necesitando el primer paso es pedírselo. En la práctica esto implica generar un archivo de pedido, enviarlo a AFIP, esperar a que genere el certificado y luego descargar ese certificado.

Este archivo de pedido y casi todo lo demás que tenés que hacer hasta terminar con el tema del certificado requiere una herramienta llamada OpenSSL. Se trata de un conjunto de instrucciones que permiten realizar casi todas las operaciones de creación y manejo de certificados de seguridad. Entonces, antes de empezar, asegurate de tener instalado OpenSSL en tu computadora. Una simple búsqueda en Google te va a proporcionar toda la info que necesitás al respecto, asi que no voy a entrar en este asunto. Bueno… como ya estoy viendo tu cara de desesperación, podés empezar acá: Cómo instalar OpenSSL en Windows. Asumimos que ya lo instalaste y seguimos…

Una vez instalado y configurado OpenSSL, vas a abrir tu terminal de comandos (CMD) como administrador y vas a tipear el siguiente comando:




openssl genrsa -out claveprivada 2048

Esto te habrá creado un archivo claveprivada usando cifrado RSA-2048. Justito como lo quiere AFIP.

Ahora, con esa clave privada, vamos a generar el archivo de pedido del certificado que, aunque pueda sorprendernos, es el archivo necesario para pedir el certificado. Loco, no? Ejecutá en tu ventana de comando la siguiente instrucción, teniendo en cuenta que claveprivada es el nombre del archivo que generaste en el paso anterior, empresa tenes que remplazarlo por el nombre descriptivo de tu empresa, tunumerodeCUIT, obviamente, tenes que remplazarlo por el numero de CUIT sin guiones y pedidocertificado.csr va a ser el nombre del archivo de pedido resultante.


openssl req -new -key claveprivada -subj "/C=AR/O=empresa/CN=micertificado/serialNumber=CUIT tunumerodeCUIT" -out pedidodecertificado.csr

Ahora llegó el momento de ingresar a AFIP con tu CUIT y clave fiscal, ir a Administración de Certificados Digitales y luego a Agregar Alias. Por supuesto si no ves disponibles estos servicios es porque primero tenías que agregarlos a tu CUIT: ¿Cómo uso la clave fiscal y cómo agrego nuevos servicios?.

Tipear el alias deseado (PCdeFacturacion, por ejemplo) y dar click en Seleccionar archivo. Buscar y seleccionar el archivo pedidodecertificado.csr que creaste antes. Aceptar y esperar a que se cree el alias. Enseguida verás una lista encabezada por el último alias creado y al lado el link Ver. Dale click a Ver y se desplegará el detalle del alias con un certificado que tendrá como nombre de archivo el mismo alias seguido de una cadena alfanumérica y la extención .crt. Al lado de todo eso, un ícono que parecen flechitas hacia abajo al que vas a darle click para descargar ese certificado a tu compu.

Buscar el archivo dónde se descargó, darle click derecho y luego Instalar certificado. Dónde lo pregunta, seleccionar Equipo local y seguir las ventanas hasta que termina con «…exitosamente».


Generar el archivo PKCs12

Una vez que hayas descorchado el champagne y hayas terminado de festejar el éxito del primer pequeño gran paso del proceso, podés encarar todo lo que falta, que no es poco.

Para que tu sistema pueda acreditarse y, por ejemplo, generar una factura electrónica, necesita tanto del certificado que te entregó AFIP como de la clave privada que generaste al principio y enviaste justo el archivo de pedido. Ambas cosas deben empaquetarse apropiadamente y para eso existen los archivos PKCs12.

Volvemos entonces a la ventana de comandos y ejecutamos el siguiente comando, remplazando claveprivada por el nombre del archivo de clave privada que generaste al empezar, certificadoafip.crt por el nombre completo del archivo de certificado que descargaste AFIP, alias lo cambiarás por el alias que creaste en AFIP y archivo.p12 por el nombre que quieras darle al archivo resultante, siempre con la extensión .p12.


openssl pkcs12 -export -inkey claveprivada -in certificadoafip.crt -out archivo.p12 -name "alias"

Cuando pide una Password, tipear una clave sencilla, por ejemplo certificado1234 o la que sea que elijas y no vayas a olvidar. TENER EN CUENTA QUE EL SISTEMA NO MUESTRA NI EL CURSOR NI LOS CARACTERES MIENTRAS SE ESCRIBA LA CLAVE. Darle enter.
El sistema vuelve a pedir la contraseña como confirmación. Tipear la misma (otra vez, tené en cuenta que mientras la escribas el sistema no muestra ni caracteres, ni cursor, ni nada). Darle Enter.


Si todo salió bien te encontrarás entonces con que en la carpeta en la que estas trabajando se ha creado un archivo.p12. Dale click con el botón derecho y elegí Instalar PFX. Ir aceptando las ventanas. en la ventana que pide contraseña, ingresar la misma que en el paso anterior (según el ejemplo, certificado1234). Tildar la opción «Marcar esta clave como exportable…«. Aceptar.

Lo que sigue no siempre es necesario y depende exclusivamente de la plataforma de programación que utiliza tu sistema de gestión. Por ejemplo VBA y .NET no van a entender la clave privada que creaste en el inicio asi de fácil y por lo tanto tampoco van a aceptar el archivo.p12 que generaste con ella. Entonces, cuando quieras hacer alguna operación que lo necesite, seguramente te devolverá un error de certificado o contraseña inválida. Pero si el archivo .p12 lo convertimos a un .pfx extraído del almacén de certificados de Windows, el sistema lo aceptará con todo gusto. Para esta conversión lo único que hay que hacer es exportar el PFX que acabás de instalar.


  • Abrir Panel de Control, Opciones de Internet. Ir a la pestaña Contenidos y entrar en Certificados.
  • Buscar el certificado archivo.p12 recién instalado, seleccionarlo y darle click a Exportar.
  • Elegir la carpeta en la que se va a exportar (puede ser la misma en la que está) y seleccionar el formato que coincide con .PFX
  • cuando pide la clave, ingresar la que se puso al crear el archivo.p12 (certificado1234 por ejemplo)
  • se generó un archivo .pfx. Seguiendo el ejemplo desde el principio, se llamaría PCdeFacturacion.pfx

Ahora sólo te falta configurar tu sistema de gestión para que utilice ese archivo .pfx para sus operaciones con los Web Services de AFIP. Acá depende exlusivamente de cada sistema en particular: algunos requieren que copies el archivo en una ubicación específica, otros que configures la ruta en alguna ventana de opciones y muchos otros (demasiados, lamentablemente), te obligarán a arrodillarte y suplicar al soporte técnico de la empresa del sistema que, luego de pagar una tarifa en general excesiva, ellos lo hagan por vos. Hay de todo y para todos los gustos.


Pensabas que ya está todo listo? Nones!

Hasta ahora creaste un alias asociado a un certificado de seguridad que habilita a tu sistema de gestión para operar con los Web Services de AFIP. Pero, pequeño detalle, aún no le dijiste a AFIP con cuales de todos sus Web Services vas a autorizar a operar a ese alias. Una empresa bien podría tener diferentes empleados para realizar diferentes tareas y quizás no todos estén autorizados para hacerlas todas y entonces cada uno tendría su alias. Esa es más o menos la lógica.

Pues entonces te toca volver a ingresar a AFIP y relacionar el alias con los servicios que va a utilizar.


  • Ingresar a AFIP con CUIT y clave fiscal. Ir al Administrador de Relaciones. Elegir la empresa y, cuando se despliegan, los servicios de AFIP (en general, el primero que aparece en la lista).
  • Elegir NUEVA RELACION y en la lista desplegable seleccionar el alias correspondiente.
  • Seleccionar el Web Service que se necesite.
  • Repetir el mismo proceso para cada servicio necesario (Factura electrónica, Facturas MiPyme, Consultas de padrones… lo que sea).

Espero haber contribuído a disminuir la tasa de suicidios por cuestiones fiscales.


Salute!

Gracias por compartir!