---
title: "Create ZUGFeRD invoices with Laravel and PHP · Quittio"
description: "ZUGFeRD and Factur-X with Laravel: PDF/A-3 with embedded CII XML, profiles from BASIC to EXTENDED, checked with KoSIT and veraPDF."
canonical_url: "https://quittio.dev/en/formats/zugferd"
locale: en
meta:
  "og:description": "ZUGFeRD and Factur-X with Laravel: PDF/A-3 with embedded CII XML, profiles from BASIC to EXTENDED, checked with KoSIT and veraPDF."
  "og:image": "https://quittio.dev/og/quittio-en.jpg"
  "og:image:alt": "Quittio: Invoices, settled. E-invoicing for PHP and Laravel, with a validated sample invoice."
  "og:image:height": "630"
  "og:image:type": image/jpeg
  "og:image:width": "1200"
  "og:title": "Create ZUGFeRD invoices with Laravel and PHP · Quittio"
  "twitter:image": "https://quittio.dev/og/quittio-en.jpg"
  "twitter:image:alt": "Quittio: Invoices, settled. E-invoicing for PHP and Laravel, with a validated sample invoice."
---

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

# Create ZUGFeRD invoices with Laravel

A PDF for people, an XML for accounting, both in one file. ZUGFeRD is Quittio’s default format.

[**Get started**](https://docs.quittio.dev/getting-started) [**Formats in the docs**](https://docs.quittio.dev/formats)

## What is ZUGFeRD / Factur-X?

ZUGFeRD (Factur-X in France) is a PDF/A-3 with the invoice embedded as CII XML. People read the PDF, software reads the XML. Both show the same data because Quittio creates them from one data model.

### Who is it for?

- Invoices to businesses in Germany and France
- Recipients who expect a readable PDF
- Shops and SaaS products that want one format for everyone

## How it works with Quittio

InvoiceService.php

```
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)
    ->render();                       // ZUGFeRD: PDF/A-3 with embedded XML

$result->pdf();
```

Checked with: KoSIT validator (EN 16931) for the XML, veraPDF for PDF/A-3b

Sample file: [RE-2026-0042.pdf](https://quittio.dev/samples/RE-2026-0042.pdf)

## Profiles and variants

- **MINIMUM**not an e-invoice under German VAT law
- **BASIC WL**not an e-invoice under German VAT law
- **BASIC**
- **EN 16931**recommended
- **EXTENDED**
- **XRECHNUNG**

## Questions about ZUGFeRD / Factur-X

### **ZUGFeRD or XRechnung?**

For businesses, ZUGFeRD in the EN 16931 profile is usually the most convenient choice because recipients get a readable PDF. German federal authorities require XRechnung.

### **Which profiles count as an e-invoice?**

BASIC, EN 16931, EXTENDED and XRECHNUNG. MINIMUM and BASIC WL contain too little data and do not count as e-invoices in Germany.

### **Do I have to deal with PDF/A-3?**

No. Quittio creates the PDF/A-3b with embedded XML and the required metadata. veraPDF checks it, locally or in CI.

When which invoice becomes mandatory is explained in our guide to the [German e-invoicing mandate](https://quittio.dev/en/e-invoicing-mandate-germany).

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://quittio.dev/en#website","@type":"WebSite","description":"E-invoicing for PHP and Laravel: create, validate, read and archive ZUGFeRD, XRechnung and Peppol invoices.","inLanguage":"en","name":"Quittio","url":"https://quittio.dev/en","publisher":{"@id":"https://quittio.dev/#identity"},"translationOfWork":{"@id":"https://quittio.dev/#website"}},{"@id":"https://quittio.dev/en/formats/zugferd#webpage","@type":"WebPage","dateModified":"2026-10-15","datePublished":"2026-10-15","description":"ZUGFeRD and Factur-X with Laravel: PDF/A-3 with embedded CII XML, profiles from BASIC to EXTENDED, checked with KoSIT and veraPDF.","name":"Create ZUGFeRD invoices with Laravel and PHP","url":"https://quittio.dev/en/formats/zugferd","breadcrumb":{"@id":"https://quittio.dev/en/formats/zugferd#breadcrumb"},"isPartOf":{"@id":"https://quittio.dev/en#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/en/formats/zugferd"]}],"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/en/formats/zugferd#article","dateModified":"2026-10-15","datePublished":"2026-10-15","description":"ZUGFeRD and Factur-X with Laravel: PDF/A-3 with embedded CII XML, profiles from BASIC to EXTENDED, checked with KoSIT and veraPDF.","headline":"Create ZUGFeRD invoices with Laravel","inLanguage":"en","thumbnailUrl":"https://quittio.dev/og/quittio-en.jpg","@type":["Article","TechArticle"],"author":{"@id":"https://quittio.dev/#/schema/person/1"},"image":{"@id":"https://quittio.dev/#/schema/image/1"},"isPartOf":{"@id":"https://quittio.dev/en/formats/zugferd#webpage"},"mainEntityOfPage":{"@id":"https://quittio.dev/en/formats/zugferd#webpage"},"publisher":{"@id":"https://quittio.dev/#identity"}},{"@id":"https://quittio.dev/en/formats/zugferd#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Home","item":"https://quittio.dev/en","position":1},{"@type":"ListItem","name":"Formats","item":"https://quittio.dev/en/formats","position":2},{"@type":"ListItem","name":"ZUGFeRD / Factur-X","position":3}]},{"@id":"https://quittio.dev/en/formats/zugferd#/schema/question/1","@type":"Question","inLanguage":"en","name":"ZUGFeRD or XRechnung?","acceptedAnswer":{"@type":"Answer","text":"For businesses, ZUGFeRD in the EN 16931 profile is usually the most convenient choice because recipients get a readable PDF. German federal authorities require XRechnung."}},{"@id":"https://quittio.dev/en/formats/zugferd#/schema/question/2","@type":"Question","inLanguage":"en","name":"Which profiles count as an e-invoice?","acceptedAnswer":{"@type":"Answer","text":"BASIC, EN 16931, EXTENDED and XRECHNUNG. MINIMUM and BASIC WL contain too little data and do not count as e-invoices in Germany."}},{"@id":"https://quittio.dev/en/formats/zugferd#/schema/question/3","@type":"Question","inLanguage":"en","name":"Do I have to deal with PDF/A-3?","acceptedAnswer":{"@type":"Answer","text":"No. Quittio creates the PDF/A-3b with embedded XML and the required metadata. veraPDF checks it, locally or in CI."}},{"@id":"https://quittio.dev/#/schema/person/1","@type":"Person","name":"Niklas Forst","url":"https://quittio.dev/ueber"},{"@id":"https://quittio.dev/#logo","@type":"ImageObject","caption":"Quittio","contentUrl":"https://quittio.dev/logo.png","inLanguage":"en","url":"https://quittio.dev/logo.png"},{"@id":"https://quittio.dev/#/schema/image/1","@type":"ImageObject","contentUrl":"https://quittio.dev/og/quittio-en.jpg","inLanguage":"en","url":"https://quittio.dev/og/quittio-en.jpg"}]}
```