Markus Michalski FAQ

Small Business §19 UStG

Sylius plugin for the German small business regulation under §19 UStG: 0% tax category, price migration via admin or console, notice in storefront, Shop API and credit memo PDF.

Deutsche Version

All Sylius Plugins

Small Business §19 UStG

Sylius
PHP
License

This documentation always describes the latest published version.

Live Demo: Try this and other plugins live — no installation, no risk: demo.markus-michalski.net

Overview

As a small business under §19 UStG (the German small business regulation, "Kleinunternehmerregelung") you do not charge VAT. In Sylius that means every product needs a tax category with a 0% rate, and customers must see a notice wherever taxes would normally appear. This plugin does both. One switch in the admin creates the 0% tax category, a button or a console command moves your existing product prices over, and the notice appears on product pages, cart, checkout, order summaries and credit memo PDFs.

The notice only appears where it is true: next to an item that still charges tax, or a total that includes tax, it stays hidden. A notice never sits next to a price that contradicts it.

graph LR
    A["Admin: activate the regulation"] --> B["Create 0 percent tax category"]
    B --> C["Migrate product prices (admin button or CLI)"]
    C --> D{"Notice applies?"}
    D -->|Yes| E["Twig storefront: notice"]
    D -->|Yes| F["Shop API: kleinunternehmerNoticeApplies"]
    D -->|Yes| G["Credit memo PDF with sylius/refund-plugin"]
    D -->|No| H["No notice"]

Documentation

Page Content
Installation Composer, bundle, routes, setup command, update, uninstall
Configuration Admin settings page, notice texts, additional languages, practical examples
Price migration Moving product prices to 0% and back, admin button and console command
Storefront Where and when the notice appears, credit memo PDF, Twig functions
Shop API The kleinunternehmerNoticeApplies field for headless frontends
Troubleshooting and FAQ Typical problems, known limitations, frequent questions
Technical details Architecture, plugin structure, tables, migrations, extensibility

Features

Feature Description
One switch Activating under Admin → MMKreativ Plugins → Kleinunternehmer §19 UStG creates the 0% tax category kleinunternehmer_zero together with its tax rate
Price migration Move product variants to 0% via admin button or mmd:kleinunternehmer:migrate-prices, with a preview (--dry-run) and a way back (--restore)
Storefront notice Product page, product card, cart, checkout sidebar and order summaries
Custom notice texts German and English text can be overridden in the admin, leave blank for the default text
Shop API Boolean field kleinunternehmerNoticeApplies on cart/order, product and product variant
Credit memo PDF With sylius/refund-plugin the notice also appears on credit memos without tax, in the language of the credit memo
Setup command mmd:kleinunternehmer:setup runs only this plugin's migrations and is safe to run again after every composer update

Requirements

Requirement Version Notes
Sylius ^2.2 Tested against Sylius 2.2 and 2.3
PHP ^8.3
Symfony ^7.4
Zone DE - A zone with the code DE must exist, otherwise the regulation cannot be activated
sylius/refund-plugin optional Only needed if the notice should appear on credit memo PDFs

License

License

Commercial license: one Sylius installation (all channels, plus their development and staging environments) per license, no redistribution, updates for 12 months from purchase.

Support

For questions about the license, technical questions or bugs, reach me at support@markus-michalski.net.