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

Facturar ventas de SAP con ARCA en n8n

Tutorial para conectar SAP con n8n y Afip SDK, autorizar comprobantes electrónicos de ARCA y devolver el resultado fiscal al documento comercial.


Facturar ventas de SAP con ARCA en n8n

Descargá el workflow sap-arca-invoice.json para importarlo en n8n y adaptarlo a tu cuenta de SAP.


SAP no es una integración única: puede ser SAP Business One, SAP S/4HANA, SAP Business ByDesign o un landscape con middleware. Para n8n, el enfoque correcto es no reemplazar SAP, sino tomar el documento comercial aprobado, emitir en ARCA con Afip SDK y devolver los datos fiscales.

Documentación útil:

Cómo funciona la integración

  1. SAP crea o aprueba un documento comercial.
  2. n8n detecta documentos pendientes de autorización fiscal.
  3. n8n lee cliente, sociedad, items, impuestos y totales desde SAP.
  4. n8n valida punto de venta, CUIT emisor y tipo de comprobante.
  5. Afip SDK autoriza la factura en ARCA.
  6. n8n actualiza SAP con CAE, vencimiento, número y PDF.

Paso 1: elegir el punto de integración

Opciones comunes:

  • SAP Business One Service Layer.
  • SAP S/4HANA OData APIs.
  • Middleware corporativo que ya expone documentos listos para facturar.
  • Tabla/interfaz de salida aprobada por el equipo SAP.

No conviene que n8n lea datos a medio completar. El documento debe estar aprobado por SAP o por el middleware.

Paso 2: disparar n8n

Hay dos modelos:

  • Push: SAP o middleware llama un Webhook de n8n con el id del documento.
  • Pull: n8n corre por cron y busca documentos con estado pending_arca.

Para SAP suele ser más seguro el modelo pull contra una vista o endpoint de documentos pendientes, porque permite reintentos controlados y auditoría.

Paso 3: leer el documento desde SAP Business One

Ejemplo conceptual con Service Layer:

GET https://sap.example.com:50000/b1s/v2/Invoices(123)
Cookie: B1SESSION={{ $env.SAP_B1_SESSION }}

También puede ser Sales Order, Delivery o Draft según el circuito de la empresa. Lo importante es que SAP defina cuál documento se convierte en comprobante fiscal.

Leé:

  • Business Partner.
  • Federal Tax ID.
  • Document lines.
  • Tax codes.
  • Totals.
  • Currency.
  • Branch o sociedad.
  • Documento interno.

Paso 4: leer desde S/4HANA

En S/4HANA normalmente se usan APIs OData para Sales Orders o Billing Documents. n8n debe consumir el endpoint acordado con Basis/integraciones y no inventar el flujo.

Campos mínimos:

  • Sales organization o company code.
  • Sold-to party.
  • Tax number.
  • Billing document o sales order.
  • Items.
  • Taxes.
  • Currency.

Paso 5: no recalcular contabilidad

SAP suele ser la fuente contable. n8n no debería cambiar importes, sino transformar al formato de ARCA.

Ejemplo de objeto intermedio:

const sap = $json;

return [{
  json: {
    externalId: `sap:${sap.DocEntry || sap.BillingDocument}`,
    companyCode: sap.CompanyCode,
    customerTaxId: sap.FederalTaxID || sap.TaxNumber,
    customerName: sap.CardName || sap.CustomerName,
    currency: sap.DocCurrency || sap.TransactionCurrency,
    totalAmount: Number(sap.DocTotal || sap.TotalGrossAmount),
    items: (sap.DocumentLines || sap.Items || []).map((line) => ({
      code: line.ItemCode || line.Material,
      description: line.ItemDescription || line.Description,
      quantity: Number(line.Quantity),
      unitPrice: Number(line.UnitPrice || line.NetPriceAmount),
      taxCode: line.TaxCode,
    })),
  },
}];

Paso 6: emitir con Afip SDK

El flujo fiscal:

  1. Autorización para wsfe.
  2. FECompUltimoAutorizado.
  3. FECAESolicitar.
  4. Generar el PDF con el template de Afip SDK.

Clave de idempotencia:

sap:{companyCode}:{documentId}

Si hay sucursales o sociedades, mapeá cada una a CUIT y punto de venta.

Paso 7: actualizar SAP

Después de ARCA:

  • Guardá CAE.
  • Guardá vencimiento de CAE.
  • Guardá tipo, punto de venta y número.
  • Adjuntá PDF o URL del PDF.
  • Cambiá estado fiscal a autorizado.

Si SAP no permite escribir esos campos directamente, hacelo mediante el middleware o una tabla de integración.

Errores comunes

  • Facturar desde Sales Order cuando el circuito real factura desde Billing Document.
  • Recalcular impuestos fuera de SAP.
  • No mapear company code a CUIT y punto de venta.
  • No manejar moneda extranjera.
  • No coordinar reversas: cancelaciones y credit memos deben tener su flujo fiscal separado.

Cierre

SAP debe seguir siendo la fuente contable. n8n toma documentos aprobados, Afip SDK autoriza ante ARCA y el resultado vuelve a SAP o al middleware con trazabilidad completa.

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.