Descargar Mis Comprobantes de ARCA en n8n
Automatizá la descarga de comprobantes emitidos o recibidos con Afip SDK.
Si todavía no conocés cómo funciona el servicio Mis Comprobantes en Afip SDK, te recomiendo revisar primero la guía para usar la API directamente.
Descargar Mis Comprobantes de ARCA via API
Con pocas líneas de código
A continuación vas a encontrar una guía paso a paso para importar y entender el workflow de n8n que descarga comprobantes de ARCA usando Afip SDK. Está pensado para que adaptes los filtros a tus necesidades y puedas reutilizarlo como parte de un flujo mayor.
Te dejo el archivo afip-sdk-mis-comprobantes.json para que lo importes en tu instancia de n8n antes de continuar.
Requisitos previos
Antes de seguir la guía asegurate de tener:
- Un access_token de Afip SDK.
- Un usuario y contraseña válidos para ingresar a ARCA.
Recordá que cada request HTTP al dominio app.afipsdk.com debe incluir el header Authorization: Bearer TU_ACCESS_TOKEN.
Índice
- Introducción
- Estructura del Workflow en n8n
- Paso a Paso de la Implementación
- Personalizar filtros
- Problemas comunes
- Conclusiones
Introducción
El servicio Mis Comprobantes de ARCA permite consultar los comprobantes emitidos o recibidos. Con Afip SDK esta operación se expone como una automatización lista para usar desde nuestra API de automations. El workflow de n8n que acompaña esta nota crea la automatización, espera a que finalice y descarga los resultados como un archivo JSON listo para almacenar o compartir con otros sistemas.
Estructura del Workflow en n8n
El flujo está compuesto por siete nodos conectados de forma secuencial y con un lazo de espera:
- manual_trigger: Inicia la ejecución bajo demanda.
- variables: Define el
access_tokenque se reutiliza en todos los requests. - create_automation: Crea la automatización
mis-comprobantesen Afip SDK con los filtros deseados. - Wait: Detiene el flujo hasta que la automatización cambie de estado.
- get_details: Consulta periódicamente el estado de la automatización.
- If: Evalúa si la automatización sigue en proceso y, en ese caso, vuelve al nodo Wait.
- Convert to File: Genera un archivo
result.jsoncon el contenido devuelto por Afip SDK.
Paso a Paso de la Implementación
1. Nodo: manual_trigger
- Función: Ejecutar el workflow cuando lo necesites desde la interfaz de n8n.
- Configuración: No requiere parámetros adicionales.
2. Nodo: variables
- Objetivo: Guardar el
access_tokenen un Set Node para referenciarlo en los headers. - Configuración: Define una variable
access_tokencon el valorTU_ACCESS_TOKEN. - Tip: Podés reemplazarlo por una credencial de tipo
HTTP Requestsi preferís mantener el token encriptado dentro de n8n.
3. Nodo: create_automation
- Objetivo: Crear la automatización
mis-comprobantes. - Endpoint:
POST https://app.afipsdk.com/api/v1/automations - Headers:
Authorization: Bearer {{ $('variables').item.json.access_token }}Content-Type: application/json
- Body:
{ "automation": "mis-comprobantes", "params": { "cuit": "20111111112", "username": "20111111112", "password": "contraseña#segura?", "filters": { "t": "R", "fechaEmision": "01/01/2024 - 31/01/2024" } } } - Resultado esperado: El nodo devuelve el
idy elstatusinicial (in_process) de la automatización creada.
4. Nodo: Wait
- Función: Controlar la frecuencia de consulta al estado.
- Configuración: Utiliza el modo “Wait Time” por defecto; podés ajustar la duración según tus necesidades (por ejemplo, 5 segundos).
- Detalle: Se ejecuta en un bucle porque el nodo If puede redirigir el flujo de vuelta a este punto mientras la automatización esté procesando.
5. Nodo: get_details
- Objetivo: Consultar el estado actual de la automatización.
- Endpoint:
GET https://app.afipsdk.com/api/v1/automations/{{$json["id"]}} - Headers:
Authorization: Bearer {{ $('variables').item.json.access_token }}
- Resultado esperado: Devuelve el
status(in_process,completeoerror) y, cuando finaliza, los datos descargados. - Configuración extra: El nodo está configurado con
Always Output DatayContinue On Failpara que el flujo no se corte ante errores temporales.
6. Nodo: If
- Objetivo: Evaluar si el estado sigue siendo
in_process. - Condición:
{{$json.status}} equals in_process - Ramas:
- True: Redirige al nodo Wait para volver a consultar.
- False: Continúa con el nodo Convert to File y termina la ejecución.
7. Nodo: Convert to File
- Función: Convertir la respuesta final en un archivo descargable.
- Configuración:
- Operation:
toJson - Binary Property:
result.json - File Name:
result.json
- Operation:
- Resultado: Una vez que la automatización finaliza, podés descargar el archivo con todos los comprobantes desde el panel de ejecuciones de n8n.
Personalizar filtros
El nodo create_automation replica los filtros disponibles en la automatización Mis Comprobantes. Para cambiar el alcance de la búsqueda editá el objeto filters con las claves admitidas:
t: Define si buscás comprobantes emitidos (E) o recibidos (R).fechaEmision: Rango de fechas en formatodd/mm/yyyy - dd/mm/yyyy.puntosVenta,tiposComprobantes,comprobanteDesde,comprobanteHasta,tipoDoc,nroDoc,codigoAutorizacion: Campos opcionales para filtrar con mayor precisión.
Recordá mantener el formato de fechas y utilizar arrays para los campos que admiten múltiples valores.
Problemas comunes
- Credenciales inválidas: Si el nodo create_automation devuelve un error 401, verificá que el token esté vigente y que el usuario/contraseña de ARCA sean correctos.
- Automatización sin resultados: Es posible que la automatización finalice en
completepero con un array vacío. Revisá los filtros aplicados, especialmente el rango de fechas y los puntos de venta. - Demora en el procesamiento: Para empresas con muchos comprobantes, ampliá el tiempo del nodo Wait para evitar llegar al límite de peticiones concurrentes.
Conclusiones
Con este workflow podés automatizar la descarga de comprobantes de ARCA en cuestión de minutos y dejar que n8n se encargue de la espera y la conversión de resultados. Aprovechá la estructura para integrarla con otras herramientas, por ejemplo subiendo el archivo a un almacenamiento en la nube o notificando por email cuando finalice la descarga.
Ante cualquier duda, sumate a la Comunidad Afip SDK y compartí tus experiencias automatizando tareas con n8n.