Peppol BIS Billing 3.0 mit PHP
Das europäische Format für Rechnungen über das Peppol-Netz. Quittio erzeugt das UBL, das Netz erreichst du über einen Anbieter.
Was ist Peppol?
Peppol ist ein europäisches Netz für den Austausch von Geschäftsdokumenten. Rechnungen darin folgen Peppol BIS Billing 3.0: UBL nach EN 16931 mit zusätzlichen Peppol-Regeln und Teilnehmer-IDs.
Für wen?
- Rechnungen an Behörden und Unternehmen in Ländern mit Peppol-Pflicht
- Rechnungen zwischen Unternehmen in Belgien, mit dem Länderpaket BE (noch nicht steuerlich geprüft)
- Empfänger, die Rechnungen über einen Access Point annehmen
- Internationale B2B-Kunden
So geht es mit Quittio
use Quittio\Core\Builder\Party;
use Quittio\Laravel\Facades\Quittio;
$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)
->format('peppol')
->render();use Quittio\Core\Builder\InvoiceBuilder;
use Quittio\Core\Builder\Party;
use Quittio\Core\Quittio;
use Quittio\Core\Tax\CountryDefaultVat;
use Quittio\Country\DE\CountryDE;
// einmal beim Start: Länderpaket und Standard-USt
$quittio = Quittio::create([], [new CountryDE]);
InvoiceBuilder::useDefaultVat(new CountryDefaultVat($quittio->countries()));
$invoice = InvoiceBuilder::make()
->seller($company) // Verkäufer und Bank im Code
->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);
$result = $quittio->make($invoice)->format('peppol')->render();Ohne Laravel brauchst du nur quittio/core und quittio/country-de. Das ganze Skript steht im Ratgeber E-Rechnungen mit PHP, ganz ohne Laravel.
Geprüft mit: KoSIT-Validator mit den Peppol-Regeln
Beispieldatei: RE-2026-0042-peppol.xml
Profile und Varianten
- peppolUBL nach Peppol BIS Billing 3.0
Der Versand über das Peppol-Netz kommt mit Quittio Managed 1.2.0 (quittio/peppol). Bis dahin übergibst du die Datei deinem Access-Point-Anbieter.
Häufige Fragen zu Peppol
Brauche ich einen Access Point?
Zum Versenden über das Peppol-Netz ja. Quittio erzeugt die gültige Datei; den Transport übernimmt ein zertifizierter Anbieter.
Ist Peppol in Deutschland Pflicht?
Nein. In Deutschland genügen ZUGFeRD oder XRechnung. Peppol ist ein zusätzlicher Übertragungsweg, den einige Behörden und internationale Kunden nutzen.
Prüft Quittio die Peppol-Regeln selbst?
Ja, alle Peppol-Regeln, die die Daten einer Rechnung verletzen können, schon in PHP und mit lesbaren Meldungen, bevor XML entsteht: zum Beispiel ein E-Mail-Schema als elektronische Adresse oder eine GLN mit falscher Prüfziffer. Die nationalen Regeln einzelner Länder (etwa Norwegen, Dänemark, Schweden) sind nicht nach PHP übertragen. Maßgeblich bleibt der KoSIT-Validator mit den Peppol-Regeln.
Ab wann welche Rechnung Pflicht ist, steht im Ratgeber zur E-Rechnungspflicht.