Shopify

Integra InvoCash con Shopify

Genera facturas VeriFactu automáticamente en cada pedido pagado en tu tienda Shopify. Integración vía webhooks.

Shopify

Facturación española en tu tienda Shopify

Shopify no genera facturas con los requisitos de VeriFactu exigidos en España. InvoCash soluciona este problema: registra un webhook en tu tienda Shopify para el evento orders/paid y tu backend recibirá los datos del pedido para crear automáticamente la factura homologada.

La integración es independiente de cualquier app de la Shopify App Store: tú controlas el proceso de facturación con la API de InvoCash y tu propio backend.

COMPATIBILIDAD
Shopify
API 2024-012023-102023-07Webhooks
Backend
Node.jsPHPPythonCualquier otro
Autenticación
HMAC-SHA256OAuth 2.0API Key
  • Webhook orders/paid de Shopify
  • Tu backend recibe notificación del pago
  • Soporte para múltiples canales de venta
  • Integración independiente, sin apps de Shopify
Cómo funciona

Integración en 3 pasos automáticos

1. Pago completado en Shopify

El cliente realiza el pago. Shopify registra el pedido y lo marca como pagado.

2. Tu backend procesa el evento

Tu servidor recibe la notificación del webhook orders/paid de Shopify y llama a la API de InvoCash para crear la factura.

3. Factura VeriFactu generada

InvoCash genera la factura, la valida con la AEAT y la envía por email al cliente con el PDF adjunto.

Antes de empezar

Requisitos previos

Código

Código de integración

1

Registra el webhook en Shopify

Desde el Admin de Shopify o via API, registra un webhook para el evento orders/paid apuntando a tu endpoint.

// Registrar webhook via Shopify Admin API
await fetch(`https://${SHOP}/admin/api/2024-01/webhooks.json`, {
  method:  'POST',
  headers: {
    'Content-Type':           'application/json',
    'X-Shopify-Access-Token': ACCESS_TOKEN,
  },
  body: JSON.stringify({
    webhook: {
      topic:   'orders/paid',
      address: 'https://tu-backend.com/webhooks/shopify/orders-paid',
      format:  'json',
    }
  }),
});
2

Recibe el webhook y crea la factura

// Express endpoint para recibir el webhook de Shopify
app.post('/webhooks/shopify/orders-paid', async (req, res) => {
  const order    = req.body;
  const taxBase  = parseFloat(order.subtotal_price);
  const taxAmt   = parseFloat(order.total_tax);
  const taxPctge = taxBase > 0 ? Math.round(taxAmt / taxBase * 100) : 21;

  await fetch('https://{su-tenant}.invo.cash/api/invoices', {
    method:  'POST',
    headers: { 'Content-Type': 'application/json', 'X-API-Key': API_KEY },
    body: JSON.stringify({
      verifactu_issuer_territory: 'MAINLAND',
      simplified:                 false,
      lines: order.line_items.map(item => ({
        description:             item.name,
        quantity:                item.quantity,
        unit_price:              parseFloat(item.price),
        tax_base:                parseFloat(item.price) * item.quantity,
        tax_pctge:               taxPctge,
        tax_amount:              parseFloat(item.price) * item.quantity * taxPctge / 100,
        tax_withholding_pctge:   0,
        tax_withholding_amount:  0,
        tax_type:                'IVA',
        clave_regimen:           '01',
        qualification_operation: 'S1',
        exempt_operation:        null,
        total:                   parseFloat(item.price) * item.quantity,
      })),
      total: parseFloat(order.total_price),
    }),
  });
  res.status(200).send('OK');
});

VeriFactu incluido automáticamente: todas las facturas creadas mediante la API de InvoCash se procesan con el sistema VeriFactu de la AEAT. Cumplimiento de la Ley Antifraude y el RD 1007/2023 sin ningún desarrollo adicional por tu parte.

Caso de uso

Tienda Shopify internacional con facturación española automática

Pago realizado
Webhook orders/paid
API InvoCash
Factura en Invocash

Una marca de cosmética con tienda Shopify que vende a clientes españoles necesitaba cumplir con VeriFactu sin migrar de plataforma. Un webhook hacia un backend Node.js conectado a InvoCash genera automáticamente la factura española para cada pedido pagado, mientras Shopify sigue gestionando el resto del proceso de venta sin cambios.

Contacto

¿Necesitas ayuda con la integración?

Nuestro equipo técnico te acompaña en todo el proceso. Sin compromiso.