Generador automático de facturas de Google Sheets a Google Docs
Este es unDocument Extractionflujo de automatización del dominio deautomatización que contiene 11 nodos.Utiliza principalmente nodos como Merge, GoogleDocs, GoogleSheets, ManualTrigger. Generador automático de facturas de Google Sheets a Google Docs
- •Credenciales de API de Google Sheets
Nodos utilizados (11)
Categoría
{
"meta": {
"instanceId": "efb474b59b0341d7791932605bd9ff04a6c7ed9941fdd53dc4a2e4b99a6f9439",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "ede2cb2e-bb56-4870-94a4-c27c78509124",
"name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-420,
560
],
"parameters": {},
"typeVersion": 1
},
{
"id": "85ff7b59-2c72-4846-953a-46ab1f50fee8",
"name": "Hojas de Google",
"type": "n8n-nodes-base.googleSheets",
"position": [
-240,
880
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MHVZRVo5aPs5VqRXk7lBNPVlZ2gilKqZ8J9yeg4taW4/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1MHVZRVo5aPs5VqRXk7lBNPVlZ2gilKqZ8J9yeg4taW4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MHVZRVo5aPs5VqRXk7lBNPVlZ2gilKqZ8J9yeg4taW4/edit?usp=drivesdk",
"cachedResultName": "Invoices"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "WsgMg14OYooIdvn7",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "e92eee15-18b1-4851-92ae-985d666b1857",
"name": "Combinar",
"type": "n8n-nodes-base.merge",
"position": [
320,
880
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.2
},
{
"id": "736b3314-daf7-4bd2-82e0-9e23018091b5",
"name": "Obtener Plantilla de Factura",
"type": "n8n-nodes-base.googleDocs",
"position": [
100,
800
],
"parameters": {
"operation": "get",
"documentURL": "18n0HTqabDldi7fVbhbI1aG12qbFWsjyTXdduwDDOUu8"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "iOuZirVwbwI3E51t",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "97b2ea4d-4904-49f5-bb1e-ae7e71156640",
"name": "Crear Nuevo Doc",
"type": "n8n-nodes-base.googleDocs",
"position": [
120,
980
],
"parameters": {
"title": "=Invoice: {{ $json.Invoice }}",
"folderId": "1TnDibwPPPUm3VbmETiqWDVhtaUTLJ6mn"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "iOuZirVwbwI3E51t",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "86fb16bb-484b-44df-b4f5-25fde65a6c7f",
"name": "Insertar Contenido en Doc",
"type": "n8n-nodes-base.googleDocs",
"position": [
600,
540
],
"parameters": {
"actionsUi": {
"actionFields": [
{
"text": "={{ $json.content }}",
"action": "insert"
}
]
},
"operation": "update",
"documentURL": "={{ $json.id }}"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "iOuZirVwbwI3E51t",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "89810e9d-685e-4007-be83-0686ea779163",
"name": "Ingresar Detalles de Factura",
"type": "n8n-nodes-base.googleDocs",
"position": [
800,
940
],
"parameters": {
"actionsUi": {
"actionFields": [
{
"text": "=FromCompany#",
"action": "replaceAll",
"replaceText": "={{ $('Google Sheets').item.json['Company From'] }}"
},
{
"text": "ToCompany#",
"action": "replaceAll",
"replaceText": "={{ $('Google Sheets').item.json['Company To'] }}"
},
{
"text": "Terms#",
"action": "replaceAll",
"replaceText": "={{ $('Google Sheets').item.json.Terms }}"
},
{
"text": "Invoice#",
"action": "replaceAll",
"replaceText": "={{ $('Google Sheets').item.json.Invoice }}"
},
{
"text": "Description#",
"action": "replaceAll",
"replaceText": "={{ $('Google Sheets').item.json.Description }}"
},
{
"text": "Amount#",
"action": "replaceAll",
"replaceText": "={{ $('Google Sheets').item.json.Amount }}\n"
}
]
},
"operation": "update",
"documentURL": "={{ $('Merge').item.json.id }}"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "iOuZirVwbwI3E51t",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "d9d22f6b-bd25-4af5-b460-c76e9a9c527b",
"name": "Nota Adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-460,
-60
],
"parameters": {
"color": 3,
"width": 480,
"height": 1220,
"content": "### Step 1: **Manual Trigger**\n- Node: `When clicking ‘Execute workflow’`\n- Use this to manually execute the workflow during testing or on-demand runs.\n\n---\n\n### Step 2: **Google Sheets — Load Invoice Data**\n- Node: `Google Sheets`\n- Pulls rows from this [Google Sheet](https://docs.google.com/spreadsheets/d/1MHVZRVo5aPs5VqRXk7lBNPVlZ2gilKqZ8J9yeg4taW4/edit#gid=0) \n- **Sheet Expectations**:\n - Columns: `Company From`, `Company To`, `Terms`, `Invoice`, `Description`, `Amount`\n\n**Required Credentials**:\n- **Google Sheets OAuth2** \n Follow these steps:\n 1. Go to [Google Cloud Console](https://console.cloud.google.com/)\n 2. Enable the **Google Sheets API**\n 3. Create OAuth 2.0 credentials\n 4. Add redirect URI: \n ```\n https://api.n8n.cloud/oauth2-credential/callback\n ```"
},
"typeVersion": 1
},
{
"id": "ad368f70-57a1-4693-9763-d7d2b8980efe",
"name": "Nota Adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
40,
-60
],
"parameters": {
"color": 4,
"width": 460,
"height": 1220,
"content": "### ### Step 3: `Get Invoice Template` — Load Google Doc \nLoads a static Google Docs template containing placeholder values.\n\n- 🧾 **Template URL**: [Copy This Template](https://docs.google.com/document/d/18n0HTqabDldi7fVbhbI1aG12qbFWsjyTXdduwDDOUu8/edit)\n- **Required Placeholders** in the document:\n ```\n FromCompany#\n ToCompany#\n Terms#\n Invoice#\n Description#\n Amount#\n ```\n\n> 🔑 **Credentials Required**: \n> Connect to **Google Docs OAuth2 API** in n8n.\n\n---\n\n### ### Step 4: `Create New Doc` — Make Invoice File \nCreates a new Google Doc by duplicating the invoice template.\n\n- **Title Format**: `Invoice: {{ $json.Invoice }}`\n- **Destination Folder ID**: `1TnDibwPPPUm3VbmETiqWDVhtaUTLJ6mn` \n *(You can change this to your own Google Drive folder)*\n\n> 🔐 Make sure your Google Docs credential has write access to this folder.\n\n---\n\n### ### Step 5: `Merge` — Combine Data \nMerges the loaded document and spreadsheet row together for downstream updates.\n\n---"
},
"typeVersion": 1
},
{
"id": "a17e1690-a974-4552-88d2-5d87b89f5045",
"name": "Nota Adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
520,
-60
],
"parameters": {
"color": 5,
"width": 480,
"height": 1220,
"content": "### ### Step 7: `Input Invoice Details` — Replace Fields \nUses Google Docs API to replace all placeholders from the original template with the actual values.\n\n**Replacements:**\n\n| Placeholder | Replaced With |\n|----------------|------------------------------|\n| FromCompany# | `Company From` from sheet |\n| ToCompany# | `Company To` from sheet |\n| Terms# | `Terms` from sheet |\n| Invoice# | `Invoice` number |\n| Description# | `Description` of service |\n| Amount# | `Amount` of invoice |\n\n---\n\n## 📤 Final Output\n\nEach row from the Google Sheet results in a completed, branded Google Doc invoice stored in your Drive.\n\n---"
},
"typeVersion": 1
},
{
"id": "9a875848-3be3-4763-8c08-05c2db7d4601",
"name": "Nota Adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-460,
-180
],
"parameters": {
"width": 1460,
"height": 100,
"content": "## 💬 Need Help?\n📧 rbreen@ynteractive.com\n🔗 [LinkedIn](https://www.linkedin.com/in/robert-breen-29429625/)"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"e92eee15-18b1-4851-92ae-985d666b1857": {
"main": [
[
{
"node": "86fb16bb-484b-44df-b4f5-25fde65a6c7f",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets": {
"main": [
[
{
"node": "97b2ea4d-4904-49f5-bb1e-ae7e71156640",
"type": "main",
"index": 0
}
]
]
},
"97b2ea4d-4904-49f5-bb1e-ae7e71156640": {
"main": [
[
{
"node": "e92eee15-18b1-4851-92ae-985d666b1857",
"type": "main",
"index": 1
}
]
]
},
"736b3314-daf7-4bd2-82e0-9e23018091b5": {
"main": [
[
{
"node": "e92eee15-18b1-4851-92ae-985d666b1857",
"type": "main",
"index": 0
}
]
]
},
"86fb16bb-484b-44df-b4f5-25fde65a6c7f": {
"main": [
[
{
"node": "89810e9d-685e-4007-be83-0686ea779163",
"type": "main",
"index": 0
}
]
]
},
"ede2cb2e-bb56-4870-94a4-c27c78509124": {
"main": [
[
{
"node": "736b3314-daf7-4bd2-82e0-9e23018091b5",
"type": "main",
"index": 0
},
{
"node": "Google Sheets",
"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 - Extracción de documentos
¿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
Robert Breen
@rbreenProfessional services consultant with over 10 years of experience solving complex business problems across industries. I specialize in n8n and process automation—designing custom workflows that integrate tools like Google Calendar, Airtable, GPT, and internal systems. Whether you need to automate scheduling, sync data, or streamline operations, I build solutions that save time and drive results.
Compartir este flujo de trabajo