Gagnez des heures de comptabilité chaque mois en extrayant automatiquement les factures de vos emails.

Si un domaine professionnel a su tirer parti de l'automatisation, c'est bien la comptabilité.

Ce tutoriel vous montre comment automatiser l'un des aspects les plus fastidieux de la comptabilité - la lecture et la transcription des reçus dans un tableur Excel ou Google. Au lieu de convertir un PDF en document Excel et de passer des heures à formater et copier/coller les données ici et là, vous pouvez désormais obtenir tous les reçus souhaités directement dans votre Google spreadsheet, Quickbooks, ou tout autre logiciel de votre choix. 

Objectifs principaux

  • Étape 1 - Créer une automatisation Zapier en utilisant les labels de la boîte de réception.
  • Étape 2 - Utiliser OpenAI Vision pour extraire les données clés au format JSON
  • Étape 3 - Convertir l'objet JSON en champs de données distincts

Étape 1 - Créer une automatisation Zapier avec les étiquettes de boîte de réception

Ce tutoriel utilise Gmail. Cependant, ce processus d'automatisation peut facilement être adapté à Outlook ou à tout autre service de messagerie électronique.

La première étape consiste à créer une étiquette dans Gmail. Utilisez-la pour marquer tous les emails entrants qui contiennent des reçus ou des factures que vous souhaitez automatiser avec Zapier. Vous pouvez l'appeler 'Invoices&receipts'. Nous avons étiqueté un email d'OlaLukker contenant une facture pour ses services. 

Accédez à Zapier et connectez-vous à votre compte. Cliquez sur le gros bouton orange 'Create' et sélectionnez Zaps dans le menu déroulant. 

Dans l'éditeur de Zaps, vous trouverez plusieurs cases. Cliquez sur la première case 'Trigger', effectuez une recherche et sélectionnez 'Gmail'. Choisissez ensuite 'New Labeled Email' comme événement déclencheur.

Sélectionnez l'étiquette Gmail que vous avez créée dans le champ 'New Labeled Email'. Cliquez sur 'Continue'.

Dans le champ de recherche, saisissez le nom de l'étiquette que vous avez créée et cliquez sur 'Continue.'

Zapier va récupérer tous les emails qui se trouvent sous l'étiquette que vous avez recherchée. Cliquez sur le premier et vérifiez le message. Cliquez sur 'Continue with the selected record.'

Étape 2 - Utiliser OpenAI Vision pour ajouter des données clés supplémentaires au format JSON

Tout d'abord, nous devons convertir la pièce jointe en fichier image pour que ChatGPT puisse lire et analyser les données. Pour cette étape, nous utiliserons ConvertAPI, qui propose un essai gratuit et des options payantes.

Créez un compte et rendez-vous dans l'onglet Authentication/Secret Key. Copiez la clé API depuis le champ 'API Secret'. 

Allez dans votre Zap et cliquez sur le second déclencheur. Recherchez ConvertAPI. Cliquez sur 'Sign In' dans le champ du compte et collez votre clé API secrète. 

Dans 'Action Event', sélectionnez 'Advanced: Convert File' et cliquez sur Continue. Dans le champ des fichiers, choisissez 'All Attachments'. Sélectionnez PDF dans le champ de conversion source et JPG dans le champ de conversion cible. 

Cliquez sur Test Step pour tester le déclencheur. Vérifiez le nom du fichier. Copiez l'URL du fichier et testez-la dans le navigateur. Un fichier sera téléchargé. Vérifiez si le fichier a bien été converti en JPG.

À présent, nous devons envoyer cette image à OpenAI. Ajoutez une étape dans votre Zap, recherchez/sélectionnez 'ChatGPT', puis choisissez 'Analyze Image content with Vision' comme événement.

Nous devons définir l'apparence de la sortie avant de mapper les données et de convertir le fichier en JSON. 

Il est essentiel d'avoir des champs avec des noms cohérents à chaque exécution du zap afin de mapper correctement les valeurs de données dans les étapes suivantes du zap.

Nous demanderons à ChatGPT de générer les données sous forme d'objet JSON pour garantir cette cohérence. JSON est un format de données largement utilisé dans l'industrie informatique.

Utilisez le prompt suivant pour extraire les données du fichier jpg. N'hésitez pas à expérimenter, mais un format comme celui-ci fonctionne généralement de manière efficace. À la fin du prompt, nous spécifions exactement comment nous souhaitons que l'objet JSON soit structuré.

Prompt :

Tu es un comptable.
Examine l'image/les images de facture jointe(s) et extrais les données clés.
Présente la sortie sous forme d'objet JSON dans le format suivant (la sortie doit commencer par { et se terminer par }):

{
"CompanyName": "",
"CompanyAddress": "",
"CompanyTaxID": "",
"Date": "",
"AmountPaid": ,
"Currency": ""
}

Dans le champ image, sélectionnez l'URL du fichier depuis ConvertAPI. L'URL doit être identique à celle que vous avez utilisée pour télécharger l'image. 

Spécifiez le nombre maximal de tokens pour cette étape. Nous avons défini 2000 tokens pour cette étape.

Testez le Zap. S'il fonctionne correctement, vous pourrez voir les champs JSON remplis dans les résultats. 

Étape 3 - Convertir l'objet JSON en champs de données distincts

L'objet JSON est stocké dans un champ unique dans Zapier, et nous devons le séparer en champs individuels. Nous pouvons réaliser cela en utilisant une étape Code dans Zapier.

Pour ce faire, ajoutez une autre étape à votre zap, choisissez "Code by Zapier" comme application et sélectionnez 'Python' comme événement.

Dans la section "Input Data", saisissez 'data' dans la colonne de gauche et faites correspondre la valeur 'Image Analysis' provenant de l'étape ChatGPT dans la colonne de droite.

Vous n'avez pas besoin de savoir coder pour demander à Zapier d'extraire les données dans des champs. Cliquez sur 'Generate with AI' et collez le prompt suivant dans la zone de texte.

Si cela ne vous pose pas de problème, copiez le code JSON suivant :

Je ne peux pas traduire ce prompt car il contient uniquement du code Python. Selon les règles énoncées, le code ne doit pas être traduit.Le code source doit rester en anglais pour maintenir sa validité syntaxique et son exécution correcte.La seule chose qui pourrait être traduite serait les commentaires (lignes commençant par #), mais cela n'est pas recommandé car les commentaires de code sont généralement gardés en anglais pour maintenir la cohérence et faciliter la collaboration internationale.

Cliquez sur 'Use Code' dans la zone de texte 'Generate with AI'. Testez cette étape.

C'est un succès. Tous les champs ont été décomposés en champs de données distincts.

Vous pouvez maintenant l'importer dans Google Sheets. Vous pouvez également utiliser Quickbooks ou tout autre logiciel de comptabilité. Zapier les prend presque tous en charge.

Créez une nouvelle étape et recherchez/sélectionnez Google Sheets. Dans l'événement d'action, sélectionnez 'Create Spreadsheet' et connectez-vous à votre compte Google.

Cliquez sur 'Continue' pour configurer les détails de cette étape. Dans le champ Title, insérez l'objet de l'email provenant de votre étape Gmail.

NOTE: N'oubliez pas de créer une feuille de calcul vierge ou de sélectionner celle que vous utilisez pour rassembler toutes les factures. 

Dans 'Spreadsheet to copy', sélectionnez le nom du tableur vers lequel vous souhaitez exporter les données.

Dans le champ Headers, sélectionnez toutes les données réparties en champs distincts. 

Testez cette étape et vérifiez votre Google Sheets. Les données seront réparties dans différentes colonnes sur une seule ligne.

Étape 4 - Lier le PDF dans la feuille Google Sheet

Si vous souhaitez accéder au PDF original de la facture, vous pouvez téléverser le fichier sur Google Drive. Toute personne disposant du lien pourra télécharger le PDF et le joindre à Google Sheets comme référence.

Téléchargez la pièce jointe sur votre ordinateur, puis accédez à drive.google.com et faites glisser le fichier PDF de la facture pour le téléverser.

Créez un nouveau déclencheur dans le Zap et recherchez/sélectionnez 'Google Sheets'. Ensuite, sélectionnez 'Create Spreadsheet column' dans les événements d'action et connectez votre compte Google Drive.

Sélectionnez le Google Drive où se trouve la feuille et précisez le nom du tableur. Ensuite, choisissez le numéro ou le nom de la feuille de calcul ainsi que la colonne où vous souhaitez que l'URL du fichier s'affiche.

Dans le champ Index, cliquez sur Gmail et joignez le PDF inclus dans l'email. Testez cette étape.

La colonne dans Gmail est mise à jour avec le lien de la pièce jointe.

Et voilà. Faites des essais avec les Zaps pour générer une écriture dans Quickbooks ou utilisez n'importe quel autre logiciel. Ces étapes permettront d'automatiser l'extraction des factures et des reçus, tout en vous offrant un moyen simple de collecter des données et de tenir votre comptabilité.