XRechnung API

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.

// Warum es aufwendiger ist als ein XML-Export

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.

// Mit Factora

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.

// Integration

Erzeugen und abholen

Ein POST erzeugt die Rechnung inklusive XML. Brauchst du die andere Syntax, holst du sie über den passenden Endpunkt.

Erzeugen
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"
    }
  ]
}
Syntax gezielt abrufen
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.

// Umfang

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
// Einwände

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.

// Preis

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 API

XRechnung produktiv erzeugen

Sandbox-Key erstellen und denselben Request laufen lassen, den du später produktiv nutzt. Kostenlos, ohne Kreditkarte.