Extraction et analyse automatiques de factures via Telegram avec ChatGPT-4o-mini
Ceci est unInvoice Processing, AI Summarizationworkflow d'automatisation du domainecontenant 12 nœuds.Utilise principalement des nœuds comme If, Code, Telegram, HttpRequest, Agent. Extraction automatisée pour l'analyse de factures avec ChatGPT-4o-mini via Telegram
- •Token Bot Telegram
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Clé API OpenAI
Nœuds utilisés (12)
Catégorie
{
"id": "sBbL7CfgioXi9VJc",
"meta": {
"instanceId": "b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"
},
"name": "Automate invoice analysis via Telegram with ChatGPT-4o-mini extraction",
"tags": [],
"nodes": [
{
"id": "b6433fae-ab23-4504-bf1c-07d98177799e",
"name": "Telegram Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-464,
32
],
"webhookId": "11b31e8e-4b0b-47a3-ba82-b4ffea5e34ae",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "e631a3ed-6930-4da7-a5dc-f33b4c852426",
"name": "Vérifier si document",
"type": "n8n-nodes-base.if",
"position": [
-304,
32
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1",
"operator": {
"type": "object",
"operation": "exists"
},
"leftValue": "={{ $json.message.document }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "a22e54b3-e4e0-4b67-8e8f-ef9a5f163fdb",
"name": "Obtenir fichier depuis Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
-128,
-64
],
"webhookId": "620221c5-ea8f-4c9e-bb04-b70114f27cb2",
"parameters": {
"fileId": "={{ $json.message.document.file_id }}",
"resource": "file",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "e93556dc-7af4-4e7d-9cb0-82aa0da39ed8",
"name": "HTTP Requête - Télécharger fichier",
"type": "n8n-nodes-base.httpRequest",
"position": [
32,
-64
],
"parameters": {
"url": "=https://api.telegram.org/file/bot{{ $credentials.telegramApi.accessToken }}/{{ $json.result.file_path }}",
"options": {
"response": {
"response": {
"responseFormat": "file"
}
}
}
},
"typeVersion": 4.2
},
{
"id": "aebfd1a1-bb29-4dbe-af72-4a6e986d4f79",
"name": "Extraire données de facture",
"type": "n8n-nodes-base.extractFromFile",
"position": [
176,
-64
],
"parameters": {
"operation": "extractFromPDF"
},
"typeVersion": 1
},
{
"id": "c9bf8764-2bc9-4861-b477-bbb60d516f34",
"name": "Agent IA - Analyser la facture",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
320,
-64
],
"parameters": {
"text": "=Analyze the following invoice text and extract key information:\n\n{{ $json.text }}\n\nProvide the following details:\n1. Invoice Number\n2. Invoice Date\n3. Vendor/Supplier Name\n4. Total Amount\n5. Currency\n6. Due Date\n7. Line Items (if available)\n8. Payment Status\n9. Any discrepancies or issues found\n\nFormat the response in a clear, structured manner.",
"options": {
"systemMessage": "You are an expert invoice analyst. Extract accurate information from invoices and identify any potential issues or discrepancies."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "baead0ff-8676-4e77-9084-bd28484fc797",
"name": "OpenAI Modèle de chat",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
320,
128
],
"parameters": {
"options": {
"temperature": 0.2
}
},
"credentials": {
"openAiApi": {
"id": "OGYj7DgYv5GFLFZk",
"name": "OpenAi account 2"
}
},
"typeVersion": 1
},
{
"id": "c149851f-3c38-4827-b1e9-14dbdbdd9172",
"name": "Formater la réponse",
"type": "n8n-nodes-base.code",
"position": [
576,
-64
],
"parameters": {
"jsCode": "const aiResponse = $input.first().json.output;\nconst originalMessage = $('Telegram Trigger').first().json;\n\nreturn {\n json: {\n chatId: originalMessage.message.chat.id,\n analysis: aiResponse,\n fileName: originalMessage.message.document?.file_name || 'Unknown',\n timestamp: new Date().toISOString()\n }\n};"
},
"typeVersion": 2
},
{
"id": "b6c9a341-c390-4d8e-8ab7-ef7896bf87b4",
"name": "Envoyer l'analyse à Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
720,
-64
],
"webhookId": "c8fc2be4-fef6-4434-86a8-4630d8c9c3b4",
"parameters": {
"text": "=📄 *Invoice Analysis Complete*\n\n*File:* {{ $json.fileName }}\n*Analyzed at:* {{ $json.timestamp }}\n\n*Results:*\n{{ $json.analysis }}\n\n✅ Analysis completed successfully!",
"chatId": "={{ $json.chatId }}",
"additionalFields": {
"parse_mode": "Markdown"
}
},
"typeVersion": 1.2
},
{
"id": "267e3223-6e60-432e-bb6d-980c2821b0e5",
"name": "Envoyer message d'erreur",
"type": "n8n-nodes-base.telegram",
"position": [
-128,
112
],
"webhookId": "b419141c-c0cc-42ba-a2af-6ff60bfa6ba6",
"parameters": {
"text": "❌ Please send a document file (PDF or image) to check the invoice.",
"chatId": "={{ $json.message.chat.id }}",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "2f8e4a85-0db5-421a-93c1-b5a5cc8c701c",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1024,
-256
],
"parameters": {
"width": 544,
"height": 624,
"content": "## Introduction\nUpload invoices via Telegram, receive structured data instantly. Perfect for accountants and finance teams.\n## How It Works\nTelegram bot receives invoices, downloads files, extracts data using OpenAI, then returns analysis.\n## Workflow Template\nTelegram Trigger → Document Check → Get File → HTTP Download → AI Extract → Format Response → Send to Telegram\n## Workflow Steps\n1. **Telegram Trigger:** Listens for uploads.\n2. **Document Check:** Validates files; routes errors.\n3. **Get File:** Retrieves metadata.\n4. **HTTP Download:** Fetches content.\n5. **AI Extract:** OpenAI parses invoice fields.\n6. **Format Response:** Structures data.\n7. **Send Analysis:** Delivers to chat.\n## Setup Instructions\n1. **Telegram Bot:** Create via BotFather, add credentials.\n2. **OpenAI Agent:** Add API key and extraction prompt.\n3. **HTTP Node:** Set authentication.\n4. **Parser:** Define invoice schema.\n5. **Error Handling:** Configure fallbacks.\n"
},
"typeVersion": 1
},
{
"id": "80d92c1c-d7b6-47ae-8f9d-8520e61708a8",
"name": "Note adhésive 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
512,
112
],
"parameters": {
"color": 4,
"width": 320,
"height": 288,
"content": "## Prerequisites\n- n8n instance\n- Telegram Bot Token\n- OpenAI API key\n## Customization\n- Database storage\n- Accounting software integration\n## Benefits\n- Eliminates manual entry\n- Reduces errors"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "8c2bf80d-d1f6-4b32-bd5a-cf0b88f24786",
"connections": {
"c149851f-3c38-4827-b1e9-14dbdbdd9172": {
"main": [
[
{
"node": "b6c9a341-c390-4d8e-8ab7-ef7896bf87b4",
"type": "main",
"index": 0
}
]
]
},
"b6433fae-ab23-4504-bf1c-07d98177799e": {
"main": [
[
{
"node": "e631a3ed-6930-4da7-a5dc-f33b4c852426",
"type": "main",
"index": 0
}
]
]
},
"e631a3ed-6930-4da7-a5dc-f33b4c852426": {
"main": [
[
{
"node": "a22e54b3-e4e0-4b67-8e8f-ef9a5f163fdb",
"type": "main",
"index": 0
}
],
[
{
"node": "267e3223-6e60-432e-bb6d-980c2821b0e5",
"type": "main",
"index": 0
}
]
]
},
"baead0ff-8676-4e77-9084-bd28484fc797": {
"ai_languageModel": [
[
{
"node": "c9bf8764-2bc9-4861-b477-bbb60d516f34",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"aebfd1a1-bb29-4dbe-af72-4a6e986d4f79": {
"main": [
[
{
"node": "c9bf8764-2bc9-4861-b477-bbb60d516f34",
"type": "main",
"index": 0
}
]
]
},
"a22e54b3-e4e0-4b67-8e8f-ef9a5f163fdb": {
"main": [
[
{
"node": "e93556dc-7af4-4e7d-9cb0-82aa0da39ed8",
"type": "main",
"index": 0
}
]
]
},
"c9bf8764-2bc9-4861-b477-bbb60d516f34": {
"main": [
[
{
"node": "c149851f-3c38-4827-b1e9-14dbdbdd9172",
"type": "main",
"index": 0
}
]
]
},
"e93556dc-7af4-4e7d-9cb0-82aa0da39ed8": {
"main": [
[
{
"node": "aebfd1a1-bb29-4dbe-af72-4a6e986d4f79",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Traitement des factures, Résumé IA
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Cheng Siong Chin
@cschinProf. Cheng Siong CHIN serves as Chair Professor in Intelligent Systems Modelling and Simulation in Newcastle University, Singapore. His academic credentials include an M.Sc. in Advanced Control and Systems Engineering from The University of Manchester and a Ph.D. in Robotics from Nanyang Technological University.
Partager ce workflow