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

Realizar Constatación de Comprobantes de ARCA en n8n

Validá comprobantes automáticamente con el workflow de Afip SDK.


Realizar Constatación de Comprobantes de ARCA en n8n

Si todavía no probaste la constatación de comprobantes con la API, comenzá por esta guía base:

Realizar constatación de comprobantes de ARCA via API

Realizar constatación de comprobantes de ARCA via API

Con pocas líneas de código

En este artículo vas a importar un workflow de n8n que autentica contra ARCA, envía la solicitud ComprobanteConstatar a través de Afip SDK y devuelve la respuesta en un archivo descargable. Es ideal para automatizar controles internos o validar comprobantes recibidos de forma recurrente.

Descargá el archivo afip-sdk-constatacion-de-comprobantes.json y agregalo en tu proyecto de n8n.


Para operar con el servicio Constatación de Comprobantes (WSCDC) necesitás un certificado digital. En entorno de desarrollo podés usar el CUIT 20409378472 provisto por Afip SDK sin tramitar certificados propios.

Si deseás usar tu certificado más adelante, seguí los pasos de la documentación para n8n.


Requisitos previos

Antes de comenzar, asegurate de contar con:

  • Un access_token de Afip SDK.
  • Los datos del comprobante a verificar: CUIT emisor, tipo y punto de venta, número, fecha, importe y CAE/CAI.

Vamos a usar los nodos oficiales de Afip SDK, por lo tanto, deberás configurar el credential en n8n y setear tu ACCESS_TOKEN en cualquier nodo de AfipSdk con la opción Set up credential completando el campo Bearer Token.


Índice

  1. Introducción
  2. Estructura del Workflow en n8n
  3. Paso a Paso de la Implementación
  4. Ajustar los datos del comprobante
  5. Problemas comunes
  6. Conclusiones

Introducción

El servicio de constatación permite validar si un comprobante electrónico fue autorizado por ARCA. Con Afip SDK simplificamos el acceso a este web service exponiendo un endpoint unificado en nuestra API de integración. El workflow de n8n que te proponemos ejecuta la autenticación en WSCDC y luego envía la petición ComprobanteConstatar, devolviendo el resultado en cuestión de segundos.


Estructura del Workflow en n8n

El flujo está compuesto por cuatro nodos conectados en secuencia:

  1. manual_trigger: Punto de partida manual para ejecutar el flujo.
  2. auth: Request HTTP para obtener Token y Sign del servicio WSCDC.
  3. constatar: Request HTTP que envía el método ComprobanteConstatar con los datos del comprobante.
  4. Convert to File: Convierte la respuesta en un archivo JSON descargable.

En la imagen debajo puedes ver cómo luce visualmente el workflow, lo cual ayuda a comprender la secuencia de nodos.

Workflow en n8n

Paso a Paso de la Implementación

1. Nodo: manual_trigger

  • Función: Permite disparar la constatación bajo demanda desde el canvas de n8n.
  • Configuración: Sin parámetros adicionales.

2. Nodo: auth

  • Nodo: Get authorization token (TA) de Afip SDK
  • Objetivo: Autenticarte contra WSCDC y obtener Token y Sign.
  • Body:
    {
      "environment": "dev",
      "tax_id": "20409378472",
      "wsid": "wscdc"
    }
    
  • Resultado esperado: El nodo devuelve token, sign y expirationTime, que se encadenan automáticamente al siguiente paso.

3. Nodo: constatar

  • Nodo: Execute web service request de Afip SDK
  • Objetivo: Ejecutar el método ComprobanteConstatar del servicio WSCDC.
  • Body:
    {
      "environment": "dev",
      "method": "ComprobanteConstatar",
      "wsid": "wscdc",
      "params": {
        "Auth": {
          "Token": "{{$json.token}}",
          "Sign": "{{$json.sign}}",
          "Cuit": "20409378472"
        },
        "CmpReq": {
          "CbteModo": "CAE",
          "CuitEmisor": 20409378472,
          "PtoVta": 1,
          "CbteTipo": 11,
          "CbteNro": 3850,
          "CbteFch": 20250225,
          "ImpTotal": 100,
          "CodAutorizacion": "75082223003046",
          "DocTipoReceptor": "80",
          "DocNroReceptor": "33693450239"
        }
      }
    }
    
  • Resultado esperado: Recibirás el resultado de la constatación, incluyendo el estado Resultado y los detalles del comprobante.

4. Nodo: Convert to File

  • Función: Transformar la respuesta en un archivo binario.
  • Configuración:
    • Operation: toJson
    • Binary Property: result.json
    • File Name: result.json
  • Resultado: Podés descargar el archivo desde la ejecución del workflow para compartirlo o almacenarlo como evidencia.

Ajustar los datos del comprobante

Actualizá los campos dentro de CmpReq con el comprobante que querés validar. Los más importantes son:

  • CuitEmisor, DocTipoReceptor, DocNroReceptor: Identifican emisor y receptor.
  • CbteTipo, PtoVta, CbteNro: Identifican el comprobante.
  • CbteFch (formato yyyymmdd) y ImpTotal.
  • CodAutorizacion: El CAE o CAI informado en el comprobante.

Consultá la documentación del web service WSCDC para ver la lista completa de campos y valores permitidos.


Problemas comunes

  • Token expirado: Si vuelve un error 403 en el nodo constatar, verificá que no haya pasado demasiado tiempo entre la autenticación y la consulta.
  • Datos inconsistentes: El servicio puede devolver Resultado = "A" (aprobado) o "O"/"R" (observado/rechazado). Revisá cada campo cuando recibas un resultado diferente al esperado.
  • Errores de validación: Mensajes como CbteFch invalida indican que el formato de fecha no es correcto (yyyymmdd).

Conclusiones

Este workflow concentra toda la lógica necesaria para validar un comprobante en cuestión de segundos usando n8n. Podés integrarlo con otros nodos para registrar resultados en tu ERP, enviar notificaciones o frenar procesos de pago automáticamente.

Si tenés dudas o necesitás ayuda adicional, visitá la Comunidad Afip SDK y compartí tu experiencia con otros desarrolladores.

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.