POST /validate - Validierung

E-Rechnungen validieren in unter 50ms

Ein POST-Request, fertig. Unterstützt XML (XRechnung, PEPPOL) und PDF (ZUGFeRD, Factur-X).

<50ms
XML-Prüfung
28
VERA-Regeln
POST https://verax-check.de/validate

Eingabe

  • input=file - Multipart Upload
  • input=text - XML im Body
  • filename - Name übermitteln
Details...

Ausgabe

  • format - json, xml, html, text
  • report - verax, full, analyse
  • bt - BT-Nummern Modus
Details...

Prüfung

  • validator - auto, kosit, mustang
  • veracheck - 28 Business Rules
  • ustid - VIES-Prüfung
Details...

Der /validate Endpoint ist das Herzstück der API. Senden Sie eine E-Rechnung und erhalten Sie sofort das Prüfergebnis.

Flexible Eingabe - Upload per Multipart oder XML direkt im Request Body. Details

Ausgabe nach Wunsch - JSON für Integration, HTML für Browser, Text für Scripts. Details

Umfangreiche Prüfung - Wählen Sie den Validator und aktivieren Sie 28 zusätzliche Geschäftsregeln. Details

Zwei Wege um Ihre Rechnung zu übermitteln:

ParameterWerteBeschreibung
inputfile, textfile = Multipart Upload (Standard), text = XML im Body
filenamestringDateiname übermitteln bei input=text

Tipp: Bei input=text setzen Sie Content-Type: application/xml

Steuern Sie Format und Umfang der Ausgabe:

ParameterWerteBeschreibung
formatjson, xml, html, textAusgabeformat der Response
reportverax, full, analyse, datasheet, summaryReport-Umfang
btnone, only, allBT-Nummern nach EN 16931
prettytrue, falseJSON formatiert ausgeben
kontextin, outEingangs-/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:

ParameterWerteBeschreibung
validatorauto, kosit, mustang, verapdf, allValidator-Auswahl
verachecktrue, false28 VERA Business Rules aktivieren
ustidtrue, falseUSt-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
Details...

report

  • vera - Kompakt, einheitlich
  • full - Alles vom Validator
  • analyse - Mit Rechnungsdaten
  • summary - Druckoptimiert
Details...

bt (BT-Nummern)

  • none - Keine (Standard)
  • only - Nur befüllte Felder
  • all - Alle inkl. leere
Details...

Die Ausgabe-Parameter bestimmen Format und Umfang der API-Response. Wählen Sie passend zu Ihrem Use-Case.

Ausgabeformate und ihre Anwendung:

WertContent-TypeAnwendung
jsonapplication/jsonAPI-Integration, Weiterverarbeitung
xmlapplication/xmlXML-basierte Systeme, XSLT
htmltext/htmlBrowser-Anzeige, Archivierung
texttext/plainShell-Scripts, Einzeiler-Check

Report-Level bestimmt den Detailgrad:

WertBeschreibungAnwendung
veraVERA-Kurzformat, kompaktStandard für die meisten Fälle
fullVollständiger Validator-ReportDebugging, Details
analyseMit extrahierten RechnungsdatenERP-Import, Datenanalyse
datasheetAlle BT/BG-FelderVollständige Datenextraktion
summary1-Seiten ValidierungsberichtArchivierung, Druck

BT-Nummern nach EN 16931:

WertBeschreibung
noneKeine BT-Nummern - einfache Feldnamen (Standard)
onlyNur befüllte BT-Felder mit Metadaten (name_de, name_en, bg)
allALLE 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
Details...

veracheck

  • 17 BR-VERA Regeln
  • IBAN-Prüfsumme
  • USt-ID Format
  • Betragsplausibilität
  • Datumslogik
Alle Regeln...

ustid

  • Live VIES-Abfrage
  • BT-31 Verkäufer
  • BT-48 Käufer
  • 27 EU-Länder
Details...

VERA-CHECK bietet mehr als Standard-Validierung. 28 zusätzliche Geschäftsregeln prüfen was andere übersehen.

Validator-Empfehlung nach Dateityp:

InputProfilEmpfehlung
XMLXRechnungkosit (~20ms)
XMLZUGFeRD/Factur-Xmustang
PDFEgalmustang (KOSIT kann keine PDFs)
EgalUnbekanntauto - erkennt automatisch

Die 17 BR-VERA Geschäftsregeln:

RegelPrüfung
BR-VERA-01Steuerkategorie-Mischung S+AE verboten
BR-VERA-02Lieferdatum nicht vor Rechnungsdatum
BR-VERA-03Fälligkeitsdatum nicht vor Rechnungsdatum
BR-VERA-04Leistungszeitraum Ende nicht vor Beginn
BR-VERA-05Summe Positionen = Gesamtnetto
BR-VERA-06Netto + USt = Brutto
BR-VERA-07Menge × Einzelpreis = Positionsnetto
BR-VERA-08Warnung bei negativen Beträgen
BR-VERA-09Alle Beträge in gleicher Währung
BR-VERA-10Steuersatz plausibel (DE: 0%, 7%, 19%)
BR-VERA-11Dokumenttyp passt zu Vorzeichen
BR-VERA-12BIC-Format (8 oder 11 Zeichen)
BR-VERA-13PLZ-Format länderspezifisch
BR-VERA-14IBAN-Präfix passt zu Bankland
BR-VERA-15Keine Steuerzeichen in Textfeldern
BR-VERA-16Keine gefährlichen Anhänge
BR-VERA-17Nachgerechnete Summe plausibel

USt-ID Prüfung via EU VIES:

FeldBeschreibung
BT-31Verkäufer USt-ID
BT-48Käufer USt-ID
BT-63Steuervertreter 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

curl
# 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

json
{
  "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

json
{
  "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 PDF erstellen

Kombiniert UBL-XML mit PDF zu einem konformen ZUGFeRD/Factur-X Dokument.

PDF/A-3
Konform
POST https://verax-check.de/convert
ParameterWerteBeschreibung
xmlDatei (Pflicht)UBL-XML Datei
pdfDatei (Pflicht)PDF Datei
pdfatrue, falsePDF/A-3 Konvertierung (empfohlen)
validatetrue, falseVor/nach Konvertierung validieren
profileZFXR, ZFEN, ...Ausgabe-Profil (leer = aus UBL)
filenamestringOutput-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).

POST https://verax-check.de/convert-xml
ParameterWerteBeschreibung
xmlDatei/Text (Pflicht)UBL-XML
profileZFXR, 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.

CodeFormatProfilVerwendung
ZFXRZUGFeRDXRechnungB2G (deutsche Behörden)
ZFENZUGFeRDEN16931B2B (EU-Standard)
ZFEXZUGFeRDExtendedB2B (erweitert)
ZFBAZUGFeRDBasicB2B (einfach)
ZFBWZUGFeRDBasic-WLB2B (ohne Positionen)
ZFMIZUGFeRDMinimumB2C (minimal)
FXENFactur-XEN16931B2B (Frankreich)
FXEXFactur-XExtendedB2B (Frankreich erweitert)
FXBAFactur-XBasicB2B (Frankreich einfach)
FXMIFactur-XMinimumB2C (Frankreich)

Code-Beispiele Konvertierung

Kopierbare cURL-Befehle.

ZUGFeRD PDF erstellen

curl
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
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

AUTH_MISSING401 - Kein API-Key angegeben
AUTH_INVALID401 - Ungültiger API-Key
AUTH_DEACTIVATED401 - API-Key deaktiviert
FILE_MISSING400 - Keine Datei übermittelt
FILE_INVALID400 - Datei kann nicht gelesen werden
VALIDATION_FAILED422 - Validierung fehlgeschlagen
CONVERSION_FAILED500 - Konvertierung fehlgeschlagen
VALIDATOR_INCOMPATIBLE400 - Validator nicht kompatibel
INTERNAL_ERROR500 - Interner Server-Fehler

Response-Header

X-API-Validtrue/false - Key-Validierung
X-Client-NameName des API-Key Inhabers
X-API-Tierfree, basic oder pro
X-Whitelisttrue wenn Key nie blockiert
X-Verax-Request-IdRequest-ID für Tracking
X-Verax-Successtrue oder false
X-Verax-VersionService-Version (3.0.0)
X-Verax-ProfileErkanntes Profil

Performance

E-Rechnungen als XML<50ms
E-Rechnungen als PDF2-4 Sek.
Durchsatz100+ Req/s
Max. Dateigröße50 MB
Uptime99.9%+