Analizador de Facturas en PDF Impulsado por IA - Google Drive, Google Sheets y OpenAI
Este es unFinance, AIflujo de automatización del dominio deautomatización que contiene 10 nodos.Utiliza principalmente nodos como GoogleDrive, GoogleSheets, Agent, ExtractFromFile, GoogleDriveTrigger, combinando tecnología de inteligencia artificial para lograr automatización inteligente. Analizador de facturas en PDF impulsado por IA basado en Google Drive, Google Sheets y OpenAI
- •Credenciales de API de Google Drive
- •Credenciales de API de Google Sheets
- •Clave de API de OpenAI
Nodos utilizados (10)
Categoría
{
"meta": {
"instanceId": "d1786ab0d745a7498abf13a9c2cdabb1374c006e889b79eef64ce0386b8f8a41",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "5c1a182c-3485-48db-91b2-d46f0f1d3fd5",
"name": "Modelo de Chat OpenAI",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
560,
200
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "MGwGMKEkdcjzlYCw",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "45f94af9-147a-434c-aef5-fc3f7e60a140",
"name": "Analizador de Salida Estructurada",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
780,
200
],
"parameters": {
"jsonSchemaExample": "{\n \"invoice_number\": \"\",\n \"invoice_date\": \"\",\n \"due_date\": \"\",\n \"vendor_name\": \"\",\n \"total_amount\": \"\",\n \"currency\": \"\",\n \"items\": [\n {\n \"description\": \"\",\n \"amount\": \"\"\n }\n ],\n \"tax\": \"\",\n \"category\": \"\"\n}"
},
"typeVersion": 1.2
},
{
"id": "01c8daa7-81e1-46cd-b927-f264e90391b4",
"name": "Monitor de Carpeta de Facturas",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
0,
0
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "id",
"value": "1KJ4fvXcKVMGJunsKvPYf8PkX5K9SVwFk"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "SEUhrgz30NMJS3cH",
"name": "Google Drive account"
}
},
"typeVersion": 1
},
{
"id": "af299424-233a-4ac0-a92b-7f456d11e15a",
"name": "Descargar PDF de Factura",
"type": "n8n-nodes-base.googleDrive",
"position": [
200,
0
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "SEUhrgz30NMJS3cH",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "e896d679-a064-459a-8e4f-603436879cda",
"name": "Extractor de Texto PDF",
"type": "n8n-nodes-base.extractFromFile",
"position": [
400,
0
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "f43fe296-b04b-41fd-ad4d-a845d009e80f",
"name": "Agente de IA para Análisis de Facturas",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
580,
0
],
"parameters": {
"text": "=You are an intelligent invoice parser. I will give you raw text extracted from a PDF invoice. \n\n========================\nSTART OF RAW INVOICE TEXT\n\n{{ $json.text }}\n\nEND OF RAW INVOICE TEXT\n========================\n\nYour job is to:\n\n1. Extract key information from the invoice such as:\n - invoice_number\n - invoice_date\n - due_date (if available)\n - vendor_name\n - total_amount\n - currency (e.g., USD, IDR, etc.)\n - items (as a list of item descriptions and their amounts)\n - tax (if available)\n\n2. Detect the invoice **category**, such as:\n - Utilities\n - Office Supplies\n - Travel\n - Software\n - Food & Beverage\n - Others (if unknown)\n\n3. Return the result in this exact JSON format:\n\n```json\n{\n \"invoice_number\": \"\",\n \"invoice_date\": \"\",\n \"due_date\": \"\",\n \"vendor_name\": \"\",\n \"total_amount\": \"\",\n \"currency\": \"\",\n \"items\": [\n {\n \"description\": \"\",\n \"amount\": \"\"\n }\n ],\n \"tax\": \"\",\n \"category\": \"\"\n}\n",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "00eec735-03c4-4a78-829c-54354613812a",
"name": "Insertar Datos de Factura",
"type": "n8n-nodes-base.googleSheets",
"position": [
920,
0
],
"parameters": {
"columns": {
"value": {
"Tax": "={{ $json.output.tax }}",
"Items": "={{ $json.output.items }}",
"Category": "={{ $json.output.category }}",
"Currency": "={{ $json.output.currency }}",
"Due Date": "={{ $json.output.due_date }}",
"Vendor Name": "={{ $json.output.vendor_name }}",
"Invoice Date": "={{ $json.output.invoice_date }}",
"Total Amount": "={{ $json.output.total_amount }}",
"Invoice Number": "={{ $json.output.invoice_number }}"
},
"schema": [
{
"id": "Invoice Number",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Invoice Number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Invoice Date",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Invoice Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Due Date",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Due Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Vendor Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Vendor Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Total Amount",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Total Amount",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Currency",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Currency",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Items",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Items",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Tax",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Tax",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Category",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Category",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u5dHeytao9y3L0Mgv8cSomPVLS3CMrn_eOwXW3oQ3c8/edit#gid=0",
"cachedResultName": "Invoices"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1u5dHeytao9y3L0Mgv8cSomPVLS3CMrn_eOwXW3oQ3c8",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u5dHeytao9y3L0Mgv8cSomPVLS3CMrn_eOwXW3oQ3c8/edit?usp=drivesdk",
"cachedResultName": "PDF Invoice Parser - n8n template"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "ypmzFxQFfAacuVVC",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "78ead6a4-7ae7-4182-a7f1-eebb7f38d776",
"name": "Nota Adhesiva 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
-100
],
"parameters": {
"color": 4,
"width": 280,
"height": 400,
"content": "## SETUP REQUIRED\n\nGoogle Sheets Structure:\nSheet: \"Invoices\"\n• Column A: Invoice Number \n• Column B: Invoice Date \n• Column C: Due Date \n• Column D: Vendor Name \n• Column E: Total Amount \n• Column F: Currency \n• Column G: Items \n• Column H: Tax \n• Column I: Category \n\nRequired Credentials:\n• Google Drive Credential \n• Google Sheets Credential \n• OpenAI API Key (GPT-4)\n"
},
"typeVersion": 1
},
{
"id": "45fc8d0a-c76a-4c2a-871e-19ad144993f0",
"name": "Nota Adhesiva 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
340
],
"parameters": {
"color": 5,
"width": 460,
"height": 400,
"content": "## 🧾 AI-Powered PDF Invoice Parser for Google Drive & Sheets\n\nWhat This Template Does:\n\n- Monitors a designated Google Drive folder for new incoming PDF invoices \n- Automatically downloads and extracts text content from the PDFs \n- Uses GPT-4 to intelligently parse and structure invoice data (amount, vendor, items, date, etc.) \n- Categorizes invoices by type (Office Supplies, Food & Beverage, etc.) \n- Saves all parsed invoice data into a Google Sheets document \n- Fully automates invoice processing and bookkeeping for businesses "
},
"typeVersion": 1
},
{
"id": "d85f3e8e-38cc-4a12-9592-ce32373ddcf9",
"name": "Nota Adhesiva 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
340
],
"parameters": {
"color": 5,
"width": 400,
"height": 340,
"content": "## 📋 WORKFLOW PROCESS OVERVIEW\n\nStep 1: 📂 Invoice Folder Monitor watches a specific Google Drive folder for new PDF invoices \nStep 2: ⬇️ Download Invoice PDF downloads the new invoice as binary data \nStep 3: 🔍 PDF Text Extractor converts the PDF binary into readable text using OCR and extraction tools \nStep 4: 🤖 Invoice Parser AI Agent (GPT-4) analyzes the text and extracts structured invoice data in JSON format \nStep 5: 📝 Insert Invoice Data appends the structured invoice data to the Google Sheets \"Invoices\""
},
"typeVersion": 1
}
],
"pinData": {
"Invoice Folder Monitor": [
{
"id": "168eK7xkg9bhZRC9Nn3aoVbeU--Cy_4ie",
"kind": "drive#file",
"name": "invoice123123.pdf",
"size": "43627",
"owners": [
{
"me": true,
"kind": "drive#user",
"photoLink": "https://lh3.googleusercontent.com/a/ACg8ocKYEvqVbfrYpVM3Esbt8CDt_Fije42MxkdcBFDBR1qni7Tgw5j7=s64",
"displayName": "Billy Christi Hartanto",
"emailAddress": "billychartanto@gmail.com",
"permissionId": "06783842879122931240"
}
],
"shared": false,
"spaces": [
"drive"
],
"parents": [
"1KJ4fvXcKVMGJunsKvPYf8PkX5K9SVwFk"
],
"starred": false,
"trashed": false,
"version": "3",
"iconLink": "https://drive-thirdparty.googleusercontent.com/16/type/application/pdf",
"mimeType": "application/pdf",
"ownedByMe": true,
"viewedByMe": true,
"createdTime": "2025-05-27T08:17:54.309Z",
"md5Checksum": "c1bda6d4249306eeb6b30da641eb2ad8",
"permissions": [
{
"id": "06783842879122931240",
"kind": "drive#permission",
"role": "owner",
"type": "user",
"deleted": false,
"photoLink": "https://lh3.googleusercontent.com/a/ACg8ocKYEvqVbfrYpVM3Esbt8CDt_Fije42MxkdcBFDBR1qni7Tgw5j7=s64",
"displayName": "Billy Christi Hartanto",
"emailAddress": "billychartanto@gmail.com",
"pendingOwner": false
}
],
"webViewLink": "https://drive.google.com/file/d/168eK7xkg9bhZRC9Nn3aoVbeU--Cy_4ie/view?usp=drivesdk",
"capabilities": {
"canCopy": true,
"canEdit": true,
"canShare": true,
"canTrash": true,
"canDelete": true,
"canRename": true,
"canComment": true,
"canUntrash": true,
"canDownload": true,
"canReadLabels": false,
"canAddChildren": false,
"canListChildren": false,
"canModifyLabels": false,
"canModifyContent": true,
"canReadRevisions": true,
"canRemoveChildren": false,
"canAcceptOwnership": false,
"canAddMyDriveParent": false,
"canMoveItemOutOfDrive": true,
"canMoveItemWithinDrive": true,
"canRemoveMyDriveParent": true,
"canMoveItemIntoTeamDrive": true,
"canMoveChildrenWithinDrive": false,
"canModifyContentRestriction": true,
"canRemoveContentRestriction": false,
"canEnableInheritedPermissions": true,
"canChangeSecurityUpdateEnabled": false,
"canChangeViewersCanCopyContent": true,
"canDisableInheritedPermissions": false,
"canModifyOwnerContentRestriction": true,
"canModifyEditorContentRestriction": true,
"canChangeCopyRequiresWriterPermission": true
},
"hasThumbnail": true,
"modifiedByMe": true,
"modifiedTime": "2025-05-27T08:17:38.000Z",
"sha1Checksum": "54243509f843e8ec9f2913715d9ae0f6df14cdde",
"fileExtension": "pdf",
"permissionIds": [
"06783842879122931240"
],
"thumbnailLink": "https://lh3.googleusercontent.com/drive-storage/AJQWtBNR_JHmbwFJT9hZOqNB1DU8CkWed-A0mH2ukYEDpQt7OdutXoLStFjhGHdTvgpzX3ORUOqOVaAeNqt9vuUJt0KUQ_0L0nxkCqXPZ68ybuhugn0=s220",
"headRevisionId": "0B3oBzhOa0rqUUCtZU3E5TDBGaUkrTEhETWNKQ1h0L2djcFRZPQ",
"quotaBytesUsed": "43627",
"sha256Checksum": "c2de358a0974f9b047aed8e457def7d4b1b39170f44819ec3152b42db787d72e",
"viewedByMeTime": "2025-05-27T08:17:54.309Z",
"webContentLink": "https://drive.google.com/uc?id=168eK7xkg9bhZRC9Nn3aoVbeU--Cy_4ie&export=download",
"isAppAuthorized": false,
"writersCanShare": true,
"modifiedByMeTime": "2025-05-27T08:17:38.000Z",
"originalFilename": "invoice123123.pdf",
"thumbnailVersion": "1",
"explicitlyTrashed": false,
"fullFileExtension": "pdf",
"lastModifyingUser": {
"me": true,
"kind": "drive#user",
"photoLink": "https://lh3.googleusercontent.com/a/ACg8ocKYEvqVbfrYpVM3Esbt8CDt_Fije42MxkdcBFDBR1qni7Tgw5j7=s64",
"displayName": "Billy Christi Hartanto",
"emailAddress": "billychartanto@gmail.com",
"permissionId": "06783842879122931240"
},
"linkShareMetadata": {
"securityUpdateEnabled": true,
"securityUpdateEligible": false
},
"viewersCanCopyContent": true,
"copyRequiresWriterPermission": false,
"inheritedPermissionsDisabled": false
}
]
},
"connections": {
"5c1a182c-3485-48db-91b2-d46f0f1d3fd5": {
"ai_languageModel": [
[
{
"node": "f43fe296-b04b-41fd-ad4d-a845d009e80f",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"e896d679-a064-459a-8e4f-603436879cda": {
"main": [
[
{
"node": "f43fe296-b04b-41fd-ad4d-a845d009e80f",
"type": "main",
"index": 0
}
]
]
},
"af299424-233a-4ac0-a92b-7f456d11e15a": {
"main": [
[
{
"node": "e896d679-a064-459a-8e4f-603436879cda",
"type": "main",
"index": 0
}
]
]
},
"01c8daa7-81e1-46cd-b927-f264e90391b4": {
"main": [
[
{
"node": "af299424-233a-4ac0-a92b-7f456d11e15a",
"type": "main",
"index": 0
}
]
]
},
"f43fe296-b04b-41fd-ad4d-a845d009e80f": {
"main": [
[
{
"node": "00eec735-03c4-4a78-829c-54354613812a",
"type": "main",
"index": 0
}
]
]
},
"45f94af9-147a-434c-aef5-fc3f7e60a140": {
"ai_outputParser": [
[
{
"node": "f43fe296-b04b-41fd-ad4d-a845d009e80f",
"type": "ai_outputParser",
"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 - Finanzas, Inteligencia Artificial
¿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
Billy Christi
@billyI'm a professional software engineer and n8n expert with a passion for building scalable, no-code and low-code automation workflows. I specialize in creating seamless integrations between APIs, CRMs, and everyday tools to help businesses save time, reduce manual work, and operate smarter. Whether it's automating marketing pipelines, backend systems, or approval processes, I turn complex logic into simple, powerful workflows with n8n.
Compartir este flujo de trabajo