Alles, was eine E-Rechnung braucht.
Erstellen, rechnen, prüfen, gestalten, lesen. Open Source und für jedes PHP-8.3-Projekt, mit nativer Laravel-Integration.
PHP oder Laravel
Quittio besteht aus einzelnen Paketen. Für gültige E-Rechnungen reichen der Core und ein Länderpaket, in jedem Projekt mit PHP 8.3. Laravel ist die Komfortschicht obendrauf.
- PHP 8.3
quittio/core
Datenmodell, Berechnung, alle Formate, Validierung und das Lesen von Eingangsrechnungen. Ohne Abhängigkeit zu Laravel.
- PHP 8.3
quittio/country-de
Länderpaket Deutschland: Pflichtangaben nach UStG, Steuer-Presets, XRechnung, DIN 5008 und Basiszinssatz.
- Laravel 13, optional
quittio/laravel
Die Komfortschicht: Facade, Konfigurationsdatei, Blade, Queue, Events, Mail, Artisan-Befehle und Test-Fakes.
- Laravel 13
quittio/managed
Quittio Managed: Nummernkreise, Archiv, Storno und Versand in deiner Datenbank. Erscheint mit Version 1.0.0. Nur hierfür ist Laravel Pflicht.
In Laravel installierst du Core, Integration und Länderpaket Deutschland auf einmal mit quittio/quittio. Ohne Laravel reichen quittio/core und quittio/country-de, Schritt für Schritt im Ratgeber E-Rechnungen mit PHP erstellen, ganz ohne Laravel.
Für Österreich, Belgien, die Schweiz und Frankreich gibt es eigene Länderpakete (quittio/country-at, -be, -ch und -fr), die du einzeln installierst. Sie folgen dem Rechtsstand von Oktober 2026, sind aber noch nicht von einem Steuerberater geprüft.
nur mitLaravelFunktionen mit diesem Zeichen brauchen quittio/laravel. Alles andere auf dieser Seite läuft auch in reinem PHP.
Ein Datenmodell, das selbst rechnet
Du lieferst Mengen, Preise, Nachlässe und Steuerkategorien. Summen, Steuer und Rundung berechnet Quittio nach den Regeln der EN 16931. Bruttopreise aus Shops werden so umgerechnet, dass der Kunde genau den angezeigten Betrag zahlt.
In der Dokumentation- Datenmodell nach EN 16931 mit allen Business Terms
- Rundung nach BR-CO-10 bis BR-CO-17
- Bruttopreismodus für Shops
- Reverse Charge, Kleinunternehmer, innergemeinschaftliche Lieferung
- Auch IGIC (Kanaren), IPSI (Ceuta und Melilla) und Split Payment (Italien); IGIC und IPSI stehen mit eigenem Namen in den Steuerzeilen
Validierung in sieben Stufen
Fehler fallen beim Rendern auf, nicht beim Kunden. L1 bis L4 und L7 laufen in PHP, L5 und L6 mit den offiziellen Validatoren KoSIT und veraPDF, lokal, in Docker oder in der CI. Die PHP-Regeln melden Fehler mit lesbaren Texten, bevor XML entsteht; maßgeblich bleibt der offizielle Validator, der das geschriebene XML prüft.
In der Dokumentation- L1 Struktur: Datenformate, Länder- und Währungscodes, Nachkommastellen
- L2 Pflichtfelder: Pflicht- und erlaubte Felder des gewählten Profils
- L3 Geschäftsregeln: EN 16931 (BR-…), XRechnung mit Extension und CVD, Peppol BIS 3.0 und UStG (DE-USTG-…)
- L4 XSD: XML gegen das Schema (CII D16B, UBL 2.1)
- L5 KoSIT: Offizielle Schematron-Regeln im KoSIT-Validator
- L6 veraPDF: PDF/A-3b-Konformität des PDFs
- L7 Plausibilität: IBAN, BIC, USt-IdNr., Leitweg-ID, optional VIES
- Peppol BIS 3.0 in PHP: alle Peppol-Regeln, die Rechnungsdaten verletzen können. Die nationalen Regeln (etwa für Norwegen, Dänemark, Schweden) prüft nur der offizielle Validator.
- XRechnung-Extension (BR-DEX) und XRechnung CVD (BR-DE-CVD) in PHP, wie in der offiziellen Validator-Konfiguration
- Einzelne PHP-Regeln abschalten oder umstufen, offizielle Regeln nur ausdrücklich
PDF und Design
Deine Rechnung, dein Design, ein Datenmodell. Logo, Farben und Texte per Konfiguration, einzelne Partials überschreiben oder ein eigenes Template. Ein Pflichtangaben-Wächter sorgt dafür, dass PDF und XML dieselben Daten zeigen.
In der Dokumentation- Drei Gestaltungsstufen
- DIN-5008-Briefbogen mit Falz- und Lochmarken
- Übertrag über mehrere Seiten
- GiroCode (EPC) und Swiss QR
- Wasserzeichen, Übersetzungen, HTML-Ausgabe
- Typisierte Knoten für eigene Vorlagen: IDE und PHPStan kennen jeden Wert, veröffentlichte Vorlagen laufen unverändert
- PDF/A-3b mit eingebettetem XML, in der CI von Quittio mit veraPDF geprüft
- Vorschau-Route im Browser nur mitLaravel
Eingangsrechnungen lesen
Seit 2025 muss jedes Unternehmen E-Rechnungen empfangen können. Quittio liest CII, UBL und ZUGFeRD, prüft sie und vergleicht die angegebenen mit den berechneten Beträgen.
In der Dokumentation- CII, UBL, ZUGFeRD 1.0 und 2.x, Factur-X, XRechnung
- Befunde mit Regelcodes
- Lesen und Prüfen auf der Konsole nur mitLaravel
- Abgesichert gegen XXE, Billion Laughs und Zip-Bomben
Weitere Belege
Vom Angebot bis zur Mahnung mit demselben Builder und denselben Vorlagen. Aus einem Angebot wird mit einem Aufruf eine Rechnung.
In der Dokumentation- Angebote und Auftragsbestätigungen
- Lieferscheine ohne Preise
- Proforma-Rechnungen
- Zahlungserinnerungen mit Verzugszinsen (Basiszinssatz oder fester Zinssatz)
- Kontoauszüge
Laravel und Testen
Quittio fühlt sich an wie Laravel: eine Facade, eine Konfigurationsdatei, Events, Queue und Mail. Für Tests gibt es einen Fake, Assertions, Factories und fertige Szenarien. Ohne Laravel nutzt du den Kern direkt mit Quittio::create().
In der Dokumentation- Facade, Storage, Queue, Events, Mail, Blade nur mitLaravel
- Artisan-Befehle für Schemata, Codelisten und Basiszins nur mitLaravel
- Quittio::fake() und Assertions nur mitLaravel
- Factories und Szenarien, auch ohne Laravel
Länderpakete
Alles Länderspezifische steckt in Länderpaketen, der Core bleibt länderneutral. Das Paket für Deutschland hat ein Steuerberater im Oktober 2026 bestätigt. Die Pakete für Österreich, Belgien, die Schweiz und Frankreich installierst du einzeln; sie folgen dem Rechtsstand von Oktober 2026, sind aber noch nicht von einem Steuerberater geprüft.
In der Dokumentation- Pflichtangaben nach § 14 UStG
- Steuer-Presets mit Rechtstexten, Steuersätze nach Leistungsdatum
- XRechnung 3.0, Extension und CVD (Clean Vehicles Directive) mit ihren Regeln
- DIN 5008 und Basiszinssatz
- Einstellungen unter quittio.countries.de, Basiszins ohne neues Release nachtragen nur mitLaravel
- Österreich: Pflichtangaben nach UStG 1994, CIUS-AT-NAT und CIUS-AT-GOV, ebInterface 6.1 schreiben und lesen
- Belgien: Pflichtangaben nach dem Königlichen Erlass Nr. 1, Peppol BIS für Rechnungen zwischen Unternehmen im Inland, Sprachgebiete
- Schweiz: Anforderungen des MWSTG, QR-Rechnung mit Zahlteil und Empfangsschein, Rundung auf 5 Rappen
- Frankreich: Pflichtangaben nach CGI und Code de commerce, SIREN und SIRET, Factur-X im Inland; ohne Anbindung an zugelassene Plattformen und E-Reporting
KI-Assistenten
Damit dein Assistent Code für die aktuelle Version schreibt: Jede Docs-Seite gibt es als Markdown, dazu llms.txt und einen MCP-Server. Für Laravel Boost liefert Quittio Guidelines und einen Skill mit.
In der Dokumentation- llms.txt und llms-full.txt
- MCP-Server mit search_docs, get_page, list_pages
- Claude Code, Cursor, VS Code, Claude Desktop
- Guidelines und Skill für Laravel Boost
Mehr als Dateien erzeugen?
Wenn deine App Rechnungen ausstellt und aufbewahren muss, übernimmt Quittio Managed Nummern, Archiv, Storno und Versand.