Skip to main content

Integración de Facturear con ERP

Integrar Facturear a tu sistema ERP permite emitir facturas electrónicas directamente desde tu sistema de gestión, sin entrar al portal de ARCA. Esta guía cubre los patrones de integración más comunes.

Arquitectura de integración

Tu sistema envía los datos de la factura a POST https://www.facture.ar/api/invoices. Facturear la encola, se comunica con ARCA y obtiene el CAE; tu sistema consulta el resultado con el batchId que recibió al enviarla.

Flujo de integración típico


Datos mínimos para la integración

Tu ERP debe proveer estos datos para cada factura. Van todos en el primer nivel, con los nombres que usa ARCA (ver Primera factura con Facturear para el detalle de cada campo):
ptoVta, invoiceType y concepto pueden salir de los defaults del CUIT, y si mandás un array de hasta 500 facturas se procesan como un lote.

Integración con sistemas comunes

Odoo

Odoo tiene un módulo de facturación electrónica argentina. Podés usar la API de Facturear como backend de facturación creando un módulo personalizado:
En producción, no bloquees la confirmación de la factura esperando a ARCA: guardá el batchId y consultalo desde una tarea programada (ver Cola de trabajo).

Tango Gestión

Para Tango, la integración se hace mediante:
  1. El módulo de Exportación de Facturación de Tango
  2. Un script que lee los archivos exportados y llama a la API de Facturear
  3. Un script que importa los resultados (CAE) de vuelta a Tango

SAP

Para SAP (B1 o S/4HANA), la integración se implementa mediante:
  • Un Add-on o extensión de SAP
  • O un proceso de middleware (usando herramientas como MuleSoft, Boomi, o un servicio propio)

Manejo de errores en la integración

Hay dos momentos en que una factura puede fallar: al enviarla (la API responde 400 si los datos no son válidos, o 403 con code: "SUBSCRIPTION_LIMIT_EXCEEDED" si superaste el límite de tu plan) y al procesarla (el ítem del lote queda en error con los mensajes de ARCA en responseBody).

Cola de trabajo para alta disponibilidad

Para producción, implementá un sistema de cola:
  1. El ERP encola la factura en lugar de llamar directamente a la API
  2. Un worker procesa la cola y llama a Facturear
  3. Si falla, el worker reintenta con backoff exponencial, mandando siempre el mismo header Idempotency-Key para esa factura: si el primer intento sí había llegado, Facturear devuelve el mismo batchId en vez de encolarla otra vez. Ver Reintentar sin duplicar facturas
  4. El ERP consulta el lote con GET /api/invoices/batches/{batchId} o recibe el resultado por webhook (invoice.completed/invoice.failed)
  5. Si un ítem falló por un error transitorio (ARCA caído, timeout), reintentalo con POST /api/invoices/batches/{batchId}/items/{itemId}/retry

Notificaciones asíncronas

Consultá el lote o suscribite a invoice.completed/invoice.failed con webhooks: el ERP recibe el CAE (o los errores de ARCA) apenas la factura se procesa, sin hacer polling. Con batch.completed te enterás cuando termina un lote entero. Verificá la firma de cada envío y usá el id del evento para no procesarlo dos veces.

Recursos relacionados


Integrá tu ERP con Facturear

Conectá tu sistema de gestión a la API de Facturear y automatizá la facturación electrónica desde tu ERP.