Validate E-Invoices via Drag & Drop
Upload e-invoices through a simple web form and get instant validation results. No curl, no API knowledge, no coding needed.
How This Workflow Works

- 1
Presents a clean web form for file upload
- 2
Auto-detects the invoice format (XRechnung, ZUGFeRD, Factur-X, etc.)
- 3
Parses the e-invoice to extract key data
- 4
Validates against country-specific rules (EN 16931)
- 5
Returns a clear result: VALID, INVALID (with errors), or PARSE ERROR
Why This Matters
The webhook-based approach (curl) is great for developers, but accountants and office workers need something simpler. This form provides a browser-based UI, country selection, and instant feedback.
Google Sheets Structure
| Column | Description |
|---|---|
status | VALID, INVALID, or PARSE ERROR |
format | Detected format (xrechnung, zugferd, etc.) |
country | Validation country code |
invoiceNumber | Extracted invoice number |
sellerName | Seller/supplier name |
buyerName | Buyer/customer name |
total | Invoice total with currency |
errors | List of validation errors |
warnings | List of validation warnings |
Setup Steps
- 1
Install the n8n-nodes-invoice-api-xhub community node
- 2
Create an API key at invoice-api.xhub.io
- 3
Configure the invoice-api.xhub credential in n8n
- 4
Activate the workflow
- 5
Open the form URL shown in the 'Upload Form' node
Preview (truncated)
1{2 "name": "Validate E-Invoices via Form Upload",3 "nodes": [4 {5 "id": "form-trigger-validate",6 "name": "Upload Form",7 "type": "n8n-nodes-base.formTrigger",8 "typeVersion": 2.5,9 "position": [400, 600],10 "parameters": {11 "path": "validate-einvoice",12 "formTitle": "E-Invoice Validator",13 "formDescription": "Upload an e-invoice file (XRechnung, ZUGFeRD, Factur-X, UBL, CII) to validate it against EU standards.",14 "formFields": {15 "values": [16 {17 "fieldLabel": "Invoice File",18 "fieldType": "file",19 "requiredField": true,20 "acceptFileTypes": ".xml,.pdf",21 "multipleFiles": false22 },23 {24 "fieldLabel": "Country",25 "fieldType": "dropdown",26 "fieldOptions": {27 "values": [28 { "option": "DE - Germany" },29 { "option": "AT - Austria" },30 { "option": "CH - Switzerland" },31 // ... (truncated)Use Cases
Quick Check
Validate a single invoice before sending it
Supplier Onboarding
Let suppliers verify their e-invoices meet your requirements
Internal QA
Self-service validation tool for the accounting team
Multi-Country
Validate against DE, AT, CH, FR, IT, ES, NL, BE, PL rules