Workflow n8n

Automatisation Google Drive avec n8n : gestion des factures

Ce workflow n8n a pour objectif d'automatiser la gestion des factures en les téléchargeant sur Google Drive à des moments précis. Dans un contexte où la gestion des documents est cruciale pour les entreprises, ce processus permet de réduire les erreurs humaines et d'optimiser le temps consacré à la gestion administrative. Par exemple, ce workflow peut être utilisé par des équipes comptables ou des PME qui souhaitent automatiser le stockage de leurs factures tout en assurant leur accessibilité. Le déclencheur principal est une tâche planifiée qui s'exécute tous les jours à 23h45. Lors de cette exécution, le workflow commence par récupérer la date actuelle, puis il accède aux dossiers de l'année et du mois sur Google Drive pour y stocker les factures. Ensuite, il utilise Gmail pour récupérer les factures reçues, les marque comme lues pour éviter les doublons, et les télécharge dans le dossier approprié sur Google Drive. Enfin, une notification est envoyée via Slack pour informer l'équipe que le processus a été effectué avec succès. Cette automatisation n8n permet non seulement de gagner du temps, mais aussi d'assurer une meilleure organisation des documents, ce qui est essentiel pour la conformité et la transparence au sein des entreprises. Tags clés : automatisation, Google Drive, Gmail.

Catégorie: Scheduled · Tags: automatisation, Google Drive, Gmail, Slack, workflow0

Vue d'ensemble du workflow n8n

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Détail des nœuds du workflow n8n

  • On clicking 'execute'

    Ce noeud déclenche manuellement l'exécution du workflow lorsque l'utilisateur clique sur 'exécuter'.

  • Current date

    Ce noeud génère et renvoie la date actuelle.

  • Every 23:45

    Ce noeud déclenche le workflow automatiquement tous les jours à 23h45.

  • Get Year folder

    Ce noeud récupère le dossier de l'année spécifiée dans Google Drive.

  • Get Month folder

    Ce noeud récupère le dossier du mois spécifié dans Google Drive.

  • Orlen Invoice

    Ce noeud récupère les factures d'Orlen à partir de Gmail.

  • Upload Invoice to Google Drive

    Ce noeud télécharge une facture sur Google Drive avec les données fournies.

  • Mark as Read

    Ce noeud marque un message Gmail comme lu en utilisant son ID.

  • Merge

    Ce noeud fusionne les données provenant de plusieurs sources selon le mode spécifié.

  • Slack

    Ce noeud envoie un message sur un canal Slack avec le texte et les options spécifiées.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": 3,
  "name": "Orlen",
  "nodes": [
    {
      "name": "On clicking 'execute'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        240,
        300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "name": "Current date",
      "type": "n8n-nodes-base.function",
      "position": [
        1160,
        960
      ],
      "parameters": {
        "functionCode": "var today = new Date();\nvar year = today.getFullYear();\nvar month = today.getMonth() + 1;\nvar day = today.getDate();\n\nif(month < 10) {\n  month = \"0\" + month;\n}\n\nitems[0].json.year = year;\nitems[0].json.month = month;\nitems[0].json.day = day;\n\nreturn items;"
      },
      "typeVersion": 1
    },
    {
      "name": "Every 23:45",
      "type": "n8n-nodes-base.cron",
      "position": [
        960,
        960
      ],
      "parameters": {
        "triggerTimes": {
          "item": [
            {
              "hour": 23,
              "minute": 45
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Get Year folder",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1360,
        960
      ],
      "parameters": {
        "options": {
          "fields": [
            "id"
          ]
        },
        "operation": "list",
        "queryFilters": {
          "name": [
            {
              "value": "={{$json[\"year\"]}}",
              "operation": "is"
            }
          ],
          "mimeType": [
            {
              "mimeType": "application/vnd.google-apps.folder"
            }
          ]
        },
        "authentication": "oAuth2"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "7",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Get Month folder",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1560,
        960
      ],
      "parameters": {
        "options": {
          "fields": [
            "id"
          ]
        },
        "operation": "list",
        "queryString": "='{{$json[\"id\"]}}' in parents and name = '{{$node[\"Current date\"].json[\"month\"]}}'",
        "authentication": "oAuth2",
        "useQueryString": true
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "7",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Orlen Invoice",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1760,
        960
      ],
      "parameters": {
        "resource": "message",
        "operation": "getAll",
        "returnAll": true,
        "additionalFields": {
          "q": "from:(orlenpay@orlen.pl) has:attachment is:unread",
          "format": "resolved"
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "5",
          "name": "dbarwikowski Gmail account"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Upload Invoice to Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1960,
        960
      ],
      "parameters": {
        "name": "=Orlen {{$binary.attachment_0.directory}}.{{$binary.attachment_0.fileExtension}}",
        "options": {},
        "parents": [
          "={{$node[\"Get Month folder\"].json[\"id\"]}}"
        ],
        "binaryData": true,
        "resolveData": true,
        "authentication": "oAuth2",
        "binaryPropertyName": "attachment_0"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "7",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Mark as Read",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2160,
        960
      ],
      "parameters": {
        "labelIds": [
          "UNREAD"
        ],
        "resource": "messageLabel",
        "messageId": "={{$node[\"Orlen Invoice\"].json[\"id\"]}}",
        "operation": "remove"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "5",
          "name": "dbarwikowski Gmail account"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        2280,
        960
      ],
      "parameters": {
        "mode": "mergeByIndex"
      },
      "typeVersion": 1
    },
    {
      "name": "Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        860,
        540
      ],
      "parameters": {
        "text": "=Kapitanie!\nDodano fakturę {{$node[\"Orlen Invoice\"].binary.attachment_0.directory}} do Firma/{{$node[\"Current date\"].json[\"year\"]}}/{{$node[\"Current date\"].json[\"month\"]}}",
        "channel": "n8n",
        "attachments": [],
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "6",
          "name": "Slack account"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "settings": {
    "timezone": "Europe/Warsaw",
    "saveExecutionProgress": "DEFAULT"
  },
  "createdAt": "2022-04-11T17:11:34.040Z",
  "updatedAt": "2022-04-11T21:59:45.898Z",
  "staticData": null,
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Upload Invoice to Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Every 23:45": {
      "main": [
        [
          {
            "node": "Orlen Invoice",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Current date": {
      "main": [
        [
          {
            "node": "Get Year folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Mark as Read": {
      "main": [
        [
          {
            "node": "Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Orlen Invoice": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Get Year folder": {
      "main": [
        [
          {
            "node": "Get Month folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Month folder": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On clicking 'execute'": {
      "main": [
        [
          {
            "node": "Orlen Invoice",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload Invoice to Google Drive": {
      "main": [
        [
          {
            "node": "Mark as Read",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Pour qui est ce workflow ?

Ce workflow s'adresse principalement aux PME et aux équipes comptables qui cherchent à optimiser leur gestion documentaire. Il est conçu pour des utilisateurs ayant un niveau technique intermédiaire, familiarisés avec les outils d'automatisation et de gestion de documents.

Problème résolu

Ce workflow résout le problème de la gestion manuelle des factures, qui peut être source d'erreurs et de pertes de temps. En automatisant le téléchargement et le stockage des factures, les utilisateurs réduisent les risques d'oubli et améliorent l'efficacité de leur processus administratif. Après mise en place, les utilisateurs bénéficient d'une gestion des documents plus fluide et d'une meilleure traçabilité des factures.

Étapes du workflow

Étape 1 : Le workflow est déclenché tous les jours à 23h45. Étape 2 : Il récupère la date actuelle pour l'utiliser dans le processus. Étape 3 : Le workflow accède au dossier de l'année et du mois sur Google Drive pour préparer le stockage des factures. Étape 4 : Il utilise Gmail pour récupérer les factures reçues et les marque comme lues. Étape 5 : Les factures sont ensuite téléchargées dans le dossier approprié sur Google Drive. Étape 6 : Enfin, une notification est envoyée via Slack pour informer l'équipe que le processus a été exécuté avec succès.

Guide de personnalisation du workflow n8n

Pour personnaliser ce workflow, vous pouvez modifier les paramètres de déclenchement pour ajuster l'heure d'exécution selon vos besoins. Il est également possible de changer les filtres de recherche dans Gmail pour cibler des factures spécifiques. Pour le stockage, vous pouvez adapter le nom des dossiers sur Google Drive en fonction de votre organisation. Assurez-vous de vérifier les autorisations d'accès pour Google Drive et Slack afin que le workflow fonctionne sans interruption. Enfin, vous pouvez ajouter d'autres intégrations ou notifications selon vos préférences.