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 / API Salesforce / API Bulk (import/export de données)

API Bulk (import/export de données)

Migrations, chargements d’ouverture, fichiers d’interface mensuels — quand le nombre d’enregistrements se compte en milliers, l’outil adapté est l’API Bulk standard (et son visage plus convivial, Data Loader). Sur les objets REDA Financials, elle se comporte exactement comme REST, en conservant intacte une propriété essentielle : chaque déclencheur s’exécute sur chaque ligne ; les documents chargés en masse sont donc de vrais documents — numérotés, validés, prêts à être comptabilisés.

La méthode de chargement qui fonctionne

Chargez dans l’ordre des dépendances, en brouillon

Les données de référence d’abord (comptes, produits, comptes généraux — généralement via l’interface ou la configuration, pas en masse), puis les en-têtes de documents (Brouillon), puis les lignes. Conservez votre référence source dans le champ Référence pour la traçabilité et l’idempotence.

Comptabilisez lors d’un second passage

Une mise à jour en masse qui fait passer refin__Status__c à 'Posted' (la valeur d’API du statut Comptabilisé) exécute le moteur complet pour chaque enregistrement. Vous pouvez aussi comptabiliser depuis l’interface avec la Comptabilisation en masse — même mécanique, avec un tableau de résultats lisible par un humain. Dans les deux cas, les échecs sont traités enregistrement par enregistrement : les réussites sont conservées, et le fichier d’erreurs indique la raison exacte de chaque échec.

Vérifiez en comptable, pas en ingénieur

Un nombre de lignes identique est nécessaire, mais pas suffisant : exécutez la balance générale et rapprochez-la du système source. Le guide de migration fournit la liste de contrôle complète.

Conseils de réglage pour les objets comptables

  • La comptabilisation est l’étape lourde — le moteur de taxes, les écritures dans le grand livre et les validations s’exécutent pour chaque document. Utilisez des tailles de lot modérées lors du passage de comptabilisation (commencez autour de 50 à 100 documents par lot et observez) plutôt que de pousser au maximum ; le mode série évite la contention de verrous sur les parents partagés comme les entités et les séquences.
  • La numérotation des documents sous charge est sûre — les séquences attribuent les numéros de façon atomique ; des insertions parallèles ne dupliqueront pas de numéros. Si vous conservez plutôt les numéros de l’ancien système, renseignez explicitement le champ Nom : son unicité est validée.
  • Les exports sont simples — une requête Bulk sur n’importe quel objet refin__ ; le grand livre (refin__Accounting_Transaction__c) s’exporte proprement pour alimenter un entrepôt de données.
Les chargements obéissent aux règles comptables. Dates situées dans des périodes clôturées, étapes d’approbation, comptes inactifs — les lignes chargées en masse échouent exactement là où un utilisateur échouerait. C’est voulu : planifiez les dates de migration en fonction des dates de clôture, et définissez celles-ci délibérément après le chargement (ne chargez jamais « en contournant » ces dates).

L’API Bulk 2.0, appel par appel

Le cycle de vie standard d’une tâche, appliqué aux objets refin__ :

ÉtapeMéthode et point de terminaison
Créer une tâche d’ingestionPOST /services/data/v65.0/jobs/ingest (le corps de la requête indique l’objet, par exemple refin__Purchase_Invoice__c, et l’opération)
Téléverser le CSVPUT /services/data/v65.0/jobs/ingest/{jobId}/batches
Lancer le traitementPATCH /services/data/v65.0/jobs/ingest/{jobId} avec l’état UploadComplete
Interroger régulièrement le statutGET /services/data/v65.0/jobs/ingest/{jobId}
Récupérer les résultatsGET …/{jobId}/successfulResults et …/{jobId}/failedResults
Exporter à grande échellePOST /services/data/v65.0/jobs/query avec votre requête SOQL

Le passage de comptabilisation est le CSV le plus simple que vous enverrez jamais — des Id d’enregistrement et un seul champ :

Id,refin__Status__c
a0Y8d000002GhIjEAK,Posted
a0Y8d000002GhIkEAK,Posted
a0Y8d000002GhIlEAK,Posted

Chaque ligne en échec est consignée dans failedResults avec le message de validation du package, mot pour mot, dans la colonne d’erreur — la même phrase que lirait un utilisateur, prête pour votre feuille de rapprochement.

Le chargement d’ouverture de Meridian, en chiffres

Lors de la mise en production de l’entité britannique de Meridian Properties Group, la bascule a consisté en trois tâches Bulk exécutées à la suite un samedi : 1 830 en-têtes de factures de vente ouvertes (Brouillon), leurs 2 614 lignes, puis le passage de comptabilisation. La tâche de comptabilisation a renvoyé 1 821 réussites et 9 échecs — tous avec le même message, concernant une période qui n’avait pas été ouverte pour les plus anciennes factures de l’ancien système. L’équipe a ouvert la période, relancé un CSV de 9 lignes et rapproché la balance générale de l’ancien système avant le déjeuner du dimanche. La leçon qu’elle en a retenue : le fichier d’erreurs est la liste des corrections à faire — courte, littérale et limitée.

Erreurs courantes à éviter

ErreurPourquoi c’est un problèmeÀ faire plutôt
Charger les lignes avant que leurs en-têtes soient terminésLes lignes font référence à des en-têtes qui n’existent pas encore — une avalanche d’échecs sur les champs de relationEnchaînez les tâches : en-têtes terminés, puis lignes, puis passage de comptabilisation
Pousser le parallélisme au maximum lors du passage de comptabilisationLa comptabilisation est l’étape lourde ; les lots parallèles se disputent les verrous sur les parents partagés (entités, séquences, périodes)Mode série ou concurrence modérée pour la comptabilisation ; observez, puis augmentez
S’attendre à un « mode de chargement de données » qui ignore la validationIl n’en existe pas — les 52 déclencheurs du package s’exécutent sur chaque ligne Bulk, sans indicateur de contournement, délibérémentPréparez des données conformes aux règles ; les règles sont le produit
Charger des documents historiques dans des périodes déjà clôturéesChaque ligne est bloquée par le contrôle de clôtureOrdonnez la migration : chargez et comptabilisez l’historique d’abord, définissez les dates de clôture en dernier
Considérer la parité du nombre de lignes comme un succèsToutes les lignes sont chargées, mais la comptabilité reste fausse — les montants, les devises ou les correspondances de comptes généraux peuvent être systématiquement erronésRapprochez la balance générale du système source avant de considérer le travail comme terminé

Pour aller plus loin

  1. Soldes d’ouverture et migration des données — la méthodologie.
  2. Comptabilisation en masse — l’équivalent, dans l’interface, du passage de comptabilisation.
  3. API REST pour les données comptables — l’équivalent enregistrement par enregistrement.
Documentation officielle de Salesforce Le chargement en masse est une fonctionnalité standard de Salesforce. Les références qui font autorité sont le Guide du développeur de l’API Bulk 2.0 et l’aide de Data Loader. Les liens s’ouvrent dans un nouvel onglet.

Questions fréquentes

Le même moteur en coulisses — Data Loader pour les chargements ponctuels ou manuels (l’habitude de votre partenaire de mise en œuvre), Bulk 2.0 pour les pipelines programmatiques. Le comportement des déclencheurs et la méthode décrite ci-dessus sont identiques.

Elles sont nettement réparties, pas corrompues : les réussites sont des documents complets, les échecs n’ont tout simplement pas eu lieu (atomicité par enregistrement). Corrigez les causes indiquées dans le fichier d’erreurs et relancez uniquement ces lignes — l’idempotence fondée sur la Référence rend les relances sûres.

Oui — les objets d’imputation se chargent comme n’importe quels enregistrements, avec tous les contrôles de concordance appliqués ligne par ligne. Chargez-les une fois les deux côtés comptabilisés, ou mieux : laissez l’imputation automatique associer les documents une fois ceux-ci chargés.

Aucune limite stricte n’est publiée — le coût de la comptabilisation varie selon le nombre de lignes par document, la complexité fiscale et les dimensions. Commencez modérément (50 à 100 documents par lot, en série), surveillez la durée de la tâche et les éventuelles erreurs de verrouillage lors d’un test à blanc en sandbox au volume de production, puis augmentez en vous fondant sur les faits plutôt que sur l’optimisme.

La même chose qu’une personne effectuant ce travail : l’ensemble d’autorisations du package correspondant aux documents chargés, plus une licence utilisateur REDA — le contrôle de licence s’applique aux enregistrements effectués via l’API Bulk comme à tous les autres. Rien de plus, rien de moins.

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