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.
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
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.