Automatischer Rechnungsgenerator von Google Sheets zu Google Docs
Dies ist ein Document Extraction-Bereich Automatisierungsworkflow mit 11 Nodes. Hauptsächlich werden Merge, GoogleDocs, GoogleSheets, ManualTrigger und andere Nodes verwendet. Automatischer Rechnungsgenerator von Google Sheets zu Google Docs
- •Google Sheets API-Anmeldedaten
Verwendete Nodes (11)
Kategorie
{
"meta": {
"instanceId": "efb474b59b0341d7791932605bd9ff04a6c7ed9941fdd53dc4a2e4b99a6f9439",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "ede2cb2e-bb56-4870-94a4-c27c78509124",
"name": "Bei Klick auf 'Workflow ausführen'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-420,
560
],
"parameters": {},
"typeVersion": 1
},
{
"id": "85ff7b59-2c72-4846-953a-46ab1f50fee8",
"name": "Google Sheets",
"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": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
320,
880
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.2
},
{
"id": "736b3314-daf7-4bd2-82e0-9e23018091b5",
"name": "Rechnungsvorlage abrufen",
"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": "Neues Doc erstellen",
"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": "Inhalt in Doc einfügen",
"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": "Rechnungsdetails eingeben",
"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": "Notiz",
"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": "Notiz1",
"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": "Notiz2",
"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": "Notiz3",
"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
}
]
]
},
"85ff7b59-2c72-4846-953a-46ab1f50fee8": {
"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": "85ff7b59-2c72-4846-953a-46ab1f50fee8",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Fortgeschritten - Dokumentenextraktion
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
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.
Diesen Workflow teilen