n8n Integration
Community Node AvailableOpen-source workflow automation with self-hosting option. Perfect for privacy-sensitive e-invoice workflows.
VIDEO WALKTHROUGH
Automate e-invoicing with n8n
Step by step: install the community node, add your API key, and generate XRechnung & ZUGFeRD straight from your n8n workflow.
Community Node Now Available
The official n8n-nodes-invoice-api-xhub Community Node is now available in the n8n Community Node Registry. Install it directly in n8n and start automating e-invoices immediately.
Ready-Made Workflow Templates
5 TemplatesProduction-ready n8n workflows for direct import. Each template includes JSON workflow, documentation, and example data.

Archive inbound e-invoices from Gmail to Drive (with a searchable sheet log)
When our team passed 50 people, the supplier-invoice flow turned into a problem I couldn't keep ignoring. I'm Head of Finance at a software company; XRechnung XML from IT contractors, PDFs from the hosting provider, a…

Turn a Google Sheet row into an XRechnung and email it
Since January 2025 our public-sector clients stopped accepting PDF invoices — they want XRechnung XML (EN 16931) or they don't pay. We're a four-person consultancy; I handle the admin side on top of my actual work, an…

Self-service invoice validator (upload form)
I run n8n as the automation layer for a B2B online shop. Our suppliers send invoices in every shape we buy into — XRechnung XML, ZUGFeRD hybrids, plain PDFs. Before any downstream workflow (booking, reconciliation, pa…

Bulk-parse inbound e-invoices from Gmail into a flat Google Sheet
Between Christmas and mid-January I was out for three weeks, and the supplier invoices for three of my clients had been stacking up in their inboxes — roughly a hundred and eighty attachments. I'm a freelance bookkeep…

WooCommerce order → XRechnung → email the buyer, note the order
My shop sells lab consumables — pipette tips, reagent bottles, filter papers — mostly to university institutes, clinics, and the occasional research foundation. They're all publicly funded, and since early 2025 their …
What is n8n?
n8n is an open-source workflow automation tool — like Zapier or Make.com, but self-hostable and with full code access. With over 400 built-in integrations and community nodes, n8n is ideal for automating e-invoice workflows in privacy-sensitive environments.
Self-Hosted
Run on your own servers. Your invoice data never leaves your infrastructure.
No-Code / Low-Code
Visual workflow editor with drag & drop. Code when you need it.
Open Source
Fair-code licensed. Inspect, modify and extend as needed.
Quick Start
Get Started in 3 Steps
- 1
Install Community Node
Settings → Community Nodes → Search for
n8n-nodes-invoice-api-xhub - 2
Set Up Credentials
Enter API Key and Base URL in Invoice-api.xhub credentials
- 3
Add Node to Workflow
Add Invoice-api.xhub node and select operation
1# Installation via n8n UI:2# Settings → Community Nodes → Install3 4# Oder via npm (für selbst-gehostete Instanzen):5cd ~/.n8n/custom6npm install n8n-nodes-invoice-api-xhub7 8# n8n neu starten9# Der Node erscheint unter "Invoice-api.xhub" in der Node-ListeCredentials Setup
Create new credentials for the Invoice-api.xhub node:
Invoice-api.xhub APIAny name for identification
sk_test_xxxxxxxxxxxxTest key (sk_test_*) or live key (sk_live_*)
https://service.invoice-api.xhub.ioDefault API endpoint (pre-filled)
1// Credentials JSON Struktur2{3 "name": "Invoice-api.xhub API",4 "type": "invoiceXhubApi",5 "data": {6 "apiKey": "sk_test_xxxxxxxxxxxxxxxxxxxx",7 "baseUrl": "https://service.invoice-api.xhub.io"8 }9}10 11// API Key Formate:12// sk_test_* → Sandbox/Test-Umgebung13// sk_live_* → Produktions-Umgebung14 15// Den API Key findest du in der Console:16// https://console.invoice-api.xhub.ioNode Operations
The Invoice-api.xhub node offers 5 main operations for e-invoice processing.
Generate
Create e-invoice from JSON
Parameters
countryCode(options)– Ländercode (de, at, ch, fr, it, ...)format(options)– xrechnung, zugferd, facturx, fatturapa, ...invoiceData(json)– Rechnungsdaten als JSON-ObjektoutputBinary(boolean)– Dokument als Binary ausgeben (Standard: true)binaryPropertyName(string)– Name der Binary-Property (Standard: data)includeWarnings(boolean)– Validierungs-Warnungen einschließenformatOptions(json)– Format-spezifische Optionen (z.B. Template, Profil)1// POST /api/v1/invoice/{countryCode}/{format}/generate2{3 "invoice": {4 "invoiceNumber": "INV-2025-001",5 "type": "invoice",6 "issueDate": "2025-01-15",7 "dueDate": "2025-02-14",8 "seller": {9 "name": "ACME GmbH",10 "vatId": "DE123456789",11 "street": "Hauptstraße 1",12 "city": "Berlin",13 "postalCode": "10115",14 "countryCode": "DE"15 },16 "buyer": {17 "name": "Customer AG",18 "vatId": "DE987654321",19 "street": "Musterweg 5",20 "city": "München",21 "postalCode": "80331",22 "countryCode": "DE"23 },24 "countrySpecific": { "buyerReference": "BUYER-REF-001" },25 "items": [{26 "position": 1,27 "description": "Beratung",28 "quantity": 10,29 "unit": "HUR",30 "unitPrice": 150.00,31 "taxRate": 19,32 "netAmount": 1500.00,33 "taxAmount": 285.00,34 "grossAmount": 1785.0035 }],36 "currency": "EUR",37 "subtotal": 1500.00,38 "total": 1785.00,39 "taxSummary": [{ "taxRate": 19, "netAmount": 1500.00, "taxAmount": 285.00 }],40 "paymentTerms": { "dueDays": 30 }41 }42}43 44// Response:45{46 "success": true,47 "format": "xrechnung",48 "filename": "INV-2025-001.xml",49 "mimeType": "application/xml",50 "hash": "sha256:...",51 "data": "PD94bWwgdmVyc2lvbj0i..."52}Parse
Extract data from XML/PDF with known format
Parameters
countryCode(options)– Ländercode (de, at, ch, fr, it, ...)format(options)– xrechnung, zugferd, facturx, fatturapa, ...inputType(options)– binary (aus vorherigem Node) oder base64binaryPropertyName(string)– Name der Binary-Property (Standard: data)base64Data(string)– Base64-kodiertes Dokument (bei inputType=base64)1// POST /api/v1/invoice/de/xrechnung/parse2// Request: application/json3{4 "data": "<base64-encoded XML or PDF>",5 "filename": "rechnung.xml"6}7 8// Response:9{10 "success": true,11 "format": "XRECHNUNG_UBL",12 "hash": "sha256:...",13 "invoice": {14 "invoiceNumber": "INV-2025-001",15 "type": "invoice",16 "issueDate": "2025-01-15",17 "dueDate": "2025-02-14",18 "seller": { "name": "ACME GmbH", ... },19 "buyer": { "name": "Customer AG", ... },20 "items": [{ "position": 1, "description": "Beratung", ... }],21 "currency": "EUR",22 "subtotal": 1500.00,23 "total": 1785.0024 }25}Parse (Auto-Detect)
Automatic detection of country and format
Parameters
inputType(options)– binary (aus vorherigem Node) oder base64binaryPropertyName(string)– Name der Binary-Property (Standard: data)base64Data(string)– Base64-kodiertes Dokument (bei inputType=base64)1// POST /api/v1/invoice/parse2// Request: application/json3{4 "data": "<base64-encoded XML or PDF>",5 "filename": "rechnung.xml"6}7 8// Response:9{10 "success": true,11 "hash": "sha256:...",12 "invoice": {13 "invoiceNumber": "INV-2025-001",14 "issueDate": "2025-01-15",15 ...16 },17 "detection": {18 "format": "XRECHNUNG_UBL",19 "formatVersion": "3.0.2",20 "countryCode": "DE",21 "confidence": 98,22 "formatMethod": "CUSTOMIZATION_ID",23 "countrySource": "DOCUMENT",24 "isAmbiguous": false,25 "alternativeCountries": []26 }27}Validate
Validate against country-specific rules
Parameters
countryCode(options)– Ländercode (de, at, ch, fr, it, ...)invoiceData(json)– Rechnungsdaten als JSON-ObjektfailOnErrors(boolean)– Node bei Fehlern als fehlgeschlagen markierenfailOnWarnings(boolean)– Node bei Warnungen als fehlgeschlagen markieren1// POST /api/v1/invoice/{countryCode}/validate2{3 "invoice": {4 "invoiceNumber": "INV-2025-001",5 "type": "invoice",6 "issueDate": "2025-01-15",7 ...8 }9}10 11// Response:12{13 "valid": true,14 "errors": [],15 "warnings": []16}Get Formats
Retrieve supported countries/formats
Parameters
scope(options)– all (alle Länder) oder country (einzelnes Land)countryCode(options)– Ländercode (de, at, ch, fr, it, ...)1// GET /api/v1/invoice/formats (scope: all)2// GET /api/v1/invoice/{countryCode}/formats (scope: country)3 4// Response (scope: all):5{6 "countries": [7 { "code": "DE", "name": "Germany", "formats": [8 { "name": "XRechnung", "id": "xrechnung", "mimeType": "application/xml" },9 { "name": "ZUGFeRD", "id": "zugferd", "mimeType": "application/pdf" },10 { "name": "PDF", "id": "pdf", "mimeType": "application/pdf" }11 ]12 },13 { "code": "AT", "name": "Austria", "formats": [14 { "name": "ebInterface", "id": "ebinterface", "mimeType": "application/xml" },15 { "name": "PDF", "id": "pdf", "mimeType": "application/pdf" }16 ]17 },18 ...19 ],20}Why n8n?
Self-Hosted
Run n8n on your own infrastructure
Open Source
Fully open source under Fair-Code license
400+ Integrations
Native nodes for the most popular tools
Code-Capable
JavaScript/Python code directly in workflows
n8n vs Zapier vs Make vs Direct API
How does the n8n integration compare to other automation options?
| Feature | n8n + Invoice-api.xhub | Zapier | Make.com | Direct API |
|---|---|---|---|---|
| Native Invoice Node | — | — | ||
| Self-Hosted Option | — | — | ||
| No-Code Workflows | — | |||
| E-Invoice Formats | 21+ | 21+ | 21+ | 21+ |
| Countries | 28 | 28 | 28 | 28 |
| Open Source | — | — | — | |
| Automation Cost | Free (self-hosted) | From $20/mo | From $20/mo | Free (self-hosted) |
Multi-Agent Architecture
For complex scenarios: Build a system of specialized agents that work together.
Coordinator Agent
Receives requests and routes them to the appropriate specialized agent
Validation Agent
Validates invoices against official XRechnung/ZUGFeRD schemas
Generation Agent
Creates compliant e-invoices from JSON data
Error Handler Agent
Analyzes errors, attempts auto-fixes, or escalates to humans
Supported Formats
28 countries with various e-invoice formats are supported.
- AUAustraliaUBL (EN 16931)
- ATAustriaebInterface · UBL (EN 16931)
- BEBelgiumUBL (EN 16931) · Factur-X
- BGBulgariaUBL (EN 16931)
- CYCyprusUBL (EN 16931)
- CZCzechiaISDOC · UBL (EN 16931)
- DKDenmarkUBL (EN 16931)
- EEEstoniaUBL (EN 16931)
- FIFinlandUBL (EN 16931)
- FRFranceFactur-X · UBL (EN 16931)
- DEGermanyXRechnung · ZUGFeRD
- GRGreecemyDATA
- HUHungaryNAV Online Számla XML
- IEIrelandUBL (EN 16931)
- ITItalyFatturaPA
- LVLatviaUBL (EN 16931)
- LTLithuaniaUBL (EN 16931)
- LULuxembourgUBL (EN 16931)
- MTMaltaUBL (EN 16931)
- NLNetherlandsUBL (EN 16931)
- NZNew ZealandUBL (EN 16931)
- NONorwayUBL (EN 16931)
- PLPolandUBL (EN 16931) · Peppol BIS UBL
- RORomaniaUBL (EN 16931) · Peppol BIS UBL
- SKSlovakiaUBL (EN 16931) · Peppol BIS UBL
- SISloveniaUBL (EN 16931)
- ESSpainFacturae · UBL (EN 16931)
- SESwedenUBL (EN 16931)
- CHSwitzerlandQR-Bill · ZUGFeRD
- AEUnited Arab EmiratesUBL (EN 16931)
- GBUnited KingdomUBL (EN 16931)
Troubleshooting
Common problems and their solutions.
Get Started Now
Install the community node and automate your e-invoice workflows.