App-Sync Blog

ConnectWise PSA + Salesforce : synchroniser MRR et ARR nativement sur les Opportunities

Rédigé par JKA | 17 juil. 2026 09:00:00

TL;DR

ConnectWise PSA détient la vérité sur les revenus récurrents pour la plupart des MSP. Salesforce gère le pipeline et les prévisions. La plupart des intégrations ConnectWise-Salesforce synchronisent des objets mais laissent MRR et ARR vides sur l'Opportunity. PSA Bridge calcule MRR, ARR, revenus ponctuels et TCV à partir des contrats ConnectWise, puis les écrit sur les Salesforce Opportunities sous forme de vrais Opportunity Products (de sorte que le champ natif Amount remonte au TCV) et de champs personnalisés cw_*__c (pour MRR et ARR, que Salesforce n'a pas de champ natif pour accueillir).

Le problème de visibilité des revenus pour les MSP sur Salesforce

Un MSP qui utilise ConnectWise PSA et Salesforce travaille avec une image fragmentée de ses revenus. ConnectWise connaît les contrats : les accords de services managés, les cycles de facturation, les ajouts récurrents, les valeurs totales de contrat. Salesforce connaît le pipeline, les étapes de deal, les catégories de prévision, l'historique des activités.

Les deux systèmes ne s'accordent pas naturellement sur la valeur d'un deal.

Dans Salesforce, le champ Opportunity Amount est ce que lisent les rapports, les prévisions et les tableaux de bord. Si ce champ est vide ou inexact, tous les rapports en aval sont faux. Un MSP avec 40 000 $/mois de contrats de services managés récurrents a une prévision Salesforce à zéro jusqu'à ce que quelqu'un saisisse manuellement le chiffre, généralement depuis un export ConnectWise.

Pourquoi le champ Amount natif de Salesforce ne suffit pas

Le champ Opportunity Amount de Salesforce remonte depuis les Opportunity Products. S'il n'y a pas d'Opportunity Products sur un deal, Amount est un champ de saisie manuelle. Salesforce n'a pas de champ natif MRR ou ARR sur l'objet Opportunity. MRR et ARR doivent atterrir dans des champs personnalisés, généralement nommés cw_mrr__c et cw_arr__c.

Une synchronisation complète des revenus de ConnectWise vers Salesforce nécessite : (1) de vrais Opportunity Products écrits sur l'Opportunity pour que le champ natif Amount remonte correctement au TCV, et (2) des champs personnalisés cw_*__c alimentés avec MRR et ARR. La plupart des intégrations ConnectWise-Salesforce ne font ni l'un ni l'autre.

Comment PSA Bridge gère le modèle de revenus Salesforce

App-Sync PSA Bridge for Salesforce fonctionne avec un moteur de revenus en quatre étapes :

Classify. Chaque ligne ConnectWise est classée comme ponctuelle ou récurrente.

Normalize. Chaque ligne récurrente est normalisée en un montant mensuel net avec une durée explicite.

Derive. MRR est la somme de toutes les lignes récurrentes normalisées. ARR = 12 × MRR. TCV = MRR × nombre de mois + revenus ponctuels.

Write to Salesforce. De vrais Opportunity Products sont écrits sur l'Opportunity. Salesforce remonte leur total dans le champ standard Amount (= TCV). MRR et ARR atterrissent dans les champs personnalisés cw_mrr__c et cw_arr__c. Le bridge crée ces champs à l'installation.

Exemple pas à pas

Entrée : Services managés, 25 postes, facturés trimestriellement à 3 750 $. Plus Backup & DR à 500 $/mois.

  1. Classify : Les deux sont récurrents.
  2. Normalize : 3 750 $ ÷ 3 = 1 250 $/mois.
  3. Derive : MRR = 1 750 $. ARR = 21 000 $. TCV = 21 000 $.
  4. Write : Deux Opportunity Products sur la Salesforce Opportunity. Amount = 21 000 $. cw_mrr__c = 1 750 $. cw_arr__c = 21 000 $.

Ce qui se synchronise, et dans quel sens

ObjetSensRemarques
AccountsBidirectionnelCorrespondance par domaine, jamais par nom
ContactsBidirectionnelCorrespondance par email
Opportunities / RevenueConnectWise → SalesforceConnectWise prime sur les revenus
CasesConnectWise → SalesforceContexte des tickets de service sur l'Opportunity
ActivitiesBidirectionnelAppels, tâches, réunions, notes en tant que Tasks et Events Salesforce
ProductsConnectWise → SalesforceLe catalogue produits se synchronise dans Salesforce Products (Product2)

Sécurité : enregistrements mis en attente, pas d'échecs silencieux

  • Write fingerprinting : empêche les boucles de synchronisation dans la sync bidirectionnelle
  • Origin markers : empêche la création de doublons
  • Correspondance par domaine, jamais par nom : les comptes sont associés par domaine, ce qui évite les fusions de sociétés homonymes
  • Ne touche que les Opportunity Products qu'il a créés : les lignes de devis construites manuellement par votre équipe ne sont jamais écrasées
  • 2 000+ tests automatisés s'exécutent avant chaque version

Obtenir un accès anticipé

PSA Bridge for Salesforce est en accès anticipé et intégré directement par App-Sync. La fiche AppExchange est en cours.

Obtenir un accès anticipé à PSA Bridge for Salesforce.