Resolución N° 5.616/2024. Más información

Descargar Mis Comprobantes de ARCA en n8n

Automatizá la descarga de comprobantes emitidos o recibidos con Afip SDK.


Descargar Mis Comprobantes de ARCA en n8n

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

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:

Recordá que cada request HTTP al dominio app.afipsdk.com debe incluir el header Authorization: Bearer TU_ACCESS_TOKEN.


Índice

  1. Introducción
  2. Estructura del Workflow en n8n
  3. Paso a Paso de la Implementación
  4. Personalizar filtros
  5. Problemas comunes
  6. 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:

  1. manual_trigger: Inicia la ejecución bajo demanda.
  2. variables: Define el access_token que se reutiliza en todos los requests.
  3. create_automation: Crea la automatización mis-comprobantes en Afip SDK con los filtros deseados.
  4. Wait: Detiene el flujo hasta que la automatización cambie de estado.
  5. get_details: Consulta periódicamente el estado de la automatización.
  6. If: Evalúa si la automatización sigue en proceso y, en ese caso, vuelve al nodo Wait.
  7. Convert to File: Genera un archivo result.json con 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_token en un Set Node para referenciarlo en los headers.
  • Configuración: Define una variable access_token con el valor TU_ACCESS_TOKEN.
  • Tip: Podés reemplazarlo por una credencial de tipo HTTP Request si 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 id y el status inicial (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, complete o error) y, cuando finaliza, los datos descargados.
  • Configuración extra: El nodo está configurado con Always Output Data y Continue On Fail para 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
  • 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 formato dd/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 complete pero 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.

Conéctate a ARCA hoy mismo

Evitá la complejidad de ARCA. Con Afip SDK integrás tu sistema en minutos y te enfocás en hacer crecer tu negocio.