---
title: "Quittio: E-Rechnungen für PHP und Laravel (ZUGFeRD, XRechnung, Peppol)"
description: "Open-Source-Bibliothek für PHP und Laravel: E-Rechnungen nach EN 16931 erstellen, mit KoSIT prüfen, als PDF/A-3 ausgeben und eingehende Rechnungen lesen."
canonical_url: "https://quittio.dev/"
locale: de
meta:
  "og:description": "Open-Source-Bibliothek für PHP und Laravel: E-Rechnungen nach EN 16931 erstellen, mit KoSIT prüfen, als PDF/A-3 ausgeben und eingehende Rechnungen lesen."
  "og:image": "https://quittio.dev/og/quittio-de.jpg"
  "og:image:alt": "Quittio: E-Rechnungen für PHP und Laravel. Rechtssicher, validiert, archiviert, mit geprüfter Beispielrechnung."
  "og:image:height": "630"
  "og:image:type": image/jpeg
  "og:image:width": "1200"
  "og:title": "Quittio: E-Rechnungen für PHP und Laravel (ZUGFeRD, XRechnung, Peppol)"
  "twitter:image": "https://quittio.dev/og/quittio-de.jpg"
  "twitter:image:alt": "Quittio: E-Rechnungen für PHP und Laravel. Rechtssicher, validiert, archiviert, mit geprüfter Beispielrechnung."
---

> Index of every page on this site: [llms.txt](https://quittio.dev/llms.txt)

[**Neu** Quittio 0.3.0 ist da · Open Source (MIT)](https://quittio.dev/changelog)

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

[**Loslegen**](https://docs.quittio.dev/getting-started) [**Dokumentation**](https://docs.quittio.dev)

$`composer require quittio/quittio`

$`composer require quittio/core quittio/country-de`

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](https://quittio.dev/invoices/invoice-de-1200.webp)

**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**](https://quittio.dev/e-rechnungspflicht)

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

**Funktionen**

## Alles, was eine E-Rechnung braucht.

- [<h3>Ein Datenmodell, alle Formate</h3>

  ZUGFeRD, XRechnung, Peppol, CII und UBL aus denselben Daten. Formatwechsel ist eine Zeile.**Mehr **](https://quittio.dev/formate)
- [<h3>Jedes PHP-Projekt</h3>

  quittio/core läuft in jedem PHP-8.3-Projekt: Symfony, Slim, Shop-Plugin oder eigenes Framework. Laravel ist optional.**Mehr **](https://quittio.dev/ratgeber/e-rechnung-mit-php-ohne-laravel)
- [<h3>Laravel-nativ</h3>

  Facade, Queue, Events, Mail, Storage, Blade und Artisan-Befehle.**Mehr **](https://quittio.dev/funktionen#laravel)
- [<h3>Rechnet selbst</h3>

  Summen, Steuer und Rundung nach den BR-CO-Regeln der EN 16931.**Mehr **](https://quittio.dev/funktionen#rechnen)
- [<h3>PDF-Vorlagen</h3>

  Logo und Farben, einzelne Partials oder ein eigenes Template. DIN 5008 und GiroCode inklusive.**Mehr **](https://quittio.dev/funktionen#pdf-design)
- [<h3>Eingangsrechnungen</h3>

  CII, UBL und ZUGFeRD lesen und prüfen, abgesichert gegen XXE und Zip-Bomben.**Mehr **](https://quittio.dev/funktionen#eingangsrechnungen)
- [<h3>Weitere Belege</h3>

  Angebote, Lieferscheine, Proforma-Rechnungen, Mahnungen und Kontoauszüge.**Mehr **](https://quittio.dev/funktionen#belege)
- [<h3>Testen</h3>

  Quittio::fake(), Assertions, Factories und Szenarien für Pest und PHPUnit.**Mehr **](https://quittio.dev/funktionen#laravel)
- [<h3>Länderpakete</h3>

  Deutschland zuerst: UStG-Pflichtangaben, Steuer-Presets, BR-DE-Regeln.**Mehr **](https://quittio.dev/funktionen#laender)

**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. **L1****Struktur**Datenformate, Länder- und Währungscodes, Nachkommastellen
2. **L2****Pflichtfelder**Pflicht- und erlaubte Felder des gewählten Profils
3. **L3****Geschäftsregeln**EN 16931 (BR-…), XRechnung, Peppol und UStG (DE-USTG-…)
4. **L4****XSD**XML gegen das Schema (CII D16B, UBL 2.1)
5. **L5****KoSIT**Offizielle Schematron-Regeln im KoSIT-Validator
6. **L6****veraPDF**PDF/A-3b-Konformität des PDFs
7. **L7****Plausibilität**IBAN, BIC, USt-IdNr., Leitweg-ID, optional VIES

**Beispieldateien**

## Sieh dir das Ergebnis an.

Eine Rechnung in allen Formaten, mit Quittio erzeugt und vom offiziellen KoSIT-Validator ohne Fehler und Warnungen akzeptiert.

- [**ZUGFeRD (EN 16931)**PDF/A-3b mit XMLRE-2026-0042.pdf**Herunterladen **](https://quittio.dev/samples/RE-2026-0042.pdf)
- [**XRechnung (CII)**XMLRE-2026-0042-xrechnung-cii.xml**Herunterladen **](https://quittio.dev/samples/RE-2026-0042-xrechnung-cii.xml)
- [**XRechnung (UBL)**XMLRE-2026-0042-xrechnung-ubl.xml**Herunterladen **](https://quittio.dev/samples/RE-2026-0042-xrechnung-ubl.xml)
- [**Peppol BIS 3.0**XMLRE-2026-0042-peppol.xml**Herunterladen **](https://quittio.dev/samples/RE-2026-0042-peppol.xml)
- [**KoSIT-Prüfbericht**HTML, zur XRechnung (CII)RE-2026-0042-kosit.html**Ansehen **(öffnet in neuem Tab)](https://quittio.dev/samples/RE-2026-0042-kosit.html)

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

[**Loslegen**](https://docs.quittio.dev/getting-started)

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

[**Quittio Managed ansehen**](https://quittio.dev/managed)

**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**](https://docs.quittio.dev/ai)

$`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.

[**Loslegen**](https://docs.quittio.dev/getting-started) [**Dokumentation**](https://docs.quittio.dev)

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://quittio.dev/#website","@type":"WebSite","description":"E-Rechnungen für PHP und Laravel: ZUGFeRD, XRechnung und Peppol erstellen, prüfen, lesen und archivieren.","inLanguage":"de-DE","name":"Quittio","url":"https://quittio.dev/","publisher":{"@id":"https://quittio.dev/#identity"},"workTranslation":{"@id":"https://quittio.dev/en#website"}},{"@id":"https://quittio.dev#webpage","@type":"WebPage","description":"Open-Source-Bibliothek für PHP und Laravel: E-Rechnungen nach EN 16931 erstellen, mit KoSIT prüfen, als PDF/A-3 ausgeben und eingehende Rechnungen lesen.","name":"Quittio: E-Rechnungen für PHP und Laravel (ZUGFeRD, XRechnung, Peppol)","url":"https://quittio.dev","about":{"@id":"https://quittio.dev/#identity"},"isPartOf":{"@id":"https://quittio.dev/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev"]}],"primaryImageOfPage":{"@id":"https://quittio.dev/#logo"}},{"@id":"https://quittio.dev/#identity","@type":"Organization","description":"Open-Source-Bibliothek für E-Rechnungen in PHP und Laravel (ZUGFeRD, XRechnung, Peppol) und Quittio Managed.","email":"kontakt@niklasforst.de","legalName":"Niklas Forst – Softwareentwicklung","name":"Quittio","url":"https://quittio.dev","founder":{"@type":"Person","name":"Niklas Forst","url":"https://quittio.dev/ueber"},"logo":{"@id":"https://quittio.dev/#logo"},"sameAs":["https://github.com/Quittio/quittio","https://packagist.org/packages/quittio/quittio"]},{"@id":"https://quittio.dev#/schema/software-source-code/1","@type":"SoftwareSourceCode","codeRepository":"https://github.com/Quittio/quittio","license":"https://opensource.org/licenses/MIT","name":"Quittio","programmingLanguage":"PHP","version":"0.3.0"},{"@id":"https://quittio.dev#/schema/question/1","@type":"Question","inLanguage":"de-DE","name":"Brauche ich Laravel?","acceptedAnswer":{"@type":"Answer","text":"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“."}},{"@id":"https://quittio.dev#/schema/question/2","@type":"Question","inLanguage":"de-DE","name":"Ist Quittio kostenlos?","acceptedAnswer":{"@type":"Answer","text":"Ja. Core, Laravel-Integration und das Länderpaket Deutschland stehen unter MIT. Kostenpflichtig ist nur Quittio Managed, die Rechnungsverwaltung in der Datenbank."}},{"@id":"https://quittio.dev#/schema/question/3","@type":"Question","inLanguage":"de-DE","name":"Welche Formate unterstützt Quittio?","acceptedAnswer":{"@type":"Answer","text":"ZUGFeRD/Factur-X, XRechnung 3.0 (CII und UBL), Peppol BIS Billing 3.0, CII und UBL 2.1, dazu PDF, HTML und JSON."}},{"@id":"https://quittio.dev#/schema/question/4","@type":"Question","inLanguage":"de-DE","name":"Ersetzt Quittio meine Buchhaltung oder Steuerberatung?","acceptedAnswer":{"@type":"Answer","text":"Nein. Quittio erzeugt und prüft Rechnungen. Buchhaltung, Umsatzsteuer-Erklärung und Beratung bleiben, wo sie sind."}},{"@id":"https://quittio.dev#/schema/question/5","@type":"Question","inLanguage":"de-DE","name":"Ist Quittio produktionsreif?","acceptedAnswer":{"@type":"Answer","text":"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."}},{"@id":"https://quittio.dev#/schema/question/6","@type":"Question","inLanguage":"de-DE","name":"Was unterscheidet Quittio von Quittio Managed?","acceptedAnswer":{"@type":"Answer","text":"Quittio erzeugt die Dateien. Managed verwaltet die Rechnungen danach: Nummern, Unveränderbarkeit, Archiv, Storno, Versand und Aufbewahrung."}},{"@id":"https://quittio.dev/#logo","@type":"ImageObject","caption":"Quittio","contentUrl":"https://quittio.dev/logo.png","inLanguage":"de-DE","url":"https://quittio.dev/logo.png"}]}
```