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

Facturar ventas de Producteca con ARCA en n8n

Tutorial para facturar órdenes centralizadas en Producteca con ARCA usando n8n, Afip SDK y un flujo de normalización para marketplaces y tiendas.


Facturar ventas de Producteca con ARCA en n8n

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


Producteca no debe tratarse como una tienda más. Es una plataforma omnicanal que centraliza ventas de marketplaces, tiendas, ERPs y logística. Además, su API pública no funciona como una API abierta self-service para cualquier cliente; Producteca documenta que la integración directa se resuelve mediante su servicio External-API y credenciales/webhooks habilitados para la cuenta.

Por eso el tutorial se enfoca en el caso real: Producteca como hub de órdenes, n8n como orquestador fiscal y Afip SDK como emisor de comprobantes.

Documentación útil:

Cómo funciona la integración

  1. Producteca recibe ventas de Mercado Libre, Shopify, Tiendanube, VTEX, WooCommerce u otros canales.
  2. Producteca normaliza la orden y su canal de origen.
  3. n8n recibe la orden desde External-API, Webhook o consulta programada habilitada por Producteca.
  4. n8n identifica canal, seller, datos fiscales y estado de pago.
  5. n8n emite con Afip SDK.
  6. n8n devuelve CAE, número de comprobante y PDF al sistema definido: Producteca, ERP o backoffice.

Paso 1: definir el modo de integración con Producteca

Antes de escribir el workflow, confirmá con Producteca cuál de estos modelos tenés habilitado:

  • External-API para consultar órdenes desde tu sistema.
  • Webhooks configurados desde la sección de API/credenciales.
  • Sincronización contra un ERP intermedio.

Si la cuenta no tiene API/External-API habilitada, n8n no debería intentar scrapear ni acceder por caminos no soportados. El camino correcto es pedir a Producteca la integración.

Paso 2: recibir o consultar órdenes

Si tenés Webhook:

  • Nodo Webhook en n8n.
  • Producteca envía evento de orden o cambio de estado.
  • n8n usa el id de orden para consultar detalle si el payload no viene completo.

Si tenés consulta programada:

  • Nodo Schedule Trigger.
  • Nodo HTTP Request contra el endpoint acordado con Producteca.
  • Filtro por órdenes pagadas y no facturadas.

Paso 3: identificar canal de origen

La ventaja de Producteca es centralizar ventas, pero el canal sigue importando. No todas las órdenes traen la misma calidad de datos fiscales.

En n8n, armá un switch por canal:

  • Mercado Libre: validar buyer/order/payment ids y posibles packs.
  • Shopify: buscar CUIT en atributos o metafields sincronizados.
  • Tiendanube: revisar campos extra del checkout.
  • VTEX: verificar seller y marketplace.
  • WooCommerce: usar order meta de facturación.

Paso 4: armar un payload fiscal unificado

Ejemplo de nodo Code:

const order = $json;

return [{
  json: {
    externalId: `producteca:${order.id}`,
    channel: order.channel || order.source,
    originalOrderId: order.external_id || order.marketplace_order_id,
    customer: {
      taxId: order.billing?.tax_id,
      name: order.billing?.company || order.billing?.name,
      ivaCondition: order.billing?.iva_condition,
    },
    items: (order.items || []).map((item) => ({
      sku: item.sku,
      description: item.title || item.name,
      quantity: item.quantity,
      unitPrice: item.price,
    })),
    totals: order.totals,
  },
}];

Los nombres exactos de campos dependen del contrato External-API habilitado. Lo importante es no perder:

  • Canal.
  • Id original de la orden.
  • Id Producteca.
  • Datos fiscales.
  • Items.
  • Descuentos y envío.

Paso 5: validar antes de facturar

Antes de Afip SDK:

  • La orden debe estar pagada.
  • No debe tener comprobante previo.
  • Debe tener canal y seller definidos.
  • Debe tener datos fiscales suficientes.
  • Debe indicar si factura Producteca, el ERP o el vendedor.

Si Producteca ya está conectado a un ERP que factura, no dupliques. En ese caso n8n puede emitir desde el ERP y usar Producteca sólo como origen de eventos.

Paso 6: emitir con Afip SDK

El tramo de Afip SDK:

  1. Obtener autorización wsfe.
  2. Consultar último comprobante.
  3. Crear factura con FECAESolicitar.
  4. Generar el PDF con el template de Afip SDK.

Clave de idempotencia recomendada:

producteca:{order.id}:{channel}:{originalOrderId}

Paso 7: devolver el resultado

Según el contrato:

  • Actualizá Producteca con CAE, comprobante y PDF.
  • O actualizá el ERP y dejá Producteca como canal operativo.
  • O guardá el comprobante en un backoffice propio.

No dejes sólo el PDF. Guardá datos estructurados: tipo, punto de venta, número, CAE y vencimiento.

Errores comunes

  • Asumir que Producteca tiene una API pública abierta para cualquier cuenta.
  • Perder el canal de origen y facturar todo con la misma regla.
  • No distinguir órdenes de marketplace vs tienda propia.
  • Facturar dos veces una orden reimportada.
  • Confiar en datos fiscales incompletos del canal original.

Cierre

Producteca sirve para centralizar la operación. Para facturación, n8n debe respetar el contrato de integración habilitado, conservar el canal original y usar Afip SDK sólo cuando la orden esté lista y validada fiscalmente.

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.