ERP, fatturazione e riconciliazione bancaria
Invia pagamenti e preventivi accettati al tuo ERP e riconcilia automaticamente le tue transazioni bancarie con i pagamenti in sospeso, tutto nel modello BYO (l'ERP e la banca sono tuoi).
Questa integrazione è un connettore generico, neutro e globale per le tue operazioni finanziarie, con due capacità indipendenti: (1) inviare dati al tuo ERP/sistema contabile quando un pagamento viene confermato o un preventivo viene accettato; e (2) ricevere transazioni dalla tua banca (tramite Open Banking, un aggregatore finanziario come Plaid, Tink o TrueLayer, o la banca stessa) e riconciliarle automaticamente con i pagamenti in sospeso. Funziona in qualsiasi paese e valuta, con qualsiasi ERP (QuickBooks, Xero, NetSuite, SAP, tra gli altri) e qualsiasi banca. Modello BYO: gli account e le credenziali sono tuoi; non c'è alcun costo da parte nostra.
Entrambe partono inattive: non succede nulla finché non le configuri e attivi. I segreti (chiave API ERP e webhook secret bancario) vengono memorizzati cifrati e non vengono mai più mostrati.
Prerequisiti
- ERP/Fatturazione: un endpoint HTTP nel tuo ERP (QuickBooks, Xero, NetSuite, SAP o un altro) in grado di ricevere un POST JSON, e la credenziale per autenticarlo (chiave API o token).
- Riconciliazione bancaria: un account presso una banca o un aggregatore Open Banking (Plaid, Tink, TrueLayer o la banca stessa) in grado di inviare webhook di transazione e di firmarli con HMAC-SHA256.
- In Sellio, accesso da amministratore per salvare e attivare i connettori in Impostazioni → Integrazioni.
ERP / Fatturazione (invio)
Quando un pagamento viene confermato (dal webhook del provider di pagamento o dalla riconciliazione bancaria), o quando il preventivo collegato viene accettato, il CRM effettua un POST verso il tuo endpoint ERP con un JSON nel formato { event, data, source, sentAt }. L'event indica il fatto (ad esempio, payment.paid) e i data contengono i campi (importo, valuta, riferimento, id di preventivo/opportunità).
- Apri Impostazioni → Integrazioni e vai alla scheda "ERP / Fatturazione".
- Endpoint (URL): incolla l'indirizzo del tuo ERP che riceve il POST (es. https://erp.tuaazienda.com/api/webhooks/crm).
- Header di autenticazione e Prefisso: inserisci come autenticare (es. Authorization con prefisso "Bearer ", oppure un header personalizzato come X-Api-Key senza prefisso).
- Chiave API: incolla la chiave del tuo ERP. Viene memorizzata cifrata.
- Salva il connettore, usa "Invia test" per convalidare e poi clicca su Attiva. L'invio automatico avviene solo con il connettore ATTIVATO.
Riconciliazione bancaria (ricezione)
Punti il webhook della tua banca/Open Banking all'URL generato dal CRM. Per ogni transazione ricevuta (un JSON con importo, valuta, riferimento/descrizione e un id esterno), il CRM cerca un pagamento IN SOSPESO che corrisponde e lo contrassegna come pagato.
- Nella scheda "Riconciliazione bancaria", inserisci il Webhook secret (la chiave usata per firmare le chiamate) e salva.
- Genera l'URL del webhook e incollalo nella tua banca/Open Banking/aggregatore.
- Configura il provider affinché firmi il corpo di ogni chiamata con HMAC-SHA256 e invii la firma nell'header X-Signature (esadecimale o base64, con o senza il prefisso sha256=).
- Attiva l'integrazione.
Come funziona la corrispondenza
Il CRM riconcilia in modo conservativo (sono soldi, quindi non tira mai a indovinare) e indipendente dal paese: (1) filtra i pagamenti in sospeso per l'importo esatto e, quando la transazione riporta la valuta, per la stessa valuta; (2) se la transazione porta un riferimento/descrizione, preferisce il pagamento il cui identificatore (id, id esterno, preventivo o opportunità) appare in quel riferimento; (3) senza riferimento per spareggiare, riconcilia solo se esiste esattamente un pagamento in sospeso con quell'importo. Se più pagamenti hanno lo stesso importo e nulla li distingue, la transazione rimane non riconciliata (da gestire manualmente).
Come testare
- ERP: con il connettore attivato, clicca su "Invia test" nella scheda "ERP / Fatturazione" e conferma nel tuo ERP che il POST sia arrivato (cerca il record/log del webhook ricevuto).
- Riconciliazione bancaria: crea un pagamento in sospeso con un importo unico e genera (o simula) una transazione nella tua banca/aggregatore con lo stesso importo e un riferimento che citi il preventivo/opportunità. Verifica che il pagamento sia diventato "Pagato".
- Controlla la cronologia/log dell'integrazione per vedere le chiamate ricevute e il risultato della riconciliazione.
Risoluzione dei problemi
- "Invia test" fallisce con 401/403: la chiave API ERP è errata o l'header/prefisso di autenticazione non corrisponde. Incolla di nuovo la chiave e controlla il nome dell'header (es. Authorization "Bearer ", o X-Api-Key).
- 404 durante l'invio: l'endpoint ERP è errato o la route non esiste. Conferma l'URL completo che riceve il POST.
- Firma non valida sulla riconciliazione (webhook rifiutato): il webhook secret nel CRM è diverso da quello usato dalla banca per firmare, oppure la firma non arriva nell'header X-Signature (HMAC-SHA256, esadecimale o base64). Allinea lo stesso secret su entrambi i lati.
- La transazione non si riconcilia: potrebbe esserci più di un pagamento in sospeso con lo stesso importo e nessun riferimento per spareggiare, quindi includi l'id/preventivo nella descrizione della transazione, oppure riconcilia manualmente. Verifica anche che la valuta corrisponda.
- Non succede nulla all'invio: l'invio automatico avviene solo con il connettore ATTIVATO. Attivalo dopo aver salvato.