Generador automático de facturas de Google Sheets a Google Docs

Intermedio

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

Requisitos previos
  • Credenciales de API de Google Sheets
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿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

Agregación de datos de gasto de marketing en Google Sheets usando tablas dinámicas personalizadas y VLOOKUP
Agregación de datos de gastos de marketing usando tablas dinámicas personalizadas y VLOOKUP en Google Sheets
Merge
Summarize
Google Sheets
+
Merge
Summarize
Google Sheets
10 NodosRobert Breen
Extracción de documentos
Informe automatizado de rendimiento de marketing por correo electrónico
Generación automatizada de informes de rendimiento de marketing por correo electrónico usando Google Sheets y Outlook
Merge
Summarize
Google Sheets
+
Merge
Summarize
Google Sheets
13 NodosRobert Breen
Extracción de documentos
Análisis de datos para principiantes: fusionar, filtrar y resumir en Google Sheets con GPT-4o
Análisis de datos para principiantes: fusionar, filtrar y resumir en Google Sheets con GPT-4o
If
Set
Code
+
If
Set
Code
21 NodosRobert Breen
Extracción de documentos
Crear libros de Excel de varias hojas usando Google Drive y Sheets mediante la fusión de conjuntos de datos
Crear libros de Excel de varias hojas usando Google Drive y Sheets mediante la fusión de conjuntos de datos
Code
Merge
Google Drive
+
Code
Merge
Google Drive
12 NodosRobert Breen
Extracción de documentos
Generar informes de marketing desde Google Sheets usando GPT-4 y PDF.co
Usar GPT-4 insights y PDF.co para generar informes de marketing a partir de Google Sheets
Code
Merge
Aggregate
+
Code
Merge
Aggregate
15 NodosRobert Breen
Extracción de documentos
Grabador de notas de podcast
Crear guiones de anuncios de Meta de alta tasa de conversión utilizando datos de rendimiento combinados de GPT y Gemini
Set
Code
Merge
+
Set
Code
Merge
24 NodosRobert Breen
Extracción de documentos
Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos11
Categoría1
Tipos de nodos5
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
Robert Breen

Robert Breen

@rbreen

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

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34