---
title: "Quittio Managed: invoice management for Laravel"
description: "Gapless invoice numbers, immutable invoices, an archive with SHA-256, cancellations, corrections and an audit log. Self-hosted in your Laravel app."
canonical_url: "https://quittio.dev/en/managed"
locale: en
meta:
  "og:description": "Gapless invoice numbers, immutable invoices, an archive with SHA-256, cancellations, corrections and an audit log. Self-hosted in your Laravel app."
  "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": "Quittio Managed: invoice management for Laravel"
  "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)

**Early access · ships with version 1.0.0**

# Issue invoices, don’t just generate them.

Quittio Managed handles the invoices of your Laravel app: gapless numbering, immutable invoices, an archive with checksums, cancellations, corrections, delivery and an audit log. In your own database, no SaaS and no fee per invoice.

[**Get early access**](https://quittio.dev/en/early-access) [**See pricing**](https://quittio.dev/en/pricing)

*Lifecycle of an invoice: a draft is issued with issue(). Partial cancellations lead to partially cancelled; a cancellation or correction leads to cancelled. After `issue()` an invoice never changes again. Cancellations and corrections are invoices of their own with their own number.*

**Do you need Managed?**

## Whoever issues the invoice has to manage it.

### Quittio is enough if …

an ERP, accounting software or a shop keeps the invoices and assigns their numbers. Quittio then only creates the files.

### You need Managed if …

your app issues the invoices. Then numbers must be unique and gapless, issued invoices must never change, and everything must be kept for 8 years (German VAT Act, Fiscal Code, GoBD).

**Comparison**

## Without and with Managed

**The life of an invoice**

## From draft to cancellation in five steps.

InvoiceService.php

```
use Quittio\Managed\Models\Issuer;

$issuer = new Issuer;
$issuer->setSellerParty(Party::make('Example Software Ltd')
    ->vatId('IE1234567T')
    ->address('12 Harbour Road', 'D02 X285', 'Dublin', 'IE')
    ->buildSeller());
$issuer->forceFill(['key' => 'default', 'is_default' => true])->save();
```

Your company as an issuer profile with bank accounts, defaults, texts, design and numbering. The installer asks for the first profile.

**Features**

## What Managed takes care of

- ### Issuer profiles

  One or more companies with bank accounts, texts, design and numbering.
- ### Your models

  Invoices link to customers, orders or contracts in your app.
- ### Numbering

  Patterns with placeholders, yearly or monthly resets, separate number spaces.
- ### Gapless

  No duplicate numbers and no gaps, even under concurrent issuing.
- ### Drafts

  Change, check in advance and preview as a PDF with a watermark.
- ### Immutable

  Model, query builder and database triggers for MySQL, MariaDB, PostgreSQL and SQLite.
- ### Archive

  Write-once with SHA-256, document versions, manifest and integrity check.
- ### Cancellation and correction

  Full and partial cancellations with cumulatively aligned VAT, correction by cancel and reissue.
- ### Delivery

  Mail with the archived documents and a log of every attempt.
- ### Audit log

  Append-only: who did what and when.
- ### Retention

  Retention period per invoice, legal hold and a command that deletes expired invoices.
- ### Tenants and permissions

  Tenancy scope, policies and factories for your tests.

**Immutable means immutable**

## Issued is issued.

After `issue()` the model, the query builder and optional database triggers block every change to the invoice data. Only payment, delivery and render status may change.

We also say what is not prevented: without triggers, the base query builder and raw SQL bypass the rules, and MySQL fires no triggers on TRUNCATE. Details are in the documentation.

[**Immutability in the docs**](https://docs.quittio.dev/managed#immutability)

### Installation

$`composer require quittio/managed`

$`php artisan quittio:install --managed`

$`php artisan migrate`

SQLite, MySQL 8 / MariaDB, PostgreSQL · PHP 8.3+ · Laravel 13

**Self-hosted**

## Your archive never depends on our licence.

Invoices stay in your database. No data shared with third parties, no SaaS outage risk, no cost per invoice. No licence check at runtime: issue(), cancel() and the archive never fail because of a licence server.

- ### Regulatory updates

  New XRechnung, Peppol and CII/UBL versions, KoSIT rules, code lists and legal changes are released at least 4 weeks before a rule becomes binding, provided the specification was published in time.
- ### Laravel compatibility

  New Laravel major versions are supported within 4 weeks of their release.
- ### Security fixes

  Critical issues within 72 hours, all others with the next patch. Even after your licence has expired.

**Roadmap**

## What comes after version 1.0.0

1. 1.0.0 ### Management

   Drafts, numbering, cancellation, correction, archive, audit, delivery
2. 1.1.0 ### Payments

   Payments, bank reconciliation (CAMT.053), dunning
3. 1.2.0 ### Peppol and inbox

   Sending via Peppol, checking and approving incoming invoices
4. 1.4.0 ### Recurring

   Subscriptions, advance and final invoices
5. 1.5.0 ### Export

   DATEV export, reports

The defaults for cancellations, corrections and the VAT alignment of partial cancellations are being reviewed by a tax adviser. We publish the results in the changelog.

**Pricing**

## Once per project and year.

**Launch only**

### Founders Lifetime

Pay once, updates without expiry: Solo for €449, Agency for €1,299. At most 100 licences or 3 months after launch, whichever comes first. Covers all future versions of quittio/managed, not separate add-ons.

[**Reserve a spot**](https://quittio.dev/en/early-access)

### Solo

Freelancers, one product of your own

**€149**

incl. 12 months of updates

then €119 / year, cancel anytime

**Founders lifetime: €449**

- 1 project (production installation)
- Unlimited issuer profiles
- Local, staging, preview and CI free
- Issues in the private repository

[**Early access**](https://quittio.dev/en/early-access)

### Agency

Agencies with several client projects

**€449**

incl. 12 months of updates

then €349 / year, cancel anytime

**Founders lifetime: €1,299**

- Unlimited projects
- Unlimited issuer profiles
- Licence transferable to your client
- Issues, handled with priority

[**Early access**](https://quittio.dev/en/early-access)

### SaaS

Apps in which your customers issue invoices

**€999**

incl. 12 months of updates

then €799 / year, cancel anytime

- 1 project with any number of tenants
- Multi-tenant via tenancy.scope
- Unlimited issuer profiles
- Email support, reply within 2 business days

[**Early access**](https://quittio.dev/en/early-access)

### Enterprise

Larger companies, public sector, OEM

**from \~€3,000**

per year, by agreement

- Projects by agreement
- Individual licence, pay by invoice
- SLA by contract
- Redistribution (OEM) possible

[**Contact**](https://quittio.dev/en/contact)

All prices net of VAT, for businesses only (B2B). Sales start with version 1.0.0; until then the prices are a preview.

## Questions about Managed

### **Which tier do I need?**

One project: Solo. Several client projects: Agency. Do your customers issue invoices in your app themselves (tenants via tenancy.scope): SaaS.

### **What happens if I do not renew?**

You keep using the last version you received indefinitely and still get security fixes. Regulatory updates, new features and support require an active licence.

### **Does Managed check the licence at runtime?**

No. There is no licence server and no phone-home. The licence only grants access to the private Composer repository.

### **Can I try Managed first?**

Local, staging and CI are free with every licence. After purchase you have a 14-day refund, no questions asked.

### **Does Managed work without Laravel?**

No. Managed uses Eloquent, the queue and mail and requires Laravel 13. Without Laravel, use the open-source core.

### **Which databases are supported?**

SQLite, MySQL 8 and MariaDB, and PostgreSQL. The test matrix uses MySQL 8.4 and PostgreSQL 16.

**Early access**

## Be there at launch.

We will email you once at launch, with the founders offer.

```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/managed#webpage","@type":"WebPage","description":"Gapless invoice numbers, immutable invoices, an archive with SHA-256, cancellations, corrections and an audit log. Self-hosted in your Laravel app.","name":"Quittio Managed: invoice management for Laravel","url":"https://quittio.dev/en/managed","isPartOf":{"@id":"https://quittio.dev/en#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/en/managed"]}],"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/managed#/schema/software-application/1","@type":"SoftwareApplication","applicationCategory":"DeveloperApplication","name":"Quittio Managed","operatingSystem":"Linux, macOS, Windows","offers":[{"@type":"Offer","availability":"https://schema.org/PreOrder","price":149,"priceCurrency":"EUR","name":"Solo","priceValidUntil":"2027-12-30T00:00:00.000Z"},{"@type":"Offer","availability":"https://schema.org/PreOrder","price":449,"priceCurrency":"EUR","name":"Agency","priceValidUntil":"2027-12-30T00:00:00.000Z"},{"@type":"Offer","availability":"https://schema.org/PreOrder","price":999,"priceCurrency":"EUR","name":"SaaS","priceValidUntil":"2027-12-30T00:00:00.000Z"}]},{"@id":"https://quittio.dev/en/managed#/schema/question/1","@type":"Question","inLanguage":"en","name":"Which tier do I need?","acceptedAnswer":{"@type":"Answer","text":"One project: Solo. Several client projects: Agency. Do your customers issue invoices in your app themselves (tenants via tenancy.scope): SaaS."}},{"@id":"https://quittio.dev/en/managed#/schema/question/2","@type":"Question","inLanguage":"en","name":"What happens if I do not renew?","acceptedAnswer":{"@type":"Answer","text":"You keep using the last version you received indefinitely and still get security fixes. Regulatory updates, new features and support require an active licence."}},{"@id":"https://quittio.dev/en/managed#/schema/question/3","@type":"Question","inLanguage":"en","name":"Does Managed check the licence at runtime?","acceptedAnswer":{"@type":"Answer","text":"No. There is no licence server and no phone-home. The licence only grants access to the private Composer repository."}},{"@id":"https://quittio.dev/en/managed#/schema/question/4","@type":"Question","inLanguage":"en","name":"Can I try Managed first?","acceptedAnswer":{"@type":"Answer","text":"Local, staging and CI are free with every licence. After purchase you have a 14-day refund, no questions asked."}},{"@id":"https://quittio.dev/en/managed#/schema/question/5","@type":"Question","inLanguage":"en","name":"Does Managed work without Laravel?","acceptedAnswer":{"@type":"Answer","text":"No. Managed uses Eloquent, the queue and mail and requires Laravel 13. Without Laravel, use the open-source core."}},{"@id":"https://quittio.dev/en/managed#/schema/question/6","@type":"Question","inLanguage":"en","name":"Which databases are supported?","acceptedAnswer":{"@type":"Answer","text":"SQLite, MySQL 8 and MariaDB, and PostgreSQL. The test matrix uses MySQL 8.4 and PostgreSQL 16."}},{"@id":"https://quittio.dev/#logo","@type":"ImageObject","caption":"Quittio","contentUrl":"https://quittio.dev/logo.png","inLanguage":"en","url":"https://quittio.dev/logo.png"}]}
```