EDGE ENGINE SUB-2MS DETERMINISTIC V8 EXECUTION • ZERO DATA RETENTION • EXPLORE API SPECS →
<5ms Edge Latency 99.9% SLA Available V8 Pure Compute Electronic Invoicing & Tax Compliance

Factur-X & ZUGFeRD 2.3 E-Invoice Validation Engine

Pure-compute edge engine that extracts the embedded UN/CEFACT CII XML from Factur-X and ZUGFeRD PDF/A-3 hybrids, detects the Factur-X profile, and applies the exact EN 16931 business rules in a single deterministic call.

Interactive Edge Workbench

⚡ Live Pure-Compute Playground

Test deterministic edge parsing with sub-2ms execution across 330+ Cloudflare V8 edge locations. Zero persistent storage, zero cold-starts, pure function $f(x)=y$.

32KB Demo Cap 60 req/min Burst <2ms V8 Compute Zero Data Retention
input.xml 0 B
output.json demo-ready
Status: Ready
{
  "status": "Click RUN VALIDATION to execute on the Cloudflare edge..."
}
Sandbox Quota: Free Tier (50 reqs/mo) • Production keys from $29/mo Get Free Sandbox Key →
Need 512KB+ Payloads, High-Throughput & 99.9% Production SLA?
Direct API keys include pooled monthly quotas, zero cold-starts, and HIPAA BAA eligibility on the Mega tier.
Get Production API Key →

Key Capabilities & Performance Architecture

E-Invoicing & B2B Tax Mandates (4 Specifications)

Explore full structural breakdowns, checksum logic, and field schemas for every supported format.

API Endpoints & Request Signatures

MethodPathDescription
POST/api/v1/validateValidate a Factur-X/ZUGFeRD PDF/A-3 or CII XML invoice against EN 16931 rules
POST/api/v1/parseExtract the structured invoice model with the full validation report
POST/api/v1/validate/batchValidate up to 25 CII XML invoices per request with per-document results
GET/api/v1/profilesList the supported Factur-X and ZUGFeRD profiles with their specification identifiers
GET/healthService health check

Sample Response JSON Payload

All endpoints deliver strongly-typed envelopes with deterministic parsing and performance metrics.

HTTP 200 Response Payload
{
  "success": true,
  "data": {
    "valid": true,
    "container": "XML",
    "attachment": null,
    "syntax": "CII",
    "profile": "EN16931",
    "profileId": "urn:factur-x.eu:1p0:en16931",
    "summary": {
      "status": "COMPLIANT",
      "fatalCount": 0,
      "warningCount": 0
    },
    "violations": []
  },
  "meta": {
    "latency_ms": 2.1,
    "version": "1.0.0"
  }
}

Multi-Language Integration Code

Copy and paste ready-to-run snippets with your direct API credentials. Get a free API key → (no credit card required):

cURL
curl --request POST \
  --url "https://api.stanzaapi.com/factur-x-validator/api/v1/validate" \
  --header "Content-Type: application/json" \
  --header "x-api-key: YOUR_API_KEY" \
  --data '{
  "xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><rsm:CrossIndustryInvoice xmlns:rsm=\"urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100\">...</rsm:CrossIndustryInvoice>"
}'
Node.js (Fetch)
const response = await fetch("https://api.stanzaapi.com/factur-x-validator/api/v1/validate", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": process.env.API_KEY || "YOUR_API_KEY"
  },
  body: JSON.stringify({
  "xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><rsm:CrossIndustryInvoice xmlns:rsm=\"urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100\">...</rsm:CrossIndustryInvoice>"
})
});

const data = await response.json();
console.log(data);
Python (Requests)
import requests
import json

url = "https://api.stanzaapi.com/factur-x-validator/api/v1/validate"
headers = {
    "Content-Type": "application/json",
    "x-api-key": "YOUR_API_KEY"
}
payload = {
    "xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><rsm:CrossIndustryInvoice xmlns:rsm=\"urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100\">...</rsm:CrossIndustryInvoice>"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
Go
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	url := "https://api.stanzaapi.com/factur-x-validator/api/v1/validate"
	payload := []byte(`{"xml":"<?xml version=\"1.0\" encoding=\"UTF-8\"?><rsm:CrossIndustryInvoice xmlns:rsm=\"urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100\">...</rsm:CrossIndustryInvoice>"}`)

	req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
	req.Header.Add("Content-Type", "application/json")
	req.Header.Add("x-api-key", os.Getenv("API_KEY"))

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}

Frequently Asked Questions

What is Factur-X and how does it relate to ZUGFeRD 2.x?

Factur-X is the French-German hybrid e-invoice standard: a PDF/A-3 file with an embedded UN/CEFACT CrossIndustryInvoice XML attachment named factur-x.xml. ZUGFeRD 2.x is the German name for the same EN 16931 model; the API accepts both naming conventions and profiles.

Do I have to send the PDF or can I send the XML?

Both work. Send the PDF/A-3 file (application/pdf or pdf_base64) and the API extracts the embedded XML, or send the CII XML directly as raw XML or a JSON xml field. Batch validation accepts XML documents.

Which profiles are supported?

MINIMUM, BASIC WL, BASIC, EN 16931 (COMFORT), EXTENDED and XRechnung are detected from the specification identifier (BT-24). EN 16931, EXTENDED and XRechnung documents run the full EN 16931 business-rule set; reduced profiles are checked against their profile-mandatory fields.

What happens when an invoice fails validation?

The API returns HTTP 200 with valid: false, a NON_COMPLIANT summary, and an array of violations carrying the exact rule ID (for example BR-CO-10 or FX-PROFILE-BASIC_WL-09), the failing path, the severity, and a description.

Which mandates does this API cover?

It supports the German B2B e-invoicing mandate (receiving since January 2025, issuing phased through 2027-2028), the French B2B e-invoicing and e-reporting mandate effective for large companies in September 2026, and XRechnung requirements for German public-sector invoicing.

Complementary Enterprise APIs

Seamlessly orchestrate data pipelines across adjacent financial, regulatory, and supply-chain protocols: