Generate XRechnung from Google Sheets
Create compliant XRechnung e-invoices directly from a Google Sheets spreadsheet and automatically email them to customers.
How This Workflow Works

- 1
Reads pending invoices from a Google Sheets spreadsheet
- 2
Maps spreadsheet columns to the e-invoice JSON format
- 3
Generates compliant XRechnung (EN 16931) via the API
- 4
Emails the XRechnung XML as attachment to the customer
- 5
Updates the status in Google Sheets to 'sent'
Why This Matters
Most small businesses already track invoices in spreadsheets. This workflow turns your existing Google Sheet into an e-invoice generator — no ERP system needed.
Google Sheets Structure
| Column | Type | Example | Description |
|---|---|---|---|
invoiceNumber | Text | RE-2025-001 | Unique invoice number |
invoiceDate | Date | 2025-01-15 | Invoice issue date (YYYY-MM-DD) |
dueDate | Date | 2025-02-15 | Payment due date (optional, default: +30 days) |
sellerName | Text | Meine Firma GmbH | Seller company name |
sellerVatId | Text | DE123456789 | Seller VAT ID |
buyerName | Text | Kunde AG | Buyer company name |
buyerVatId | Text | DE987654321 | Buyer VAT ID |
buyerEmail | Text | rechnung@kunde.de | Buyer email (XRechnung is sent here) |
itemDescription | Text | Consulting January | Line item description |
itemQuantity | Number | 10 | Quantity |
itemUnitPrice | Number | 150.00 | Unit price (net) |
itemVatRate | Number | 19 | VAT rate in percent |
subtotal | Number | 1500.00 | Net total amount |
total | Number | 1785.00 | Gross total amount |
status | Text | pending | Only rows with 'pending' are processed |
Setup Steps
- 1
Create a Google Sheet with 'Invoices' tab and column headers
- 2
Import example CSV or enter your own data
- 3
Enter the Spreadsheet ID in both Google Sheets nodes
- 4
Install the community node and set up credentials
- 5
Execute workflow — only rows with status=pending are processed
Preview (truncated)
1{2 "name": "Generate XRechnung from Google Sheets",3 "nodes": [4 {5 "id": "trigger-sheets-gen",6 "name": "Manual Trigger",7 "type": "n8n-nodes-base.manualTrigger",8 "typeVersion": 1,9 "position": [400, 600],10 "parameters": {}11 },12 {13 "id": "read-sheets-gen",14 "name": "Google Sheets: Read Invoices",15 "type": "n8n-nodes-base.googleSheets",16 "typeVersion": 4.7,17 "position": [640, 600],18 "parameters": {19 "operation": "read",20 "documentId": {21 "__rl": true,22 "value": "your-spreadsheet-id",23 "mode": "id"24 },25 "sheetName": {26 "__rl": true,27 "value": "Invoices",28 "mode": "name"29 },30 "range": "A:Z",31 // ... (truncated)Use Cases
Small Business
Generate XRechnung from your existing invoice spreadsheet
Freelancers
Create compliant e-invoices for public sector clients (B2G)
E-Invoice Mandate 2025
Be ready for the German B2B e-invoicing mandate
Batch Sending
Process multiple invoices at once