Small Business: Configuration
Settings page of the Sylius plugin Small Business §19 UStG: activating the regulation, custom notice texts in German and English, further languages via translation file, practical examples.
Small Business: Configuration
Live Demo: Try this and other plugins live — no installation, no risk: demo.markus-michalski.net
Admin interface
You find the settings page under Admin sidebar → MMKreativ Plugins → Kleinunternehmer §19 UStG (path /admin/kleinunternehmer/settings, where admin is your installation's admin path). The installed plugin version is shown below the page title.
The settings apply to the whole shop, not per channel. There is exactly one record, and the plugin has neither a
config/packages/*.yamlfile nor environment variables. You set everything on this page.
Settings
| Setting | Default | Description |
|---|---|---|
| Small business regulation active | off | Turns the regulation on. On activation the plugin immediately creates the 0% tax category kleinunternehmer_zero with its tax rate kleinunternehmer_zero_rate, so you can assign it to new products before any migration |
| Storefront notice text (German) | blank | Overrides the German notice, at most 1000 characters. Leave blank for "Gemäß §19 UStG wird keine Umsatzsteuer berechnet." |
| Storefront notice text (English) | blank | Overrides the English notice, at most 1000 characters. Leave blank for "No VAT charged according to §19 UStG (German small business regulation)." |
Creating the 0% tax category for the first time needs a zone with the code
DE. If it is missing, saving stops with an error message and the regulation stays off. If the categorykleinunternehmer_zeroalready exists, it is reused.
Existing products keep their tax category until you migrate them. Below the form, a second card shows how many variants still need migrating and offers the migration button, see Price migration.
Notice texts
The text applies to the whole storefront and to credit memo PDFs. The language follows the visitor's locale, for credit memos the language the credit memo was issued in.
- German and English: A filled-in text in the admin wins, an empty field falls back to the shipped default text.
- Other languages: Sylius has no UI for editing translations, so further languages are not editable in the admin. Instead, add a file
translations/messages.<locale>.yamlto your project, for exampletranslations/messages.fr.yaml:
mmd_sylius_kleinunternehmer:
notice:
storefront: 'Pas de TVA applicable selon l’article 19 UStG (régime allemand des petites entreprises).'
Then run bin/console cache:clear. A language without its own file shows whatever text the translator finds through your installation's fallback locales (framework.translator.fallbacks). The admin fields apply to all variants of German and English, for example de_AT as well.
Admin grids
The plugin registers no Sylius grid. The settings are a single form, not a list.
Practical examples
Initial setup for a new shop. Check the DE zone, activate the regulation, save. Assign the tax category kleinunternehmer_zero to new products right away. There is nothing to migrate, the card shows "0 variant(s) not yet migrated".
Existing shop with 19% and 7%. Activate the regulation, then read the hint on the "Migrate prices" card and confirm with Migrate now. Beforehand you can count the affected variants with bin/console mmd:kleinunternehmer:migrate-prices --to-small-business --dry-run. Details are on the Price migration page.
Custom notice text. In the "Storefront notice text (English)" field, enter for example "As a small business under §19 UStG we do not charge VAT." The text appears everywhere the default notice stood from the next page load on.
Switching the regulation off. Clear the checkbox and save. The notice disappears immediately. Migrated variants keep their 0% price, and the card warns "The regulation is inactive, but … already-migrated variant(s) still charge no VAT". If you want the original tax categories back, restore the prices with --restore.