ExoConnect pour Acomba
Latest
  • Latest
  • 2.2.0
  • 2.3.2
  • 2.4.0
AccueilGuidesRéférence de l'APIRecettes
AccueilGuidesRéférence de l'APIRecettes
Contactez-nous
Latest
  • Latest
  • 2.2.0
  • 2.3.2
  • 2.4.0
Latest
  • Latest
  • 2.2.0
  • 2.3.2
  • 2.4.0
  1. Recettes
  • États de compte automatisés
  • Relances de recouvrement
  • Bons de commande, réceptions et rapprochement
  • Commande en ligne, facture et paiement
  • Lot de paiements fournisseurs
  • Synchronisation CRM
  • Import de feuilles de temps
  • Rapport de trésorerie
  • Vérification des DAS
  • Power BI et Excel
  1. Recettes

Synchronisation CRM

Vos représentants vivent dans le CRM, votre comptabilité dans Acomba. Chaque nouveau client est saisi deux fois, une adresse corrigée d'un côté ne l'est jamais de l'autre, et un représentant appelle un client pour une nouvelle commande sans savoir qu'il doit 18 000 $ depuis quatre mois.
Dans cette recette, nous allons relier les deux : chaque compte du CRM devient un client Acomba sans ressaisie, ses coordonnées restent à jour, les clients créés par la comptabilité apparaissent dans le CRM, et chaque matin le solde et le retard de chaque client remontent dans le CRM.
Ce que vous allez apprendre
créer un client Acomba à partir d'un compte du CRM, sans jamais créer de doublon ;
tenir les coordonnées à jour sans toucher aux chiffres d'Acomba ;
repérer les clients créés ou modifiés dans Acomba, sans en perdre un seul ;
renvoyer au CRM le solde et le retard de chaque client en un seul appel.
Avant de commencer
une clé API avec accès en écriture ;
le module Clients actif dans votre dossier Acomba ;
dans votre CRM, un champ personnalisé « Code Acomba » sur les comptes, et des champs pour le solde et le retard ;
le groupe de taxes et le terme de paiement à donner par défaut aux nouveaux clients ;
idéalement, un dossier de test : un client créé dans Acomba est une vraie fiche comptable.

Qui fait foi pour quoi#

Une synchronisation dans les deux sens ne reste fiable que si chaque information a un seul propriétaire. Sinon, deux modifications se croisent et la dernière écrase l'autre. Voici le partage que nous allons suivre :
InformationFait foiSens
Nom, adresse, téléphones, courrielsle CRMCRM → Acomba
Code du clientAcombaconservé dans le champ « Code Acomba » du CRM
Solde, retard, âge des comptesAcombaAcomba → CRM
Le code Acomba est le lien entre les deux : il est dérivé du numéro de compte du CRM (CRM-10234), et le CRM le garde. Un compte qui a déjà son code n'est jamais recréé.

Étape 1 : choisir les valeurs par défaut#

Commençons par ce qu'un compte du CRM ne connaît pas : le groupe de taxes et le terme de paiement. Sans groupe de taxes, les factures du client sortent sans taxes ; donnez-les toujours à la création.
cURL
Réponses 200 (extraits)
Notez le code de chacun : "TPS et TVQ" et 1 dans cet exemple.

Étape 2 : créer le client dans Acomba#

Un nouveau compte apparaît dans le CRM ; créons son client Acomba. Le numéro (number) est le vôtre : 20 caractères au plus, et il ne pourra plus changer. Le nom (name) en compte 40 au plus. À la lecture, ils reviennent sous code et description.
cURL
Réponse 200
Enregistrez aussitôt CRM-10234 dans le champ « Code Acomba » du compte.
409 « Le code CRM-10234 existe déjà » : le client existe, par exemple parce qu'un passage précédent s'est arrêté avant d'enregistrer le code dans le CRM. Mettez-le à jour (étape 3) et enregistrez le code : jamais de doublon.
Téléphones : les séparateurs sont retirés ((418) 555-0142 devient 4185550142). Acomba n'accepte que 7, 10 ou 11 chiffres ; un autre numéro est refusé par un 422 avant toute écriture.
Code postal : Acomba l'enregistre tel quel. Envoyez-le au format G6V 4Z2.
Le client est créé actif. Une limite de crédit se donne avec margin_limit et margin_type_id (2, « Vérifier la marge ») ; sans type, elle est enregistrée sans effet.

Étape 3 : tenir les coordonnées à jour#

Le client a déménagé ? Le représentant corrige le CRM ; reportons la correction dans Acomba. PATCH n'écrit que les champs envoyés : l'adresse change, le reste de la fiche (taxes, terme, limite de crédit) ne bouge pas.
cURL
Réponse 200
N'envoyez que les coordonnées : jamais de solde ni de limite de crédit, qui appartiennent à Acomba.

Étape 4 : repérer les clients créés dans Acomba#

La comptabilité crée aussi des clients, directement dans Acomba. Pour les faire apparaître dans le CRM, demandons à l'API quels clients ont changé depuis le dernier passage.
cURL
Réponse 200
Gardez to_datetime et donnez-le comme from_datetime au passage suivant : c'est le moment jusqu'auquel la copie des fiches est complète, si bien qu'aucune modification n'est perdue. Une fiche peut revenir deux fois ; ce n'est pas grave.
Les codes que le CRM connaît déjà (CRM-10234, créé à l'étape 2) sont ignorés : leurs coordonnées appartiennent au CRM. C'est aussi ce qui empêche une boucle entre les deux systèmes.
Pour un code inconnu (BETONLAU), lisez la fiche avec GET /api/customers/by-id/958, puis créez le compte dans le CRM avec son code Acomba.
Au tout premier passage, partez d'une date ancienne (2000-01-01T00:00:00) pour reprendre tous les clients existants.

Étape 5 : renvoyer le solde et le retard au CRM#

Il reste à donner aux représentants ce qu'ils ignoraient. Un seul appel renvoie l'âge des comptes de tous les clients qui ont un solde.
cURL
Réponse 200 (extrait)
Un client absent de la liste n'a pas de solde : mettez ses champs à zéro dans le CRM.
Une fois par jour suffit : le résultat est gardé quelques heures en cache.
Pour un seul client, GET /api/customers/by-id/{id}/overview ajoute la limite de crédit, le dernier paiement et le délai moyen de paiement.

Le script complet#

Assemblons le tout. Les quatre fonctions crm_… sont à brancher sur votre CRM (HubSpot, Salesforce, Pipedrive…) ; ici, elles simulent un CRM de deux comptes pour que vous puissiez lancer le script tel quel sur un dossier de test.
Python
JavaScript (Node.js)
Exemple de sortie, au premier passage sur un dossier de test :
  Acomba ← CRM-10234 créé
  CRM ← BETONLAU importé
  CRM ← CRM-10234 : solde 0.00 $, en retard : False (0 j)
  CRM ← BETONLAU : solde 18646.44 $, en retard : True (117 j)

Bon à savoir#

Un propriétaire par information. N'écrivez jamais un solde ou une limite de crédit depuis le CRM, ni une adresse depuis Acomba vers un compte déjà relié : c'est ce qui évite les écrasements et les boucles.
La copie des fiches a un peu de retard. /helpers/updates lit la copie locale tenue par ExoConnect, mise à jour toutes les 15 minutes environ. Une modification faite dans Acomba apparaît au passage suivant ; to_datetime en tient compte.
Les suppressions ne sont pas signalées. Un client supprimé dans Acomba n'apparaît pas dans /helpers/updates. Une fois par semaine, comparez la liste complète (GET /api/customers, page par page) avec les codes du CRM.
Pas de fiche de contact. Un client Acomba a 4 téléphones (main, fax, other_1, other_2), 3 courriels (primary, personal, other) et un « a/s de » (care_of). Gardez vos contacts dans le CRM.
Rechercher un client : GET /api/customers/search cherche sur le début de la clé de tri, pas sur le courriel. Le lien par le code Acomba est plus sûr.
Dates : toutes les dates sont en heure locale avec décalage (2026-10-11T09:12:40-04:00).
Un appel à la fois : Acomba traite une écriture à la fois ; synchronisez les comptes l'un après l'autre.
Codes d'erreur : voir Codes d'erreur pour savoir quand réessayer.

Et voilà#

Votre CRM et Acomba travaillent maintenant ensemble : un compte du CRM devient un client Acomba sans ressaisie, ses coordonnées suivent, les clients de la comptabilité apparaissent dans le CRM, et vos représentants voient chaque matin qui doit quoi. Vous savez relier les deux systèmes par le code Acomba, suivre les modifications sans en perdre, et éviter les écrasements en donnant à chaque information un seul propriétaire.
Pour aller plus loin
Relances de recouvrement : passez des soldes aux relances.
États de compte automatisés : envoyez à chaque client son état de compte.
Commande en ligne, facture et paiement : créez les commandes de ces clients dans Acomba.
Modified at 2026-10-11 15:29:50
Previous
Lot de paiements fournisseurs
Next
Import de feuilles de temps
Built with