Hola, estoy tratando de crear facturas de exportacion desde n8n. Estoy siguiendo esta documentación: https://afipsdk.com/blog/crear-factura-electronica-de-arca-en-n8n/ ya obtuve el certificado y realicé las configuraciones de todos los nodos. Pero estoy teniendo problemas con el nodo get_last_voucher_number el cual usa el método FEXGetLast_ID. Este es el error: The service was not able to process your request Invalid XML Error: Unexpected close tag Line: 60 Column: 23 Char: > como si hubiera un error de syntaxis, pero el json parece estar bien: { "environment": "dev", "method": "FEXGetLast_ID", "wsid": "wsfex", "params": { "Auth": { "Token": "{{ $('get_authorization').item.json.token }}", "Sign": "{{ $('get_authorization').item.json.sign }}", "Cuit": 20410832278 }, "PtoVta": 2, "CbteTipo": 19 } }
Alguien tiene idea de que puede ser?
Con workflow para importar directamente en tu proyecto.
Estuvo funcionando inestablemente en modo dev hoy, proba ahora
buenas! como estan?
he escuchado por ahí que habrá un cambio en los WS de ARCA a partir del 1 de Julio. Alguien sabe que cambios son?
¿Novedades respecto a esto? Me pasa exactamente lo mismo, incluso sin AFIP SDK me retorna el mismo error, o a veces toda la página de la documentación.
Simplemente me dejó de pasar, no hice ningún cambio
Ahora estoy teniendo este error al con el método FEXAuthorize para crear la factura:
"FEXErr": { "ErrCode": 1666, "ErrMsg": "Campo Cmp.Items invalido (sin ocurrencia)" },
Así tengo configurados el Items:
{
"Pro_ds": "Honorarios Profesionales correspondiente al mes de mayo del año 2025",
"Pro_qty": 1.0,
"Pro_umed": 7,
"Pro_precio_uni": 1400.00,
"Pro_total_item": 1400.00
}
Probé cambiar el tipo de los datos y agregar todas las prop que muestra el manual, pero nada me funciona
Alguién sabe qué ocurre?
Cual es body completo de la request que estas haciendo?
Asi agrega los items en la request (Array Item adentro de Items)
"Items": {
"Item": [
{
"Pro_ds": "Honorarios Profesionales correspondiente al mes de mayo del año 2025",
"Pro_qty": 1.0,
"Pro_umed": 7,
"Pro_precio_uni": 1400.00,
"Pro_total_item": 1400.00
}
]
}
Si era eso, muchas graciass Ivan!!
Buen día, alguno tiene algun ejemplo de cómo llamar al ws para crear VEPs? este es el ws https://www.afip.gob.ar/ws/WSCREATEVEP/ManualParaElDesarrolladorDelCreateVEPwebService.pdf
Para obtener el token y sign el body para la request seria asi (cambiar env y tax_id):
{
"environment": "dev",
"tax_id": "{{cuit}}",
"wsid": "setipagob2b_createvep"
}
Y para llamar el web service (cambiar los datos correspondientes):
{
"environment": "dev",
"method": "createVEP",
"wsid": "setipagob2b_createvep",
"params": {
"token": "{{token}}",
"sign": "{{sign}}",
"entidadDePago": "100",
"vep": {
"nroVEP": "100",
"fechaHoraCreacion": "string",
"fechaExpiracion": "string",
"fechaVencimiento": "string",
"nroFormulario": "100",
"orgRecaudDesc": "string",
"codTipoPago": "100",
"pagoDesc": "string",
"pagoDescExtracto": "string",
"usuarioCUIT": "100",
"autorizanteCUIT": "100",
"contribuyenteCUIT": "100",
"establecimiento": "58",
"concepto": "100",
"conceptoDesc": "string",
"subConcepto": "100",
"subConceptoDesc": "string",
"periodoFiscal": "197905",
"anticipoCuota": "100",
"importe": "100",
"ownerCuit": "100",
"ownerTransactionId": "100",
"Detalles": {
"Detalle": {
"campo": "54",
"campoTipo": "N",
"campoDesc": "string",
"contenido": "s",
"contenidoDesc": "string"
}
},
"Obligaciones": {
"Obligacion": {
"impuesto": "100",
"impuestoDesc": "string",
"importe": "100"
}
}
}
}
}
otra pregunta, siempre para cada request que hago tengo que generar el token y sign correcto? aparte de esto:
{ "environment": "dev", "tax_id": "{{cuit}}", "wsid": "setipagob2b_createvep" }
siempre le tengo que mandar cert y key en mi caso sino no me tira error
por otro lado veo que este ws fue pensando para grandes contribuyentes y/o bancos, etc. habrá otro WS para crear VEPs?
Fijate si con el CUIT 33693450239 te deja
Si antes de cada request pedis el token y sign
Podes consultar directamente a ARCA tu caso [email protected]
encontré un error que creo estaría bueno solucionar y es que al pedir certificado tanto en HOMO como PROD el cert y el key los devuelve con caracteres de salto de linea y algún otro como \n y \r. Si los saco a mano andan perfectas ambas variables, pero si las copio y pego tira error de "Error en el certificado enviado. Revise que lo esté configurando correctamente e intente de nuevo. Invalid PEM formatted message" (por supuesto).
No es un error, son los caracteres de escape para los saltos de linea y retorno de carro que se utiliza en JSON
claro porque vienen en el formato -----BEGIN CERTIFICATE----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQE... -----END CERTIFICATE-----
pero bueno como despues uno le manda eso por parámetro siempre en json por ahi lo más comodo sería ya tenerlo formateado y no tener que hacerlo aparte o aclarar en la docu de hacer un const pem = jsonCert.replace(/\n/g, '\n'); antes de enviarlo por parametro en el https://app.afipsdk.com/api/v1/afip/auth
igualmente muchísimas gracias por la aclaración Ivan!
Tenes que agregarlo como header:
Name = Authorization Value = Bearer AQUI_EL_ACCESS_TOKEN
excelente!! ahi funciono!! muchas gracias!!
hola chicos buenas
soy de chile y estoy trabajando un con cliente argentino
más que nada generar una factura con el cuit, soy algo nuevo con afip
estoy leyendo recien la documentacion para empezar, cualquier consejo sirve
Si, sin problemas
Buenas, estoy generando facturas con un workflow en n8n, pero cuando descargo el pdf, sale sin el qr, saben que podria ser??
Estuvo con problemas la carga de imagenes en el PDF, ya deberia estar funcionando
Buenísimo, hoy lo pruebo, graciass
Anda perfecto, muchas graciasss
Me parece que se cayó de vuelta
Hay alguna manera de que pueda verificar si anda la carga de imágenes antes de realizar facturas?
En servicio para generar QR que tiene el workfow del n8n de prueba es un servicio publico y puede que eso falle, podrias buscar generar el QR desde algun nodo de n8n e insertarlo en el html antes de generar el PDF
Si, seguramente sea eso, intente con otras APIs y no anduvo tampoco. Me imagino que puedo generar el QR con alguna librería
Alguien tiene el flujo armado en producción funcionando? Tengo que armar uno que facture monotributo
Buen dia a todos/as tengo un mnton de preguntas soy nuevo en n8n y lo que quiero hacer es complejo para mi nivel, trabajo de administrativo en una empresa y hago las facturas , estos dias hago 200 aprox que son fijas mensuales, de abonos y durante el mes otras 100 que son repraciones y varian las fechas ,montos etc, arranco con la primer duda, puedo usar gratis afip sdk ? estoy tratando de hacer la configuracion de los pasos que hago yo en n8n pero es medio complejo
Si si con esa cantidad deberia alcanzarte el plan free
Pudiste ver ese tutorial? https://afipsdk.com/blog/crear-factura-electronica-de-arca-en-n8n/
Ahi lo lei gracias
Hola a todos es la primera vez que uso Discord, estoy en n8n investigando la manera de descargar los comprobantes emitidos y recibidos en un periodo de tiempo, tengo una parte avanzada, pero sigo trabado, si alguien lo hizo o le interesa el proyecto para avanzarlo buenísimo
@user Te escribí al privado
@user Te escribí al privado.
Buenas, tengo una duda, el codigo y la descripcion donde va cargada? yo cuando hago manualmente la factura en ARCA uso una extensión que se llama (asistente de facturas electrónicas) que ahi tengo los codigos con el servicio de acuerdo al cliente , y aca nose como agregarlos si alguien sabe, ayudaa, gracias.
Eso lo debes poner en el PDF, no se envia a ARCA
Hola! Quería saber como es en el caso de tener varios cuit para facturar. Soy nuevo por acá y estoy trabajando en un saas que ejecutara en el back n8n. Gracias!
Guía paso a paso
Hola, alguién más le esta dando este error: 503 - "{"statusCode":503,"message":"Los servidores de ARCA están congestionados. Espere unos minutos e intente nuevamente."}"
Ya llevo días que me sigue dando ese mismo error. Ya probé en crear otra credencial y todo pero no funcionó.
Me da el error con el método: FEXGetLast_ID en modo desarrollo
Ok, gracias por la respuesta Ivan
Buenas, todavía sigue funcionando mal?
A mi me sigue arrojando ese error
En homologación
Proba nuevamente ahora
Buenas a todos como va? nose si alguno me puede ayudar, estoy creando un flujo a partir de un video para automatizar la generacion de facturas para AFIP. Estoy teniendo unos problemas para llevarlo al entorno prod, no entiendo bien que es lo que tengo que ajustar o cambiar para que emita los comprobantes con total validez. Si alguno puede ayudarme y le envio mas detalles barbaro. Graciass
Esta es la guia https://docs.afipsdk.com/siguientes-pasos/ir-a-produccion en el caso de n8n en las requests http debes agregar el header Authorization con el access token correspondiente, ademas de los demas pasos de la guia, debes ver la pestaña "API"
"en las requests http debes agregar el header Authorization con el access token correspondiente" sisi eso ya lo tengo configurado, pero cuando ejecuto el workflow, no me tira ningun error, pero no se emite ningun comprobante
se genera una factura con un encabezado ESTE COMPROBANTE ES DE PRUEBA Y NO TIENE VALIDEZ
Para quitar eso debes agregar el access_token en la generacion del PDF tambien
hola ivan como estas? te queria preguntar si me podrias ayudar o orientarme un poco con un flujo que estuve tratando de hacer con el de arca en n8n
Podes comenzar por esta guia https://afipsdk.com/blog/crear-factura-electronica-de-arca-en-n8n/
Con workflow para importar directamente en tu proyecto.
Si ya la vi
En este caso el certificado cuenta como "computador fiscal" cuando generar un certificado ahi te aparece una lista para seleccionarlo
Perfecto, muchas gracias por contestar!
Buenas gente, voy con otra consulta jaj. Me sale el error No aparecio CUIT en lista de relaciones, ya hice todos los pasos de la Solución #1 de este artículo https://afipsdk.com/blog/solucion-a-no-aparecio-cuit-en-lista-de-relaciones/ sin éxito. Quiero probar la Solución #2 Envío esta info en el nodo get_authorization { "environment": "prod", "tax_id": "2338673129", "wsid": "wsfe", "cert": "-----BEGIN CERTIFICATE-----...", "key": "-----BEGIN PRIVATE KEY-----...", "force_create": true } y me sale el siguiente error. 400 - "{"statusCode":400,"data_errors":{"force_create":"El campo Forzar a crear nuevamente el TA es invalido"}}"
A alguien se le ocurre que puede ser? Desde ya muchas gracias
Pasos para resolver este error
Vinculaste el web service de ese CUIT con el certificado que estas usando?
Si si, tengo 2 computadores fiscales dados de alta y no logro saber cual esta vinculado al certidifcado que estoy usando. o que hice fue probar con uno, no me funcionó, luego desvinculé la relación, probe con el otro y tampoco
Como hiciste para desvincular la relacion?
Buenas gente como estan, buenas tardes. tengo una consulta porque no estoy pudiendo arreglar mi workflow. hasta hace unos dias andaba bien
El numero o fecha del comprobante no se corresponde con el proximo a autorizar. Consultar metodo FECompUltimoAutorizado.
me tira ese mensaje de error y por eso no puede devolver el CAE. alguien con ayuda?
leyendo https://docs.afipsdk.com/siguientes-pasos/web-services/factura-electronica#api
vas a tener que usar el método FECompUltimoAutorizado
nunca usé afipsdk pero en teoría devería devolverte un número
le sumás 1 y lo mandás en tu solicitud como número de comprobante
o acá parece que hay una guía que explica como usarlo, lo buscás como get_last_voucher_number
Con workflow para importar directamente en tu proyecto.
voy a revisar bien la documentacion gracias
Que estas enviando en el body?
primera vez q lo veo
Buen dia, alguien ya se le cruzo la parte de que un cliente realiza facturas con dias previos o posteriores? entiendo que no es posible hacerlo con n8n porq tienen que ser correlativas las fechas de las facturas, tienen idea de como puedo resolverlo???
Se puede generar con dias previos o posteriores, sigue aplicando la regla de que deben ser correlativas, es decir si emitiste una con fecha de hoy no podes emitir una con fecha de ayer, pero si la ultima que emitiste fue con fecha de hace 5 dias podes emitir una con fecha de hace cuatro dias
claro
ya trataste con esta cuestion de ver como se resuelve si el cliente quiere hacer lo que plantee? es literal o decirle al cliente q las haga al dia o usar dif puntos de venta
Podes usar diferente punto de venta como opcion
Buenasss, Arme un hermoso flujo para hacer todas las facturas de una empresa y en modo prueba funciono , todo bien perooo ahora con el cuit real no y estoy teniendo un problema con obtener un Token y Sign de AFIP el ERROR QUE RECIBO: HTTP 400 - "Error en el certificado. Si el error persiste, cree un certificado nuevo. Too few bytes to read ASN.1 value", El certificado fue generado hace menos de 1 semana, en n8n uso un nodo Code (JavaScript) para limpiar y reconstruir el PEM antes de enviarlo al nodo HTTP Request, si alguno le paso y lo puedo solucionar soy todo oidos o situaciones similares, graciasss
Hola, probablemente se este generando mal el PEM en el nodo de JS, podes verificar que el certificado nuevo efectivamente esta funcionando para descartar que el problema sea el certificado en si? Sino mostranos el código del nodo de JS (sin exponer datos sensibles)
Hola! como estas Lucas? Estoy teniendo problemas para enviar el certificado correctamente desde n8n 2.7.4 al endpoint POST /api/v1/afip/auth.
El certificado es válido (lo verifiqué con openssl x509 -noout -text y está vigente hasta 2028).
El error que recibo es: "Error en el certificado. Too few bytes to read ASN.1 value" Y a veces: "El certificado no es válido. Aseguráte de enviar el contenido del certificado (no la ruta del archivo)"
El código que uso en el nodo Code de n8n para limpiar el PEM:
function repararPEM(texto, titulo) {
let limpio = texto.replace(/^\uFEFF/, '');
limpio = limpio.replace(/-----(BEGIN|END)[^-]+-----/g, '');
limpio = limpio.replace(/\n/g, '');
limpio = limpio.replace(/\r/g, '');
limpio = limpio.replace(/[\r\n\s]/g, '');
limpio = limpio.replace(/[^A-Za-z0-9+/=]/g, '');
const lineas = limpio.match(/.{1,64}/g).join('\n');
return -----BEGIN ${titulo}-----\n${lineas}\n-----END ${titulo}-----;
}
Preguntas:
- ¿El cert y key deben enviarse con saltos de línea cada 64 chars o en una sola línea continua?
- ¿Hay algún ejemplo funcional del body exacto que esperan?
- ¿Puede ser que n8n esté escapando los \n al serializar el JSON y eso rompa el certificado?
Gracias!
1- Podes enviarlo con o sin saltos de linea 2- https://docs.afipsdk.com/integracion/n8n#usar-tu-propio-certificado-opcional 3- Es posible.
Fiajte de abrirlo en un editor de texto y pegalo directamente en el parametro cert sin saltos de linea aver si te funciona
Hola Gaston te comparto un ejemplo funcionando de un workflow que usa cert y key para que puedas importar y ver la implementacion. Solo tenes que reemplazar los valores del nodo Variables (copiar contenido de key y cert asi como esta).
lo pruebo muchas gracias
Holaa consulta la key debe enviarse con saltos de línea o en una sola línea? ¿Aceptan formato PKCS#8 (-----BEGIN PRIVATE KEY-----) o solo PKCS#1 (-----BEGIN RSA PRIVATE KEY-----)?"
asi nomas como esta en el archivo .crt y .key. Solo copias y pegas
Buen dia, me esta pasando que la factura se emite sale sin errores con mi cuit, pero cuando escaneo el qr de la factura me sale con el cuit de prueba, revise todo el flujo y el cuit de prueba no esta, y algo raro tambien es que en la pag de arca no me aparece el punto de venta con el que use para hacer la factura...
Buen dia, como estas generando el QR?