Tens sort. El teu negoci ven molt. En Black Friday o rebaixes, els comandes entren a ritme de metralladora. Però aquesta velocitat té un preu ocult si la teva integració no està ben dissenyada: els duplicats fiscals.

El pitjor d'un duplicat fiscal no és que l'ERP tingui porqueria. És que estàs declarant el doble d'ingressos i pagant el doble d'IVA per una venda que només has fet una vegada. I hisenda no et tornarà els diners si no ho rectifiques a temps.

El problema de la 'doble veritat'

Molts plugins de facturació funcionen així: quan el client paga, WooCommerce genera una factura (PDF) i l'envia al client. Al mateix temps (o després), envia la comanda a l'ERP, que... sorpresa! Genera la seva pròpia factura.

Ara tens la factura #1001 a WooCommerce i la factura F-2024-500 a l'ERP. Dues sèries diferents. Dos documents legals. Una sola venda. Quin dels dos declares? Si el teu gestor agafa les dades de l'ERP i tu has enviat al client la de WooCommerce, teniu un problema de coherència documental.

L'atac dels clons (Race Conditions)

A vegades el problema és purament tècnic. Imagineu aquest escenari:

  • 1. WooCommerce envia la comanda a l'ERP.
  • 2. L'ERP triga a respondre (està saturat).
  • 3. El connector es pensa que ha fallat i ho reintenta (Retry).
  • 4. L'ERP finalment processa la primera petició. I després la segona.
  • 5. Resultat: Dues factures idèntiques, amb numeració diferent, al teu llibre de vendes.

Com detectar-ho abans de l'inspector

Posa't la gorra d'auditor i fes aquestes comprovacions ràpides:

  • Comprova IDs externs: El teu ERP ha de tenir un camp 'ID Comanda Web'. Si veus dos registres diferents amb el mateix ID Web, tens duplicats.
  • Revisa hores de creació: Si veus dues factures pel mateix import, mateix client, creades amb mil·lisegons de diferència, és un error de 'race condition'.
  • Audita les sèries: Si WooCommerce fa factures, assegura't que l'ERP NO en fa, o que simplement 'importa' el PDF sense generar nou número.

La solució: Idempotència

Paraula tècnica, solució màgica. Un sistema idempotent garanteix que, encara que enviïs la mateixa comanda 50 vegades, l'ERP només la crearà una vegada. Si rep la segona, detecta que ja existeix i no fa res (o actualitza l'existent).

Sense idempotència, qualsevol error de xarxa es converteix en un error fiscal.

👉 Entén com l'arquitectura d'events soluciona això