XRechnung per API in deine Software integrieren
Du sendest strukturierte Rechnungsdaten, Factora erzeugt daraus die XRechnung, prüft sie gegen EN 16931 und den offiziellen KoSIT-Validator und gibt dir ein strukturiertes Ergebnis zurück — UBL oder CII, je nachdem was dein Empfänger braucht.
XRechnung ist kein Serialisierungsproblem
Wer XRechnung selbst baut, baut nicht ein Schema nach, sondern pflegt einen Regelkatalog — dauerhaft.
-
Zwei Syntaxen, ein Standard
XRechnung existiert als UBL und als CII. Welche Syntax dein Empfänger erwartet, entscheidest nicht du — beide müssen aus denselben Daten fallen.
-
CIUS-DE statt nur EN 16931
Über der europäischen Norm liegen die deutschen BR-DE-Regeln. Die Leitweg-ID unter BR-DE-15 ist nur die bekannteste davon.
-
Regelkataloge ändern sich
Der KoSIT-Validator bekommt regelmäßig neue Releases. Jedes davon kann bestehende Rechnungen ablehnen, die gestern noch durchliefen.
-
Fehler ohne Ursache sind wertlos
„Validierung fehlgeschlagen“ hilft deinem Support nicht. Du brauchst Regel, Feld und Fundstelle, um den Fall im eigenen System zu beheben.
Ein Request, eine geprüfte XRechnung
Der Atomic Endpoint nimmt Kopfdaten, Summen, Verkäufer, Käufer und Positionen entgegen und liefert das fertige, validierte Dokument zurück.
-
UBL und CII abrufbar
Dieselbe Rechnung liegt in beiden Syntaxen bereit — eigene Endpunkte für UBL und CII, kein zweiter Erzeugungslauf.
-
KoSIT vor der Finalisierung
Geprüft wird, bevor das Dokument entsteht. Fällt die Prüfung durch, bekommst du keine unbrauchbare Datei, sondern die Findings.
-
Findings mit Regel und Feld
Jeder Fehler kommt als eigener Eintrag mit Regelcode, Business Term und Fundstelle — direkt weiterverarbeitbar.
-
Rendern ohne Speichern
Ein eigener Endpunkt erzeugt XML aus EN-16931-Rohdaten, ohne einen Mandanten oder eine gespeicherte Rechnung anzulegen.
Erzeugen und abholen
Ein POST erzeugt die Rechnung inklusive XML. Brauchst du die andere Syntax, holst du sie über den passenden Endpunkt.
POST /api/v1/invoices/atomic/ HTTP/1.1
Host: console.factora.software
Authorization: Bearer fa_test_...
Idempotency-Key: 8f14e45f-ea6b-4f1d-9a1e-3b0f2c7d1a55
Content-Type: application/json
{
"api_mode": "atomic_single_post",
"invoice_header": {
"invoice_number": "RE-2026-0042",
"invoice_date": "2026-03-25",
"buyer_reference": "PO-2026-001"
},
"validation_totals": {
"net_amount": "1200.00",
"vat_amount": "228.00",
"gross_amount": "1428.00"
},
"seller_snapshot": {
"name": "Muster GmbH",
"street": "Musterstr. 1",
"zip": "10115",
"city": "Berlin",
"country": "DE",
"vat_id": "DE123456789",
"iban": "DE89370400440532013000",
"contact": {
"name": "E. Musterfrau",
"phone": "+49 30 1234567",
"email": "rechnung@muster.example"
}
},
"buyer": {
"name": "Kunde AG",
"street": "Kundenweg 2",
"zip": "20095",
"city": "Hamburg",
"country": "DE",
"contact": { "email": "einkauf@kunde.example" }
},
"items": [
{
"description": "Beratungsleistung",
"quantity": "10.000",
"unit": "HUR",
"unit_price_net": "120.00",
"vat_rate": "19.00"
}
]
} GET /api/v1/invoices/4711/xml/ubl/ HTTP/1.1
Authorization: Bearer fa_live_...
# UBL-Syntax für Empfänger, die UBL erwarten
GET /api/v1/invoices/4711/xml/ubl/
# CII-Syntax aus derselben Rechnung
GET /api/v1/invoices/4711/xml/cii/
# XML aus Rohdaten rendern, ohne etwas zu speichern
POST /api/v1/invoices/convert/ Die Sandbox nutzt denselben Pipeline-Durchlauf, speichert aber nichts. Beispieldaten sind frei erfunden.
Was für XRechnung abgedeckt ist
Der aktuelle Stand je Zeile. Was noch nicht produktiv ist, steht als solches da.
Format und Regelwerk
- XRechnung 3.0.2 aktuell gültige Fassung ✓ live
- UBL-Syntax GET /invoices/{id}/xml/ubl/ ✓ live
- CII-Syntax GET /invoices/{id}/xml/cii/ ✓ live
- EN 16931 + CIUS-DE alle 164 Business Terms ✓ live
- XRechnung 4.0 EN 16931:2026, noch nicht produktiv ⊙ in Arbeit
Validierung und Betrieb
- KoSIT-Validierung vor jeder Finalisierung ✓ live
- Findings je Regel code, rule, bt, location ✓ live
- Rendern ohne Persistenz POST /invoices/convert/ ✓ live
- Idempotency-Keys Pflicht, 48 Stunden gültig ✓ live
- Peppol-Versand nicht Teil der XRechnung-Erzeugung ⊙ geplant
Was Integratoren zu Recht fragen
Drei Punkte, bei denen wir lieber genau bleiben als bequem.
-
Nimmt jede Behörde die Rechnung an?
Die KoSIT-Prüfung ist der offizielle technische Prüfschritt für XRechnung — sie ist notwendig, aber sie ersetzt keine Zusage eines Empfängers. Eigene Portalregeln, Leitweg-IDs oder Bestellbezüge liegen weiterhin beim Empfänger.
-
Was passiert bei XRechnung 4.0?
4.0 ist angekündigt, aber nicht produktiv — weder bei uns noch als verbindliche Fassung. Produktiv erzeugt Factora XRechnung 3.0.2. Der Umstieg passiert bei uns, nicht in deinem Code.
-
Und wenn der Validator ausfällt?
Dann antwortet die API mit einem Fehler und einem Retry-After — nicht mit einer ungeprüften Rechnung. Ein stiller Durchlauf wäre das teurere Ergebnis.
Abgerechnet wird die fertige Rechnung
Sandbox kostenlos zum Testen. Der Live-Betrieb startet bei 49 € pro Monat inkl. 250 finalisierten Live-Rechnungen; darüber graduiert gestaffelt bis 0,04 € je Rechnung — direkt im Self-Service, monatlich kündbar.
Plattformgebühr · pro Konto
49 € pro Monat
inkl. 250 finalisierte Live-Rechnungen / Monat pro Konto
- Sandbox kostenlos — nur der Live-Betrieb kostet
- Multi-Mandant inklusive, ohne Aufpreis
- Monatlich kündbar, kein Setup
Darüber gestaffelt — aufs Konto-Gesamtvolumen
| Rechnungen / Monat | Preis / Rechnung |
|---|---|
| 251 – 1.000 | 0,12 € |
| 1.001 – 5.000 | 0,07 € |
| ab 5.001 | 0,04 € |
Entwürfe, Sandbox-Tests, Fehlversuche und idempotente Retries kosten nichts.
Kleinunternehmer §19 UStG — alle Preise sind Endpreise. Die Sandbox ist kostenlos; der Live-Betrieb erfordert ein aktives 49-€-Abo und eine hinterlegte Zahlungsmethode. Graduierte Staffel: jede Stufe wird zu ihrem eigenen Satz berechnet. Monatlich kündbar.
REST-API v1, Bearer-Auth, Idempotency-Keys, KoSIT-Validierung und Mehrmandantenfähigkeit sind inklusive. Für hohe Volumina oder Integrator-Setups mit vielen Mandanten stimmen wir die Konditionen direkt ab.
XRechnung produktiv erzeugen
Sandbox-Key erstellen und denselben Request laufen lassen, den du später produktiv nutzt. Kostenlos, ohne Kreditkarte.