API-Dokumentation & Hilfe
E-Rechnungen validieren und konvertieren per REST API. XRechnung, ZUGFeRD, Factur-X, PEPPOL BIS 3.0.
Testen Sie die Verbindung
Öffnen Sie diese URL direkt im Browser - keine Authentifizierung nötig:
Salve! - Verax antwortet sofort und zeigt dass die API bereit ist.
POST /validate - Validierung
XML und PDF-Rechnungen prüfen. XRechnung, ZUGFeRD, Factur-X, PEPPOL BIS 3.0.
E-Rechnungen validieren in unter 50ms
Ein POST-Request, fertig. Unterstützt XML (XRechnung, PEPPOL) und PDF (ZUGFeRD, Factur-X).
https://verax-check.de/validateEingabe
input=file- Multipart Uploadinput=text- XML im Bodyfilename- Name übermitteln
Ausgabe
format- json, xml, html, textreport- verax, full, analysebt- BT-Nummern Modus
Prüfung
validator- auto, kosit, mustangveracheck- 28 Business Rulesustid- VIES-Prüfung
Zwei Wege um Ihre Rechnung zu übermitteln:
| Parameter | Werte | Beschreibung |
|---|---|---|
input | file, text | file = Multipart Upload (Standard), text = XML im Body |
filename | string | Dateiname übermitteln bei input=text |
Tipp: Bei input=text setzen Sie Content-Type: application/xml
Steuern Sie Format und Umfang der Ausgabe:
| Parameter | Werte | Beschreibung |
|---|---|---|
format | json, xml, html, text | Ausgabeformat der Response |
report | verax, full, analyse, datasheet, summary | Report-Umfang |
bt | none, only, all | BT-Nummern nach EN 16931 |
pretty | true, false | JSON formatiert ausgeben |
kontext | in, out | Eingangs-/Ausgangsrechnung (für summary) |
report=analyse extrahiert alle Rechnungsdaten. Kombinieren mit bt=only für BT-Nummern.
Wählen Sie Validator und zusätzliche Prüfungen:
| Parameter | Werte | Beschreibung |
|---|---|---|
validator | auto, kosit, mustang, verapdf, all | Validator-Auswahl |
veracheck | true, false | 28 VERA Business Rules aktivieren |
ustid | true, false | USt-ID Prüfung via EU VIES |
auto erkennt das Format und wählt den optimalen Validator: KOSIT für XRechnung, Mustang für ZUGFeRD.
Ausgabe-Parameter im Detail
format, report und bt bestimmen was Sie zurückbekommen.
format
- json - Für Integration
- xml - Für XML-Systeme
- html - Für Browser
- text - Einzeiler für Scripts
report
- vera - Kompakt, einheitlich
- full - Alles vom Validator
- analyse - Mit Rechnungsdaten
- summary - Druckoptimiert
bt (BT-Nummern)
- none - Keine (Standard)
- only - Nur befüllte Felder
- all - Alle inkl. leere
Ausgabeformate und ihre Anwendung:
| Wert | Content-Type | Anwendung |
|---|---|---|
json | application/json | API-Integration, Weiterverarbeitung |
xml | application/xml | XML-basierte Systeme, XSLT |
html | text/html | Browser-Anzeige, Archivierung |
text | text/plain | Shell-Scripts, Einzeiler-Check |
Report-Level bestimmt den Detailgrad:
| Wert | Beschreibung | Anwendung |
|---|---|---|
vera | VERA-Kurzformat, kompakt | Standard für die meisten Fälle |
full | Vollständiger Validator-Report | Debugging, Details |
analyse | Mit extrahierten Rechnungsdaten | ERP-Import, Datenanalyse |
datasheet | Alle BT/BG-Felder | Vollständige Datenextraktion |
summary | 1-Seiten Validierungsbericht | Archivierung, Druck |
BT-Nummern nach EN 16931:
| Wert | Beschreibung |
|---|---|
none | Keine BT-Nummern - einfache Feldnamen (Standard) |
only | Nur befüllte BT-Felder mit Metadaten (name_de, name_en, bg) |
all | ALLE BT-Felder inkl. leere - für Vollständigkeitsprüfung |
Hinweis: bt ist nur wirksam bei report=analyse
Prüf-Parameter im Detail
Validator-Auswahl und zusätzliche Geschäftsregeln.
validator
- auto - Automatische Wahl
- kosit - XRechnung, BR-DE
- mustang - ZUGFeRD, PDF
- all - Alle Validatoren
veracheck
- 17 BR-VERA Regeln
- IBAN-Prüfsumme
- USt-ID Format
- Betragsplausibilität
- Datumslogik
ustid
- Live VIES-Abfrage
- BT-31 Verkäufer
- BT-48 Käufer
- 27 EU-Länder
Validator-Empfehlung nach Dateityp:
| Input | Profil | Empfehlung |
|---|---|---|
| XML | XRechnung | kosit (~20ms) |
| XML | ZUGFeRD/Factur-X | mustang |
| Egal | mustang (KOSIT kann keine PDFs) | |
| Egal | Unbekannt | auto - erkennt automatisch |
Die 17 BR-VERA Geschäftsregeln:
| Regel | Prüfung |
|---|---|
| BR-VERA-01 | Steuerkategorie-Mischung S+AE verboten |
| BR-VERA-02 | Lieferdatum nicht vor Rechnungsdatum |
| BR-VERA-03 | Fälligkeitsdatum nicht vor Rechnungsdatum |
| BR-VERA-04 | Leistungszeitraum Ende nicht vor Beginn |
| BR-VERA-05 | Summe Positionen = Gesamtnetto |
| BR-VERA-06 | Netto + USt = Brutto |
| BR-VERA-07 | Menge × Einzelpreis = Positionsnetto |
| BR-VERA-08 | Warnung bei negativen Beträgen |
| BR-VERA-09 | Alle Beträge in gleicher Währung |
| BR-VERA-10 | Steuersatz plausibel (DE: 0%, 7%, 19%) |
| BR-VERA-11 | Dokumenttyp passt zu Vorzeichen |
| BR-VERA-12 | BIC-Format (8 oder 11 Zeichen) |
| BR-VERA-13 | PLZ-Format länderspezifisch |
| BR-VERA-14 | IBAN-Präfix passt zu Bankland |
| BR-VERA-15 | Keine Steuerzeichen in Textfeldern |
| BR-VERA-16 | Keine gefährlichen Anhänge |
| BR-VERA-17 | Nachgerechnete Summe plausibel |
USt-ID Prüfung via EU VIES:
| Feld | Beschreibung |
|---|---|
| BT-31 | Verkäufer USt-ID |
| BT-48 | Käufer USt-ID |
| BT-63 | Steuervertreter USt-ID |
27 EU-Länder: AT, BE, BG, CY, CZ, DE, DK, EE, EL, ES, FI, FR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK, XI
Code-Beispiele
Kopierbare Beispiele für cURL und typische Responses.
Request: XRechnung validieren
# XRechnung validieren (Standard) curl -X POST "https://verax-check.de/validate" \ -H "X-API-Key: YOUR_API_KEY" \ -F "file=@rechnung.xml" # Mit allen VERA-Regeln und USt-ID Prüfung curl -X POST "https://verax-check.de/validate?veracheck=true&ustid=true&pretty=true" \ -H "X-API-Key: YOUR_API_KEY" \ -F "file=@rechnung.xml" # ZUGFeRD PDF validieren curl -X POST "https://verax-check.de/validate?format=json&report=analyse" \ -H "X-API-Key: YOUR_API_KEY" \ -F "file=@invoice.pdf"
Response: Erfolg
{
"valid": true,
"summary": "Dokument ist valide",
"validator": "kosit",
"validator_version": "1.6.0",
"detected_profile": {
"profile_id": "xrechnung_ubl",
"profile_name": "XRechnung (UBL)",
"b2g_suitable": true
},
"error_count": 0,
"warning_count": 0,
"duration_ms": 21
}Response: Mit VERA-Regeln
{
"valid": true,
"veracheck": {
"valid": true,
"stats": { "evaluated": 28, "passed": 28, "failed": 0 },
"rules": [
{ "id": "BR-VERA-01", "status": "passed" },
{ "id": "IBAN_CHECKSUM", "status": "passed" }
]
}
}POST /convert - Konvertierung
ZUGFeRD/Factur-X PDFs erstellen. XML + PDF zusammenführen.
ZUGFeRD/Factur-X PDF erstellen
Kombiniert UBL-XML mit PDF zu einem konformen ZUGFeRD/Factur-X Dokument.
https://verax-check.de/convert| Parameter | Werte | Beschreibung |
|---|---|---|
xml | Datei (Pflicht) | UBL-XML Datei |
pdf | Datei (Pflicht) | PDF Datei |
pdfa | true, false | PDF/A-3 Konvertierung (empfohlen) |
validate | true, false | Vor/nach Konvertierung validieren |
profile | ZFXR, ZFEN, ... | Ausgabe-Profil (leer = aus UBL) |
filename | string | Output-Dateiname |
Tipp: Lassen Sie profile leer, um das Profil automatisch aus dem XML zu übernehmen.
XML-Konvertierung: UBL → CII
Konvertiert UBL-Syntax (XRechnung) zu CII-Syntax (ZUGFeRD/Factur-X).
https://verax-check.de/convert-xml| Parameter | Werte | Beschreibung |
|---|---|---|
xml | Datei/Text (Pflicht) | UBL-XML |
profile | ZFXR, ZFEN, ... | Ausgabe-Profil |
Anwendung: Wenn Sie eine XRechnung (UBL) haben und ein ZUGFeRD-kompatibles XML (CII) benötigen.
ZUGFeRD & Factur-X Profile
Wählen Sie das passende Profil für Ihre Anforderungen.
| Code | Format | Profil | Verwendung |
|---|---|---|---|
ZFXR | ZUGFeRD | XRechnung | B2G (deutsche Behörden) |
ZFEN | ZUGFeRD | EN16931 | B2B (EU-Standard) |
ZFEX | ZUGFeRD | Extended | B2B (erweitert) |
ZFBA | ZUGFeRD | Basic | B2B (einfach) |
ZFBW | ZUGFeRD | Basic-WL | B2B (ohne Positionen) |
ZFMI | ZUGFeRD | Minimum | B2C (minimal) |
FXEN | Factur-X | EN16931 | B2B (Frankreich) |
FXEX | Factur-X | Extended | B2B (Frankreich erweitert) |
FXBA | Factur-X | Basic | B2B (Frankreich einfach) |
FXMI | Factur-X | Minimum | B2C (Frankreich) |
Code-Beispiele Konvertierung
Kopierbare cURL-Befehle.
ZUGFeRD PDF erstellen
curl -X POST "https://verax-check.de/convert?pdfa=true&profile=ZFXR" \ -H "X-API-Key: YOUR_API_KEY" \ -F "xml=@rechnung.xml" \ -F "pdf=@rechnung.pdf" \ -o zugferd-rechnung.pdf
XML konvertieren (UBL → CII)
curl -X POST "https://verax-check.de/convert-xml?profile=ZFEN" \ -H "X-API-Key: YOUR_API_KEY" \ -F "xml=@xrechnung.xml" \ -o zugferd.xml
Referenz
Fehler-Codes, HTTP-Header und Performance-Werte.
Fehler-Codes
| AUTH_MISSING | 401 - Kein API-Key angegeben |
| AUTH_INVALID | 401 - Ungültiger API-Key |
| AUTH_DEACTIVATED | 401 - API-Key deaktiviert |
| FILE_MISSING | 400 - Keine Datei übermittelt |
| FILE_INVALID | 400 - Datei kann nicht gelesen werden |
| VALIDATION_FAILED | 422 - Validierung fehlgeschlagen |
| CONVERSION_FAILED | 500 - Konvertierung fehlgeschlagen |
| VALIDATOR_INCOMPATIBLE | 400 - Validator nicht kompatibel |
| INTERNAL_ERROR | 500 - Interner Server-Fehler |
Response-Header
| X-API-Valid | true/false - Key-Validierung |
| X-Client-Name | Name des API-Key Inhabers |
| X-API-Tier | free, basic oder pro |
| X-Whitelist | true wenn Key nie blockiert |
| X-Verax-Request-Id | Request-ID für Tracking |
| X-Verax-Success | true oder false |
| X-Verax-Version | Service-Version (3.0.0) |
| X-Verax-Profile | Erkanntes Profil |
Performance
| E-Rechnungen als XML | <50ms |
| E-Rechnungen als PDF | 2-4 Sek. |
| Durchsatz | 100+ Req/s |
| Max. Dateigröße | 50 MB |
| Uptime | 99.9%+ |