Zum Inhalt springen

E-Rechnungen für PHP und Laravel. Rechtssicher, validiert, archiviert.

Quittio erstellt, prüft, liest und archiviert elektronische Rechnungen nach EN 16931, in jedem PHP-8.3-Projekt und mit eigener Laravel-Integration. ZUGFeRD, XRechnung und Peppol aus einem Datenmodell, geprüft mit den offiziellen Validatoren.

composer require quittio/quittio
composer require quittio/core quittio/country-de
Animation: Der Code erstellt Schritt für Schritt die Rechnung RE-2026-0042, Quittio prüft sie (EN 16931, KoSIT: gültig) und gibt ZUGFeRD, XRechnung und Peppol aus.InvoiceController.phpKopieren$result = Quittio::invoice() ->number('RE-2026-0042')->deliveryDate('2026-09-30') ->buyer(Party::make('Kunde AG') ->vatId('DE987654321') ->address('Bahnhofstraße 5', '54321', 'Beispielstadt', 'DE')) ->line('Web development', netPrice: '95.00', quantity: 24, unit: UnitCode::Hour) ->line('Hosting', netPrice: '49.00') ->dueInDays(14) ->render();
  • EN 16931
  • ZUGFeRD / Factur-X
  • XRechnung 3.0
  • Peppol BIS 3.0
  • UBL 2.1
  • PDF/A-3b
  • KoSIT
  • veraPDF
  • PHP 8.3+
  • Laravel 13

Wie Quittio arbeitet

Deine Daten rein. Gültige E-Rechnungen raus.

Quittio rechnet Summen und Steuer, prüft jede Rechnung in sieben Stufen gegen die offiziellen Regeln und rendert das Format, das dein Kunde braucht.

Laravel-Apps, andere PHP-Frameworks und reines PHP übergeben Rechnungsdaten an Quittio. Quittio rechnet, prüft in sieben Stufen mit dem KoSIT-Validator und veraPDF und gibt ZUGFeRD, XRechnung 3.0 und Peppol BIS 3.0 sowie PDF, HTML und JSON aus.
  • Rechtssicher

    Pflichtangaben nach § 14 UStG, Steuer-Presets für Reverse Charge, Kleinunternehmer und innergemeinschaftliche Lieferungen. Ein Wächter sorgt dafür, dass PDF und XML dieselben Daten zeigen.

  • Validiert

    Sieben Prüfstufen von der Datenstruktur bis PDF/A-3b. Die offiziellen Regeln laufen im KoSIT-Validator und in veraPDF, lokal und in deiner CI.

  • Entwicklerfreundlich

    Eine flüssige API mit sinnvollen Standardwerten, in reinem PHP wie in Laravel, dort mit Fakes und Assertions für Pest. Ein paar Zeilen statt eines XML-Projekts.

So einfach geht es

Erstellen, ausgeben, prüfen, lesen.

Echte Beispiele aus der Dokumentation. Kein XML von Hand, keine Rechenfehler.

InvoiceService.php
use Quittio\Core\Builder\Party;
use Quittio\Core\Enums\UnitCode;
use Quittio\Laravel\Facades\Quittio;

$result = Quittio::invoice()                 // Verkäufer und Bank aus config/quittio.php
    ->number('RE-2026-0042')
    ->deliveryDate('2026-09-30')
    ->buyer(Party::make('Kunde AG')
        ->vatId('DE987654321')
        ->address('Bahnhofstraße 5', '54321', 'Beispielstadt', 'DE')))
    ->line('Web development', netPrice: '95.00', quantity: 24, unit: UnitCode::Hour)
    ->line('Hosting', netPrice: '49.00')      // Menge 1, USt 19 % als Standard
    ->dueInDays(14)
    ->render();                               // ZUGFeRD: PDF/A-3 mit eingebettetem XML
invoice.php
use Quittio\Core\Builder\InvoiceBuilder;
use Quittio\Core\Builder\Party;
use Quittio\Core\Enums\PaymentMeansCode;
use Quittio\Core\Enums\UnitCode;
use Quittio\Core\Quittio;
use Quittio\Core\Tax\CountryDefaultVat;
use Quittio\Country\DE\CountryDE;

// einmal: Länderpaket und Standard-USt, statt config/quittio.php
$quittio = Quittio::create([], [new CountryDE]);
InvoiceBuilder::useDefaultVat(new CountryDefaultVat($quittio->countries()));

$invoice = InvoiceBuilder::make()
    ->seller(Party::make('Muster GmbH')
        ->vatId('DE123456789')
        ->address('Hauptstraße 1', '12345', 'Musterstadt', 'DE'))
    ->payment(PaymentMeansCode::SepaCreditTransfer, iban: 'DE02120300000000202051')
    ->number('RE-2026-0042')
    ->deliveryDate('2026-09-30')
    ->buyer(Party::make('Kunde AG')
        ->vatId('DE987654321')
        ->address('Bahnhofstraße 5', '54321', 'Beispielstadt', 'DE')))
    ->line('Web development', netPrice: '95.00', quantity: 24, unit: UnitCode::Hour)
    ->line('Hosting', netPrice: '49.00')      // Menge 1, USt 19 % als Standard
    ->dueInDays(14);

$result = $quittio->make($invoice)->render();   // ZUGFeRD: PDF/A-3 mit eingebettetem XML
Rechnung RE-2026-0042 der Muster GmbH an die Kunde AG über 2.771,51 €, von Quittio mit der Standardvorlage erzeugt

Warum jetzt

Die E-Rechnung kommt Schritt für Schritt.

Für inländische Rechnungen zwischen Unternehmen. Ausgenommen sind unter anderem Kleinbetragsrechnungen bis 250 €, Fahrausweise und Rechnungen an Verbraucher.

  1. 01.01.2025

    Empfangen

    Alle Unternehmen in Deutschland müssen E-Rechnungen empfangen können.

  2. 01.01.2027

    Ausstellen ab 800.000 €

    Unternehmen mit mehr als 800.000 € Vorjahresumsatz müssen im Inland E-Rechnungen ausstellen.

  3. 01.01.2028

    Ausstellen für alle

    Alle Unternehmen stellen im inländischen B2B-Bereich E-Rechnungen aus.

Was das für deine App bedeutet

Quellen: § 14 UStG, § 27 Abs. 38 UStG, BMF-Schreiben vom 15.10.2025.

Validierung

Fehler beim Rendern, nicht beim Kunden.

Quittio prüft jede Rechnung in sieben Stufen. Die offiziellen Regeln laufen im KoSIT-Validator und in veraPDF.

  1. L1StrukturDatenformate, Länder- und Währungscodes, Nachkommastellen
  2. L2PflichtfelderPflicht- und erlaubte Felder des gewählten Profils
  3. L3GeschäftsregelnEN 16931 (BR-…), XRechnung, Peppol und UStG (DE-USTG-…)
  4. L4XSDXML gegen das Schema (CII D16B, UBL 2.1)
  5. L5KoSITOffizielle Schematron-Regeln im KoSIT-Validator
  6. L6veraPDFPDF/A-3b-Konformität des PDFs
  7. L7PlausibilitätIBAN, BIC, USt-IdNr., Leitweg-ID, optional VIES
Prüfbericht · xrechnung-cii1 Fehler
  • L1StrukturDatenmodell vollständig berechnet
  • L2Profil XRECHNUNGPflichtfelder vorhanden
  • L3BR-DE-15Die Käuferreferenz (BT-10, Leitweg-ID) fehlt.
  • L3DE-USTG-06Leistungsdatum gesetzt
  • L4XSDnicht geprüft, Datenstufe hat Fehler

Korrektur:

->buyerReference('04011000-12345-03')

Open Source und Managed

Kostenlos starten. Managed, wenn deine App Rechnungen ausstellt.

Open Source · MIT

Quittio

Erstellen, prüfen, lesen und rendern. Für jedes PHP-Projekt, mit oder ohne Laravel, kostenlos.

  • ZUGFeRD, XRechnung, Peppol, UBL, CII
  • Validierung L1–L7 mit KoSIT und veraPDF
  • PDF-Vorlagen, DIN 5008, GiroCode
  • Eingangsrechnungen lesen und prüfen
Early Access · ab 149 € pro Projekt

Quittio Managed

Deine Laravel-App stellt Rechnungen selbst aus? Dann brauchst du mehr als ein PDF.

  • Lückenlose Nummernkreise
  • Unveränderbare Rechnungen und Archiv mit SHA-256
  • Storno, Teilstorno und Korrektur
  • Versand, Audit-Log und Aufbewahrung

KI-Assistenten

Dein KI-Assistent kennt Quittio.

Die Dokumentation gibt es als Markdown, als llms.txt und als MCP-Server. So schreiben Claude Code, Cursor oder Copilot Code für die aktuelle Version.

So richtest du es ein
claude mcp add --transport http quittio-docs https://docs.quittio.dev/mcp
  • Claude Code
  • Cursor
  • GitHub Copilot
  • Claude Desktop
  • Laravel Boost

Häufige Fragen

Brauche ich Laravel?

Nein. quittio/core läuft in jedem PHP-8.3-Projekt, zum Beispiel mit Symfony, Slim oder ganz ohne Framework. Laravel 13 brauchst du nur für die Integration und für Quittio Managed. Eine Anleitung steht im Ratgeber unter „E-Rechnungen mit PHP erstellen, ganz ohne Laravel“.

Ist Quittio kostenlos?

Ja. Core, Laravel-Integration und das Länderpaket Deutschland stehen unter MIT. Kostenpflichtig ist nur Quittio Managed, die Rechnungsverwaltung in der Datenbank.

Welche Formate unterstützt Quittio?

ZUGFeRD/Factur-X, XRechnung 3.0 (CII und UBL), Peppol BIS Billing 3.0, CII und UBL 2.1, dazu PDF, HTML und JSON.

Ersetzt Quittio meine Buchhaltung oder Steuerberatung?

Nein. Quittio erzeugt und prüft Rechnungen. Buchhaltung, Umsatzsteuer-Erklärung und Beratung bleiben, wo sie sind.

Ist Quittio produktionsreif?

Version 0.3.0 erzeugt Rechnungen, die die offiziellen Validatoren bestehen. Die API kann sich bis 1.0.0 noch ändern, die rechtlichen Texte des Länderpakets werden gerade von einer Steuerberatung geprüft.

Was unterscheidet Quittio von Quittio Managed?

Quittio erzeugt die Dateien. Managed verwaltet die Rechnungen danach: Nummern, Unveränderbarkeit, Archiv, Storno, Versand und Aufbewahrung.

Deine erste gültige E-Rechnung in zehn Minuten.

Installieren, Firmendaten hinterlegen, Rechnung bauen. Den Rest prüft Quittio.