Extracción y análisis automático de facturas con ChatGPT-4o-mini a través de Telegram
Este es unInvoice Processing, AI Summarizationflujo de automatización del dominio deautomatización que contiene 12 nodos.Utiliza principalmente nodos como If, Code, Telegram, HttpRequest, Agent. Extracción y análisis automatizados de facturas con ChatGPT-4o-mini en Telegram
- •Bot Token de Telegram
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Clave de API de OpenAI
Nodos utilizados (12)
{
"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": "Verificar si es Documento",
"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": "Obtener Archivo desde 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 Request - Descargar Archivo",
"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": "Extraer Datos de Factura",
"type": "n8n-nodes-base.extractFromFile",
"position": [
176,
-64
],
"parameters": {
"operation": "extractFromPDF"
},
"typeVersion": 1
},
{
"id": "c9bf8764-2bc9-4861-b477-bbb60d516f34",
"name": "AI Agent - Analizar Factura",
"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 Chat Model",
"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": "Formatear Respuesta",
"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": "Enviar Análisis a 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": "Enviar Mensaje de Error",
"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": "Nota Adhesiva",
"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": "Nota Adhesiva1",
"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
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio - Procesamiento de facturas, Resumen de IA
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
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.
Compartir este flujo de trabajo