viernes, 19 de julio de 2019

Facturación electronica php AFIP


Cargo este documento para no olvidarme los pasos que di para poner en marcha la facturación electrónica para Encontrarse.com. Como considero que puede hacer ganar tiempo a otros lo publico directamente, inclusive siendo borrador. 


Yo use la librería AFIP.php 
https://github.com/afipsdk/afip.php/wiki/Facturaci%C3%B3n-Electr%C3%B3nica


Compre el soporte por 3 meses que ofrecen mas como agradecimiento a disponibilizar algo que me iba a hacer ahorrar tiempo . 

La documentación en github es buena y podria ser suficiente para configurarlo, pero yo preferí los ejemplos que vienen con la version PRO que me sirvieron inmediatamente , con algunos retoques sencillos. 


Trato de describir los pasos como complemento a otros documentos e información online 
.
Yo tengo que hacer FACTURAS C 



SITIO DE HOMOLOGACION DE AFIP 

Lo primero es hacerlo andar en el sitio de homologación. 
Para eso hay que dar de alta en afip para homologación , esete es el instructivo 
http://www.afip.gob.ar/ws/WSASS/WSASS_como_adherirse.pdf

Luego hay que generar una clave key que es un archivo  podria ser misclaves_test.key  con eso se genera un pedido misclaves_pedido_test.csa  y se carga en AFIP y devuelve un archivo que le podes poner misclaves_test.crt   

Las claves se generan con un programa que hay que bajarse que es openssl, en el instructivo esta de donde bajarlo 


  • primero hay que generar una clave privada en formato PKCS#10 con un mínimo de 2048 bits
    openssl genrsa -out MiClavePrivada.key 2048
  • y segundo, generar el CSR. Para ello, la forma de ejecutar 'openssl' en la línea de comandos es así:
    openssl req -new -key MiClavePrivada.key -subj "/C=AR/O=subj_o/CN=subj_cn/serialNumber=CUIT subj_cuit" -out MiPedidoCSR.csr  
  • Eso genera un archivo que hay que cargarlo en la pagina de la afip y devuelve otra clave que es el .crt 

En este archivo esta como generarlas 
http://www.afip.gob.ar/ws/WSASS/WSASS_manual.pdf
http://www.afip.gob.ar/ws/WSASS/html/introduccion.html


Luego puse la libreria en una carpeta /AFIP desde mi root , cargue los certificados dentros de los archivos que vienen en la libreria , y arme un ejemplo como los que estan publicados en github 

Los cargue como 
Afip_res/key
Afip_red/cert

luego en la afip hay que cargar en nombre de ejoy , entrando con mi cuit el pedido que es el a.csr , y me devuelve el a.crt que es el que hay que cargar en el directorio de AFIPeJoy 


Ver que hay un readme.txt en la carpeta en donde guarde la instruccion completa para genera co nel cuit y todo lo demas. 


El ejemplo es con facturas de productos, al probar con facturas de Servicios me daba un error que puede leer agregando al ejemplo 

error_reporting(E_ALL); 
ini_set('display_errors', '1');


y vi que me faltaban tres fechas que son obligatorias cuando facturas un servicio. 

Con eso ya anduvo en Homologacion . 



PRODUCCION
Hay que hacer el proceso nuevamente de generacion de las claves la miclave_prod.key la miclave_prod.csa y que te de la miclave_prod.crt 

Hay que subirlo en otros links dentro de la Afip. 
http://www.afip.gob.ar/ws/documentacion/certificados.asp

Las volvi a pegar dentro del archivo que la libreria tiene para las claves, tambien se pueden poner en otro directorio pero para empezar alli me quedaron bien . ojo hay que proteger el directorio ya que no tienen que poder entrar a tus claves de afuera. 

y lo que me estaba faltando que no aparece en ningún instructivo es que tuve que crear un nuevo punto de cobro, un punto de cobro asociado a facturación por webservices .

Luego de crear el nuevo punto de cobro, salío perfecto y pude facturar . 

Puede consultar la factura generada .
no encontre ninguna interfaz online de AFIP para consultar las facturas generadas con webservice desde la web .

y con eso por ahora me es suficiente, ahora tengo que armar todo el backoffice para poder facturar directo desde nuestra administración .

Suerte . 

ATENCION: todos los años hay que volver a generar los certificados de la AFIP 







2023.12.28 nuevamente tengo que generar los certificados y como reinstale la maquina tengo que instalar nuevamente el openssl
Lo instale desde https://slproweb.com/products/Win32OpenSSL.html 
y quedo en la carpeta 
 C:\Program Files\OpenSSL-Win64

Donde hay un bat adentro start.bat 


openssl genrsa -out MiClavePrivada.key 2048

como no sabia donde lo estaba guardando le puse una ruta conocida 



Genere los dos archivos ,
openssl req -new -key MiClavePrivada.key -subj "/C=AR/O=subj_o/CN=subj_cn/serialNumber=CUIT subj_cuit" -out MiPedidoCSR.csr  

Aca hay que reemplazar el subj_cuit por el numero sin  guiones 3071111111 


https://serviciosweb.afip.gob.ar/clavefiscal/adminrel/detalleCertificado.aspx


lo subi a la afip y la afip debvuelve un ejoy.crt


Luego directo los subi a la carpeta 


con el nombre key y cert 

osea cambie el nombre MiClavePrivada.key  por "key" como nombre de archivo   
y el que bajo de la afip que era ejoygroup_fd1hdhdhdhd.crt por "cert" 

y listo , magia, pude volver a facturar