Comparatif
SandForge, SFDMU et Data Loader : la comparaison
SandForge, SFDMU et Data Loader chargent tous trois des enregistrements dans une org Salesforce, et tous trois sont gratuits. Ils diffèrent par l’endroit où ils tournent, la configuration qu’ils demandent et leur conduite face à une org de production. Chaque affirmation renvoie à sa source, vérifiée le 25 octobre 2026. Quand un autre outil fait mieux, le tableau le dit.
| Critère | SandForge | SFDMU | Data Loader |
|---|---|---|---|
| Nature et environnementÉgalité | Extension VS Code, version 1.95 ou plus. Se connecte aux orgs déjà authentifiées dans la CLI Salesforce. | Plugin de la CLI Salesforce, lancé par sf sfdmu run. Interface graphique Electron facultative, sous Windows, macOS et Linux. | Client de bureau Salesforce pour Windows et macOS, piloté par des assistants. Demande un environnement Java. |
| Mise en place et configuration | Le mieux ici Forge part d’un Id d’enregistrement ou d’une URL collés. Aucun export.json à écrire, aucun mapping de champs à entretenir. | Vous écrivez export.json : par objet, une requête SOQL, une opération et un ID externe (un champ nom par défaut). | Choisissez un objet et un fichier CSV, puis mappez les colonnes aux champs par glisser-déposer ou un mapping enregistré. |
| Relations et lookups | Le mieux ici La découverte BFS parcourt le graphe de relations depuis l’enregistrement. Lookups remappés à l’écriture, auto-références en deux passes. | Résout les lookups entre les objets que vous listez, circulaires et polymorphes compris, au moyen d’ID externes. | Aucune découverte. Les lookups prennent l’Id parent dans le CSV, ou un ID externe lié lors d’un upsert. |
| D’org à org sans CSVÉgalité | Les enregistrements passent d’une org à l’autre par l’API. L’import CSV reste possible dans Seed. | Transfert direct d’org à org, sans CSV intermédiaire. Sait aussi importer et exporter des fichiers CSV. | Pas de transfert direct. On exporte un CSV depuis une org, puis on charge ce CSV dans l’autre. |
| Garde-fous en production | Le mieux ici Forge refuse une cible de production. Seed, Sync, Autopilot et DataOps demandent avant chaque écriture ; DELETE y est bloqué. | Demande confirmation avant de modifier une org de production, sauf avec --canmodify. Le mode --simulation n’écrit rien. | Demande un « Oui » avant chaque opération, quelle que soit l’org. Le hard delete contourne la Corbeille. |
| E-mails et téléphones dans les copies | Le mieux ici Forge, Sync, Autopilot : e-mails en .invalid, téléphones fictifs, par défaut. Masquage RGPD, CCPA, HIPAA ou PCI-DSS optionnel dans Autopilot. | Anonymisation à activer : les mockFields d’export.json remplacent les champs choisis par des valeurs fictives générées. | Aucun masquage dans sa documentation. Les enregistrements se chargent avec les valeurs du CSV. |
| Revenir sur une exécution | Le mieux ici Forge, Seed, Sync et Frozen Dataset suppriment ce qu’une exécution a créé. Après Autopilot, revenir à un point de contrôle. | Aucune annulation d’exécution dans sa documentation. Les opérations Delete d’export.json suppriment des enregistrements de la cible. | Le fichier success liste les Id créés. Chargez-le dans un Delete pour supprimer ces enregistrements. |
| Ligne de commande et CI | Onze scripts à lancer depuis une copie du dépôt, avec Node.js 24 et pnpm 11. Aucun binaire publié. | Le mieux ici S’installe par sf plugins install sfdmu et tourne en ligne de commande dans un pipeline, avec --noprompt et --json. | Mode batch en ligne de commande, configuré par fichiers, sous Windows seulement. Rejoue des traitements enregistrés, imports nocturnes compris. |
| Gros volumes | Exécution séquentielle. Le clone en ligne de commande refuse plus de 10 000 enregistrements, sauf autre plafond fixé par --max-total. | Bulk API dès 200 enregistrements par défaut. Sa FAQ vise les volumes petits et moyens, pas des orgs entières. | Le mieux ici Option Bulk API. Son guide annonce des CSV jusqu’à 150 millions d’enregistrements ; l’aide Salesforce indique encore 5 millions. |
| Licence et prixÉgalité | Licence MIT. Gratuit, sans compte ni offre payante. | Gratuit, open source, Apache 2.0 selon son dépôt. Projet non officiel de Salesforce, support sans garantie. | Gratuit, open source (BSD-3-Clause), supporté par Salesforce. Éditions Enterprise, Performance, Unlimited et Developer. |
Quand un autre outil convient mieux
- Préférez SFDMU pour les traitements sans surveillance d’un pipeline CI/CD : il s’installe comme plugin de la CLI Salesforce, alors que les scripts de SandForge demandent une copie de son dépôt. Préférez-le aussi quand un traitement doit écrire dans une org de production sans confirmation :
--canmodifyle permet, et les scripts de SandForge refusent toute cible de production. Une équipe qui tient déjà ses fichiersexport.jsonpeut les lancer tels quels. - Préférez Data Loader pour charger en masse un objet depuis un fichier CSV, ou pour exporter des données en CSV. Salesforce le supporte officiellement sous Windows et macOS et documente des chargements de plusieurs millions d’enregistrements, quand SandForge exécute ses traitements en séquence et que son clone en ligne de commande s’arrête par défaut à 10 000 enregistrements. Sous Windows, son mode batch rejoue des traitements enregistrés, comme des imports nocturnes.
Déjà sur SFDMU ?
Le module Migration importe un export.json SFDMU existant dans une configuration Sync : ce que vous avez déjà construit vous suit. L’import n’écrit rien dans vos orgs.
Sources
Vérifiées le 25 octobre 2026. Chaque affirmation du tableau s’appuie sur l’une de ces pages, citées dans leur langue (anglais).
- SandForgeVS Code extension; needs VS Code 1.95+ and the Salesforce CLI
- SandForgeSupports any org authenticated in the Salesforce CLI
- SandForgeNo export.json or field mapping to write: paste a record Id, BFS discovery walks the graph, lookups remapped on write
- SandForgeSelf-referential lookups and cycles written in two passes
- SandForgeRecords move org to org over the API; CSV import is still available
- SandForgeForge refuses a production target; Seed, Sync, Autopilot and DataOps ask before every write; DELETE blocked
- SandForgeEmails written under .invalid and phones as fictional numbers by default (Forge)
- SandForgeSync and Autopilot neutralize emails and phone numbers by default; Autopilot offers GDPR, CCPA, HIPAA or PCI-DSS masking
- SandForgeForge, Seed, Sync and Frozen Dataset runs can be removed; an Autopilot run cannot, rewind to a checkpoint taken before it
- SandForgeEleven command-line scripts run from a checkout with Node.js 24 and pnpm 11; no published binary
- SandForgeCommand-line scripts refuse a production target and no flag lifts it
- SandForgeA real command-line clone refuses more than 10,000 records unless --max-total sets another ceiling
- SandForgeSandForge executes a run sequentially
- SandForgeSFDMU keeps the edge for headless CI
- SandForgeMIT licensed, no account, no paid tier
- SandForgeMigration module imports an SFDMU export.json into a Sync config; nothing is written to the orgs
- SFDMUSF CLI plugin, installed with sf plugins install sfdmu
- SFDMUDesktop GUI built on Electron, for Windows, macOS and Linux, that builds the export.json
- SFDMUSingle export.json configuration file
- SFDMUPer object: SOQL query, operation and externalId; externalId defaults to Name or the object's name field
- SFDMUAutomatically resolves references between objects; handles circular references and polymorphic lookups; external IDs of any type
- SFDMUDirect org-to-org transfer without CSV; CSV import and export also supported
- SFDMU--canmodify allows silent changes to a production target; without it the user is prompted. --simulation makes no data changes. --noprompt and --json flags
- SFDMUData anonymization with mockFields replaces chosen field values with fake ones
- SFDMUDelete operations remove records from the target, configured in export.json (no undo feature appears in the documentation index)
- SFDMUCan be run from the command line in a DevOps pipeline
- SFDMUbulkThreshold defaults to 200 records before switching to the Bulk API
- SFDMUDesigned for small to medium data volumes; not recommended for transferring entire large orgs
- SFDMURepository licence file is Apache 2.0 (the npm package and the help site's licence page say BSD-3-Clause)
- SFDMUNot an official Salesforce project; no guarantee of support
- Data LoaderClient application for bulk import or export; CSV in and out; MacOS or Windows; wizard interface; drag-and-drop field mapping; up to 5 million records; Enterprise, Performance, Unlimited and Developer editions
- Data LoaderJava Runtime Environment required; officially supported on Windows and macOS; BSD-3-Clause licence
- Data LoaderUpsert matches on an external ID or record Id; a related object's external ID or Id is used for relationship fields; deletes go by the Ids in the CSV
- Data LoaderEach operation asks for a Yes on Finish; hard-deleted records are not stored in the Recycle Bin
- Data LoaderThe success file holds the loaded records with a column of newly generated record IDs
- Data LoaderCommand-line interface supported on Windows only; batch mode reruns a series of processes
- Data LoaderCSV files up to 150,000,000 records; suited to scheduled loads such as nightly imports
- Data LoaderBulk API processing limits when the Bulk API is enabled