---
title: "Features: everything an e-invoice needs · Quittio"
description: "Seven validation levels, PDF templates with DIN 5008 and payment QR codes, reading incoming invoices, quotes and reminders, Laravel integration and testing."
canonical_url: "https://quittio.dev/en/features"
locale: en
meta:
  "og:description": "Seven validation levels, PDF templates with DIN 5008 and payment QR codes, reading incoming invoices, quotes and reminders, Laravel integration and testing."
  "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": "Features: everything an e-invoice needs · 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)

# Everything an e-invoice needs.

Create, calculate, validate, design, read. Open source for every PHP 8.3 project, with a native Laravel integration.

## A data model that does the maths

You provide quantities, prices, discounts and tax categories. Quittio calculates totals, VAT and rounding according to EN 16931. Gross prices from shops are converted so the customer pays exactly the displayed amount.

[**In the documentation**](https://docs.quittio.dev/building-invoices)

- EN 16931 data model with all business terms
- Rounding according to BR-CO-10 to BR-CO-17
- Gross price mode for shops
- Reverse charge, small businesses, intra-community supplies

## Validation on seven levels

Errors show up at render time, not at your customer. L1 to L4 and L7 run in PHP, L5 and L6 with the official KoSIT and veraPDF validators, locally, in Docker or in CI.

[**In the documentation**](https://docs.quittio.dev/validation)

- L1 Structure: Data formats, country and currency codes, decimals
- L2 Mandatory fields: Mandatory and allowed fields of the chosen profile
- L3 Business rules: EN 16931 (BR-…), XRechnung, Peppol and German VAT Act (DE-USTG-…)
- L4 XSD: XML against the schema (CII D16B, UBL 2.1)
- L5 KoSIT: Official Schematron rules in the KoSIT validator
- L6 veraPDF: PDF/A-3b conformance of the PDF
- L7 Plausibility: IBAN, BIC, VAT ID, Leitweg-ID, optional VIES

## PDF and design

Your invoice, your design, one data model. Logo, colours and texts via configuration, override single partials or use your own template. A mandatory field guard makes sure PDF and XML show the same data.

[**In the documentation**](https://docs.quittio.dev/templates)

- Three design levels
- DIN 5008 letter layout with fold and punch marks
- Carry-over across pages
- EPC GiroCode and Swiss QR bill
- Watermarks, translations, HTML preview
- PDF/A-3b with embedded XML

## Reading incoming invoices

Since 2025 every business in Germany must be able to receive e-invoices. Quittio reads CII, UBL and ZUGFeRD, checks them and compares stated with calculated amounts.

[**In the documentation**](https://docs.quittio.dev/reading)

- CII, UBL, ZUGFeRD 1.0 and 2.x, Factur-X, XRechnung
- Findings with rule codes
- Reading on the command line
- Protected against XXE, billion laughs and zip bombs

## More documents

From quote to payment reminder with the same builder and templates. A quote becomes an invoice with one call.

[**In the documentation**](https://docs.quittio.dev/documents)

- Quotes and order confirmations
- Delivery notes without prices
- Proforma invoices
- Payment reminders with default interest (German base rate)
- Account statements

## Laravel and testing

Quittio feels like Laravel: a facade, a config file, events, queue and mail. For tests there is a fake, assertions, factories and ready-made scenarios. Without Laravel, you use the core directly.

[**In the documentation**](https://docs.quittio.dev/laravel)

- Facade, storage, queue, events, mail, Blade
- Artisan commands for schemas, code lists and base rate
- Quittio::fake() and assertions
- Factories and scenarios, also without Laravel

## Country packs

Everything country-specific lives in country packs; the core stays country-neutral. Germany is the first pack.

[**In the documentation**](https://docs.quittio.dev/country-packs)

- Mandatory fields under sec. 14 UStG
- Tax presets with legal texts
- XRechnung profiles and BR-DE rules
- DIN 5008 and the German base rate

## AI assistants

So that your assistant writes code for the current version: every docs page is available as Markdown, plus llms.txt and an MCP server. For Laravel Boost, Quittio ships guidelines and a skill.

[**In the documentation**](https://docs.quittio.dev/ai)

- llms.txt and llms-full.txt
- MCP server with search\_docs, get\_page, list\_pages
- Claude Code, Cursor, VS Code, Claude Desktop
- Guidelines and a skill for Laravel Boost

## More than generating files?

If your app issues invoices and has to keep them, Quittio Managed handles numbering, archive, cancellations and delivery.

[**Quittio Managed**](https://quittio.dev/en/managed) [**Get started**](https://docs.quittio.dev/getting-started)

```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/features#webpage","@type":"WebPage","description":"Seven validation levels, PDF templates with DIN 5008 and payment QR codes, reading incoming invoices, quotes and reminders, Laravel integration and testing.","name":"Features: everything an e-invoice needs","url":"https://quittio.dev/en/features","breadcrumb":{"@id":"https://quittio.dev/en/features#breadcrumb"},"isPartOf":{"@id":"https://quittio.dev/en#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/en/features"]}],"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/features#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Home","item":"https://quittio.dev/en","position":1},{"@type":"ListItem","name":"Features","position":2}]},{"@id":"https://quittio.dev/#logo","@type":"ImageObject","caption":"Quittio","contentUrl":"https://quittio.dev/logo.png","inLanguage":"en","url":"https://quittio.dev/logo.png"}]}
```