REDA One Centre d’aide
FR
Langue
English EN Español ES Português PT Italiano bientôt disponible Français FR Deutsch bientôt disponible العربية bientôt disponible
reda.one ↗
Accueil / REDA Financials AI / API et intégration / Développement personnalisé / Intégration avec les flux Salesforce

Intégration avec les flux Salesforce

La plupart des automatisations REDA Financials ne demandent aucun code : les flux lisent et écrivent les objets comptables comme n’importe quels enregistrements, la comptabilisation est une simple mise à jour de champ, et le package fournit une action prête à l’emploi pour générer des PDF. Voici la boîte à outils déclarative.

L’action du package : « Generate PDF Document »

Dans le sélecteur d’actions des flux, sous la catégorie REDA Financials : fournissez-lui un Source Record ID et le Source Object API Name (par ex. refin__Sales_Invoice__c) ; elle génère le PDF, le joint et renvoie Success / Content Version ID / Content Document ID / Public URL / Error Message. Compatible avec le traitement en masse dans les boucles. Usages classiques : générer selon une planification, joindre le document à vos propres flux d’e-mail, produire le document dès qu’une condition d’un flux déclenché par un enregistrement est remplie.

Le package fournit deux actions invocables : celle-ci, et Create E-Invoice Trail sous la catégorie E-Invoicing (voir Développement Apex sur REDA). Une surface réduite, entièrement documentée. Sa propre description : « Generates a PDF for the given source transaction record and attaches it as a File. »

EntréeObligatoireDescription fournie par le package (texte exact)
Source Record IDOui« The Id of the source transaction record (SI, CR, CD, CM, PO). »
Source Object API NameOui« Fully qualified API name of the source object (e.g. refin__Sales_Invoice__c). »
SortieCe que vous obtenez
SuccessVrai/faux pour chaque ligne — vérifiez-le avant d’utiliser les autres sorties
Content Version ID / Content Document IDLe fichier généré, déjà joint à l’enregistrement source en tant que fichier Salesforce
Public URLRenseignée uniquement « if the Entity has Auto Public URL enabled; null otherwise » — la formulation du package parle de l’Entité, mais l’indicateur que lit le code est refin__Auto_Public_URL__c (« Générer une URL publique pour les PDF ») sur le Territoire du document, résolu document → Entité → Territoire — construisez vos liens d’e-mail de manière conditionnelle
Error MessageLa raison lorsque Success est faux ; si des entrées manquent, l’action renvoie textuellement « sourceRecordId and sourceObjectApiName are required. »

Objets source pris en charge — exactement quatre, plus un cas particulier : refin__Sales_Invoice__c, refin__Cash_Receipt__c, refin__Cash_Disbursement__c, refin__Purchase_Order__c ; les avoirs sont traités comme un type de facture de vente (refin__Sales_Invoice_Type__c), transmettez donc pour eux le nom de l’objet facture de vente. Dans les boucles, l’action est réellement compatible avec le traitement en masse : les requêtes sont regroupées par objet, générées en masse, et les résultats sont renvoyés dans l’ordre d’entrée — une ligne en erreur échoue seule, avec son propre Error Message.

Vous n’aurez peut-être pas besoin du flux. Chaque Entité comporte des options de génération automatique par type de document — refin__Auto_Gen_PDF_Sales_Invoice__c, refin__Auto_Gen_PDF_Cash_Receipt__c, refin__Auto_Gen_PDF_Cash_Disbursement__c, refin__Auto_Gen_PDF_Purchase_Order__c, refin__Auto_Gen_PDF_Credit_Memo__c. Si « chaque facture comptabilisée reçoit un PDF » constitue toute l’exigence, activez l’option ; réservez l’action de flux à la génération conditionnelle ou planifiée.
Un accès à la classe peut être nécessaire. Les dix ensembles d’autorisations du package accordent déjà l’accès à la classe Apex refin.PDFGeneratorAPI (et à refin.EInvoiceTrailCreator) : tout utilisateur disposant de l’un des ensembles d’autorisations REDA Financials peut donc exécuter l’action. Un utilisateur d’exécution qui n’en possède aucun — un flux exécuté sous un compte de service, par exemple — a toujours besoin que la classe lui soit accordée explicitement. Testez dans une sandbox avec l’utilisateur d’exécution réel avant de déployer le flux.

Comptabiliser (et plus encore) depuis un flux

Opération dans le fluxCe qui se passe
Créer refin__Sales_Invoice__c + lignes (Brouillon)Un vrai brouillon — numéroté, prérempli avec les valeurs par défaut, validé
Mettre à jour refin__Status__c → 'Posted'Le moteur de comptabilisation complet — taxe, retenue à la source, taux, tous les contrôles (un refus fait tomber le flux en erreur avec le message exact : prévoyez un chemin d’erreur)
Créer un enregistrement d’imputationImpute un encaissement ou un avoir en appliquant toutes les règles de concordance
Flux déclenché par un enregistrement sur un changement de statutVotre logique de notification ou d’intégration au moment comptable (se déclenche aussi bien sur les modifications faites dans l’interface que via l’API)
Définir refin__Auto_Apply_Receipt__c = true sur un encaissement comptabiliséDéclenche l’imputation automatique de cet encaissement — les champs indicateurs de ce type sont des points d’entrée conçus pour les flux

Trois flux à reprendre sans hésiter

  • Le pont d’approbation : votre processus d’approbation personnalisé se termine en définissant le Statut d’approbation sur « Approuvé » et le Statut sur « Comptabilisé » — le document passe de la demande aux livres comptables, sans aucun clic.
  • L’alerte grosse facture : flux déclenché par un enregistrement sur Facture de vente, condition d’entrée Statut = Comptabilisé ET Total > 50 000, action = notifier le canal du contrôleur de gestion.
  • La chasse aux PDF manquants : un flux planifié recherche les factures comptabilisées sans PDF (champ PDF généré le vide) et les fait passer en boucle dans Generate PDF Document.
Un flux externe à connaître : les organisations multidevises qui utilisent la Synchronisation des taux de change installent un petit flux complémentaire (« Create Dated Conversion Rate ») qui écrit les taux quotidiens — il est livré séparément car les taux datés n’existent que lorsque la gestion avancée des devises est activée. La carte de l’onglet Opérations vous indique clairement s’il manque.

Un flux concret chez Meridian : le dossier de bienvenue du locataire

Meridian Properties Group envoie chaque première facture nouvellement comptabilisée avec son PDF en pièce jointe. Un seul flux déclenché par un enregistrement sur refin__Sales_Invoice__c : condition d’entrée Statut passé à Comptabilisé ; un élément Décision vérifie qu’il s’agit de la première facture comptabilisée du client ; l’action Generate PDF Document s’exécute avec l’Id de l’enregistrement et refin__Sales_Invoice__c ; une décision tolérante aux erreurs sur Success crée deux branches — vrai poursuit vers l’action d’e-mail avec le Content Document joint, faux consigne l’Error Message dans une requête destinée à l’équipe des comptes fournisseurs. Temps de construction total : un après-midi, sans Apex, résistant aux mises à niveau par conception.

Erreurs courantes à éviter

ErreurPourquoi c’est un problèmeFaites plutôt ceci
Aucun chemin d’erreur sur la mise à jour de comptabilisationUne période clôturée fait tomber en erreur toute l’exécution du flux — ainsi que tout ce qu’elle avait en coursChaque élément de mise à jour du statut reçoit un connecteur d’erreur qui achemine le message exact vers un endroit lu par une personne
Utiliser la sortie Public URL sans conditionElle vaut null sauf si l’option Générer une URL publique pour les PDF est activée sur le Territoire du document — votre modèle d’e-mail envoie un lien videCréez une branche selon la sortie, ou utilisez plutôt la pièce jointe Content Document
Transmettre une facture d’achat à Generate PDF DocumentLes factures d’achat ne font pas partie des objets pris en charge (facture de vente, encaissement, décaissement, bon de commande, avoir via la facture de vente) — la ligne échoueConsultez la liste des objets pris en charge ; les factures fournisseurs n’ont pas besoin de PDF destinés aux clients
Modifier des enregistrements comptabilisés depuis un flux avant enregistrementLes documents comptabilisés sont verrouillés pour tout le monde — le flux tombe en erreur sur les champs qui ne font pas partie de la liste autorisée des champs de workflowLimitez les modifications sur le même enregistrement aux brouillons ; réagissez aux enregistrements comptabilisés, ne les réécrivez pas
Dupliquer l’automatisation du package dans vos propres fluxLa génération récurrente, l’imputation automatique et les instantanés de balance âgée s’exécutent déjà via le Planificateur d’opérations — un flux parallèle entre en concurrence avec euxConsultez les douze cartes de l’onglet Opérations avant de construire ; étendez, ne dupliquez pas

Pour aller plus loin

  1. API Streaming (événements en temps réel) — l’équivalent piloté par les événements.
  2. Développement Apex sur REDA — quand les flux atteignent leurs limites.
  3. Planificateur d’opérations — l’automatisation que le package exécute déjà pour vous.
Documentation officielle Salesforce Flow Builder est un outil d’automatisation standard de Salesforce — pour tout ce qui concerne la création des flux eux-mêmes, consultez Automatiser des tâches avec des flux. Les liens s’ouvrent dans un nouvel onglet.

Questions fréquentes

C’est le fonctionnement prévu : un contrôle de comptabilisation a refusé l’opération (période clôturée, approbation en attente, déséquilibre…). Le message d’erreur en donne la raison exacte ; transmettez-le à une personne ou corrigez les données en amont. Ne relancez jamais à l’aveugle : le contrôle bloquera de nouveau.

Les recommandations standard s’appliquent : avant enregistrement pour les ajustements de champs sur le même enregistrement lorsqu’il est en brouillon (les enregistrements comptabilisés sont de toute façon verrouillés), après enregistrement pour les réactions (notifications, enregistrements associés). Ne luttez pas contre l’automatisation propre au package : réagissez aux états finaux.

Le service de calcul est une surface Apex ; depuis un flux, la voie pratique consiste à créer le document en brouillon (la taxe s’affiche en aperçu dans le formulaire ; les montants deviennent définitifs à la comptabilisation). Si vous avez réellement besoin du calcul brut dans un flux, une fine surcouche invocable autour de GlobalTaxService suffit : une classe Apex de dix lignes — voir Développement Apex sur REDA.

Parce que les objets sont l’API : créer, mettre à jour et changer le statut des enregistrements couvre la comptabilisation, l’imputation et les réactions sans actions sur mesure. La génération de PDF et la création d’un historique de facturation électronique sont les deux tâches qui nécessitaient vraiment d’être intégrées au package — tout le reste relève de flux standard sur des enregistrements standard.

Uniquement si vous utilisez la Synchronisation des taux de change dans une organisation multidevise : le package écrit les taux quotidiens via ce flux installé séparément, car les taux de change datés n’existent que lorsque la gestion avancée des devises est activée. S’il manque, la synchronisation vous l’indique textuellement : « The \"Create_Dated_Conversion_Rate\" Flow is not installed. FX Rate Sync requires this Flow to write DatedConversionRate records. Please install the REDA FX Rate Sync component. »

Cet article vous a-t-il été utile ?