Générer des Formulaires W-9 en PDF avec Power Automate et Smartsheet
Par DocuGenerate
24 Juillet 2026
Introduction
Le formulaire W-9, « Request for Taxpayer Identification Number and Certification », est un formulaire de l’IRS que les entreprises aux États-Unis utilisent pour recueillir le nom légal, l’adresse et le numéro d’identification fiscale de leurs fournisseurs, freelances et prestataires indépendants avant de les payer. Les informations indiquées sur un formulaire W-9 servent ensuite à préparer les formulaires 1099 au moment de la déclaration fiscale, ce qui fait de la tenue de formulaires W-9 précis et uniformément mis en forme un élément important de tout processus d’intégration des fournisseurs. Les entreprises qui traitent avec un flux constant de nouveaux prestataires finissent souvent par gérer ces données dans une feuille de calcul ou un outil comme Smartsheet, ce qui en fait un candidat naturel pour l’automatisation.
Dans ce tutoriel, nous allons construire un flow Power Automate qui surveille une feuille Smartsheet pour détecter les nouvelles lignes et génère automatiquement un PDF W-9 rempli à l’aide de DocuGenerate. Chaque fois qu’un nouvel enregistrement de fournisseur est ajouté à la feuille, que ce soit par un membre de l’équipe qui le saisit directement ou par une importation depuis un autre système, le flow fusionne les données de cette ligne dans un modèle Word et enregistre le PDF final dans Azure File Storage. Le même schéma s’applique à tout document devant être généré automatiquement à partir de données de feuille de calcul, mais un formulaire fiscal est une bonne illustration car il implique un mélange de déclarants particuliers et professionnels, des champs conditionnels, et une mise en page qui doit rester précise.
Préparer le Modèle DocuGenerate
La première étape consiste à créer un modèle Word dans DocuGenerate qui reproduit la mise en page officielle du W-9. Nous sommes partis du formulaire W-9 de l’IRS et avons remplacé chaque champ à remplir par une balise de fusion, puis nous l’avons téléchargé en tant que nouveau modèle nommé Form W-9.
Le modèle contient 17 balises de fusion : firstName, lastName, businessName, taxClassification, exemptPayeeCode, fatcaCode, streetAddress, requesterName, requesterAddress, city, state, zipCode, accountNumber, ssn, ein, signature, et signatureDate. La plupart correspondent directement à une case étiquetée sur le formulaire. taxClassification correspond à la ligne « Other » de la section de classification fiscale fédérale et contient une courte description telle que « C Corporation » ou « Trust/estate », tandis que ssn et ein remplissent les deux cases de la Part I selon que le déclarant est un particulier ou une entité professionnelle. Vous pouvez télécharger le modèle Word utilisé dans ce tutoriel et l’adapter à votre propre mise en page.
Configurer la Source de Données dans Smartsheet
Une fois le modèle en place, l’étape suivante consiste à préparer la feuille qui servira de déclencheur pour notre flow. Dans Smartsheet, cliquez sur Create > Sheet > Table pour créer une nouvelle feuille, puis renommez-la Form W-9. Plutôt que de saisir des lignes d’exemple à la main, nous allons les importer depuis un fichier Excel en ouvrant le menu de la feuille et en sélectionnant Import. Gardez à l’esprit que l’importation remplace toutes les données existantes de la feuille par les données du fichier source.
Vous pouvez télécharger le fichier Excel d’exemple utilisé pour cette importation. Il contient 10 lignes correspondant aux 18 colonnes qui seront associées aux balises de fusion du modèle : une colonne Record ID (REC-001 à REC-010) suivie d’une colonne pour chaque champ du formulaire. Les données mélangent particuliers et entités professionnelles afin de tester les différentes branches du formulaire : six particuliers ou entrepreneurs individuels avec un SSN et sans EIN, et quatre entités (une LLC, une C Corp, un trust/succession et un partnership) avec un EIN et sans SSN. Une ligne a également les colonnes Exempt Payee Code et FATCA Code renseignées, puisque celles-ci ne s’appliquent que dans des cas spécifiques.
Créer le Flow Power Automate
Une fois le modèle et la source de données prêts, nous pouvons construire le flow lui-même. Dans Power Automate, cliquez sur New flow > Automated cloud flow. Dans la boîte de dialogue Build an automated cloud flow, donnez au flow un nom tel que Form W-9, recherchez « Smartsheet » dans la liste des déclencheurs, et sélectionnez When a new row is created.
Le flow que nous allons construire comporte trois étapes : un déclencheur Smartsheet qui se déclenche lorsqu’une ligne est ajoutée, une action DocuGenerate qui génère le PDF, et une action Azure File Storage qui l’enregistre. Configurons chacune d’entre elles à tour de rôle.
Configurer le Déclencheur Smartsheet
Le déclencheur When a new row is created nécessite une connexion à votre compte Smartsheet, que Power Automate vous invitera à créer la première fois que vous l’utilisez. Une fois connecté, définissez le paramètre Sheet Id sur la feuille Form W-9que nous avons créée précédemment.
Ajouter l’Action Generate Document
Ensuite, cliquez sur le bouton + sous le déclencheur et recherchez « DocuGenerate » pour voir la liste des actions disponibles.
Sélectionnez Generate Document. La première fois que vous utilisez une action DocuGenerate dans votre environnement, vous serez invité à créer une connexion à l’aide de votre clé API DocuGenerate. Une fois connecté, définissez le champ Template sur le modèle Form W-9créé dans DocuGenerate.
Pour le champ Data, nous avons besoin d’un objet JSON contenant les valeurs des 17 balises de fusion. Le déclencheur Smartsheet n’expose pas les cellules de la ligne par nom de colonne, seulement sous forme de tableau, donc chaque valeur doit être référencée par son index numérique. D’après l’ordre des colonnes lors de l’importation, la correspondance est la suivante : la colonne 0 est Record ID, la colonne 1 est SSN, la colonne 2 est First Name, la colonne 3 est Last Name, et ainsi de suite jusqu’à la colonne 17, qui est Signature Date. Nous avons construit le JSON avec les expressions concat et json :
Les caractères ? sont des opérateurs conditionnels null : triggerBody()?.cells?[2]?.value lit la propriété value de la cellule à l’index 2, et renvoie null au lieu de générer une erreur à chaque endroit où cells ou cette cellule spécifique serait absente. Ceci est important ici car plusieurs colonnes, comme businessName ou ssn, sont volontairement vides sur de nombreuses lignes. La fonction concat externe assemble toutes ces valeurs en une seule chaîne JSON, et json() analyse cette chaîne pour obtenir l’objet attendu par le champ Data.
Pour le champ Name, nous avons utilisé une expression qui vérifie si la colonne Business Name (index 4) est renseignée et choisit le modèle de nommage approprié, en utilisant la même correspondance d’index que ci-dessus :
Cela produit un nom tel que « Form W-9 John Smith » pour un déclarant particulier, ou « Form W-9 Bluepeak Software LLC » pour un déclarant professionnel. Enfin, laissez le champ Format à sa valeur par défaut .pdf.
Enregistrer le Document dans Azure File Storage
Une fois le document généré, il existe de nombreuses façons de le livrer : l’envoyer par e-mail, l’ajouter à SharePoint ou OneDrive, le téléverser vers un bucket S3, etc. Pour ce tutoriel, nous allons l’enregistrer dans Azure File Storage. Cliquez sur le bouton + sous l’action Generate Document, recherchez « Create file », et sélectionnez l’action d’Azure File Storage.
Créez une connexion en fournissant un Connection name, votre Azure Storage account name or file endpoint, et votre Azure Storage Account Access Key, tous deux disponibles depuis votre compte de stockage dans le portail Azure.
Une fois la connexion en place, configurez l’action Create file :
Folder path : /form-w-9, le dossier de destination dans le compte de stockage.
File name : outputs('Generate_Document')?['body/filename'], le nom de fichier du PDF généré.
File content : outputs('Generate_Document')?['body/document_uri'], l’URL du PDF généré.
Tester le Flow
Pour tester le flow, cliquez sur Test sur la page du flow, sélectionnez Manually, puis cliquez à nouveau sur Test. Power Automate affichera un message vous demandant d’ajouter une ligne à la feuille sélectionnée pour déclencher l’exécution.
Ajoutez une nouvelle ligne à la feuille Form W-9 dans Smartsheet avec un nouveau jeu de détails de fournisseur. Une fois le flow exécuté, le document généré apparaît dans le panneau Documents du modèle Form W-9 dans DocuGenerate, et le PDF est enregistré dans le dossier indiqué dans Azure File Storage. Vous pouvez voir un exemple du PDF généré ci-dessous.
Conclusion
Ce tutoriel a couvert l’ensemble du parcours, d’une ligne dans Smartsheet à un PDF W-9 prêt à être déposé, à l’aide d’un flow Power Automate sans aucun code personnalisé. Le déclencheur détecte les nouveaux enregistrements de fournisseurs au fur et à mesure qu’ils sont saisis, l’action Generate Document remplit la mise en page officielle du formulaire avec les données de cette ligne, et l’action Create file livre automatiquement le résultat vers Azure File Storage.
Ce même schéma en trois étapes (déclencheur, génération, livraison) fonctionne pour tout document récurrent que votre équipe produit à partir de données de feuille de calcul ou de tableau, qu’il s’agisse de documents d’intégration, de factures ou de formulaires de conformité. Comme les actions DocuGenerate sont disponibles dans l’ensemble de la Power Platform, vous pourriez tout aussi bien déclencher ce flow depuis un formulaire Power Apps ou une liste SharePoint au lieu d’une ligne Smartsheet, tout en conservant la même configuration de l’action Generate Document.
Les dossiers apportent un modèle d'organisation hiérarchique familier à vos modèles DocuGenerate, facilitant le regroupement des modèles apparentés à mesure que votre bibliothèque s'agrandit. Découvrez comment créer et gérer des dossiers pour garder votre espace de travail organisé.
Contrôler l'affichage des dates dans les documents générés est l'un des défis de formatage les plus courants, surtout lors de la production de documents pour différentes régions. Cet article couvre deux approches différentes, avec des exemples pour les formats de date américain et européen.
La fusion de documents existe depuis des décennies, et Microsoft Word continue de la proposer en tant que fonctionnalité intégrée. Mais comment se compare-t-elle à une plateforme dédiée de génération de documents comme DocuGenerate? Découvrez-le dans cette analyse comparative des deux solutions.