n8n

n8n Integration

Community Node Available

Open-source workflow automation with self-hosting option. Perfect for privacy-sensitive e-invoice workflows.

npm versionnpm downloadsGitHub starsLicense

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 Templates

Production-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)

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…

5 min setupView template
Turn a Google Sheet row into an XRechnung and email it

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…

10 min setupView template
Self-service invoice validator (upload form)

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…

3 min setupView template
Bulk-parse inbound e-invoices from Gmail into a flat Google Sheet

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…

5 min setupView template
WooCommerce order → XRechnung → email the buyer, note the order

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 …

10 min setupView template

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

    Install Community Node

    Settings → Community Nodes → Search for n8n-nodes-invoice-api-xhub

  2. 2

    Set Up Credentials

    Enter API Key and Base URL in Invoice-api.xhub credentials

  3. 3

    Add Node to Workflow

    Add Invoice-api.xhub node and select operation

bash
1# Installation via n8n UI:
2# Settings Community Nodes Install
3 
4# Oder via npm (für selbst-gehostete Instanzen):
5cd ~/.n8n/custom
6npm install n8n-nodes-invoice-api-xhub
7 
8# n8n neu starten
9# Der Node erscheint unter "Invoice-api.xhub" in der Node-Liste

Credentials Setup

Create new credentials for the Invoice-api.xhub node:

NameInvoice-api.xhub API

Any name for identification

API Keysk_test_xxxxxxxxxxxx

Test key (sk_test_*) or live key (sk_live_*)

Base URLhttps://service.invoice-api.xhub.io

Default API endpoint (pre-filled)

json
1// Credentials JSON Struktur
2{
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-Umgebung
13// sk_live_* → Produktions-Umgebung
14 
15// Den API Key findest du in der Console:
16// https://console.invoice-api.xhub.io

Node 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-Objekt
outputBinary(boolean)Dokument als Binary ausgeben (Standard: true)
binaryPropertyName(string)Name der Binary-Property (Standard: data)
includeWarnings(boolean)Validierungs-Warnungen einschließen
formatOptions(json)Format-spezifische Optionen (z.B. Template, Profil)
json
1// POST /api/v1/invoice/{countryCode}/{format}/generate
2{
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.00
35 }],
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 base64
binaryPropertyName(string)Name der Binary-Property (Standard: data)
base64Data(string)Base64-kodiertes Dokument (bei inputType=base64)
json
1// POST /api/v1/invoice/de/xrechnung/parse
2// Request: application/json
3{
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.00
24 }
25}

Parse (Auto-Detect)

Automatic detection of country and format

Parameters

inputType(options)binary (aus vorherigem Node) oder base64
binaryPropertyName(string)Name der Binary-Property (Standard: data)
base64Data(string)Base64-kodiertes Dokument (bei inputType=base64)
json
1// POST /api/v1/invoice/parse
2// Request: application/json
3{
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-Objekt
failOnErrors(boolean)Node bei Fehlern als fehlgeschlagen markieren
failOnWarnings(boolean)Node bei Warnungen als fehlgeschlagen markieren
json
1// POST /api/v1/invoice/{countryCode}/validate
2{
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, ...)
json
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?

Featuren8n + Invoice-api.xhubZapierMake.comDirect API
Native Invoice Node
Self-Hosted Option
No-Code Workflows
E-Invoice Formats21+21+21+21+
Countries14141414
Open Source
Automation CostFree (self-hosted)From $20/moFrom $20/moFree (self-hosted)

Multi-Agent Architecture

For complex scenarios: Build a system of specialized agents that work together.

Webhook
Receive invoice
Coordinator Agent
Analyze & route requests
Validation
Agent
Generation
Agent
Parsing
Agent
Error Handler Agent
Error diagnosis & escalation

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

14 countries with various e-invoice formats are supported.

DE
XRechnungZUGFeRD

B2G Pflicht seit 2020

2025

AT
ebInterface

Q2 2026

CH
QR-Bill

Q2 2026

FR
Factur-X

B2B Pflicht ab 2026

Q2 2026

IT
FatturaPA

SDI Pflicht

Q2 2026

ES
Facturae

Q2 2026

NL
UBL

Q2 2026

BE
UBL

Q2 2026

PT
PDFSAF-T

Q2 2026

PL
KSeF

Pflicht ab 2026

Q2 2026

CZ
ISDOC

Q2 2026

HU
NAV

Q2 2026

RO
e-Factura

Q2 2026

BG
UBL

Q2 2026

Troubleshooting

Common problems and their solutions.

Get Started Now

Install the community node and automate your e-invoice workflows.