Markus Michalski FAQ

Kleinunternehmer: Installation

Installation des Sylius-Plugins Kleinunternehmer §19 UStG: Composer über Packeton, Bundle, Routen, Setup-Befehl, Update und Deinstallation in der richtigen Reihenfolge.

English Version

Zurück zur Übersicht

Kleinunternehmer: Installation

Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.

Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net

Composer

Private Repositories werden über Packeton verwaltet (https://packeton.markus-michalski.net). Zugangsdaten nach Lizenzkauf/Freigabe.

{ "repositories": [{ "type": "composer", "url": "https://packeton.markus-michalski.net" }] }
composer require mmd/sylius-kleinunternehmer-plugin

Nach dem composer require:

  1. Bundle registrieren in config/bundles.php (es gibt kein Flex-Rezept):

    Mmd\SyliusKleinunternehmerPlugin\MmdSyliusKleinunternehmerPlugin::class => ['all' => true],
    
  2. Admin-Routen importieren, zum Beispiel in config/routes/mmd_sylius_kleinunternehmer.yaml. Erst dadurch existiert die Route, auf die der Admin-Menüpunkt zeigt:

    mmd_sylius_kleinunternehmer_admin:
        resource: "@MmdSyliusKleinunternehmerPlugin/config/routes/admin.yaml"
    
  3. Setup-Befehl ausführen:

    bin/console mmd:kleinunternehmer:setup
    

    Der Befehl legt die Tabellen mmd_kleinunternehmer_settings und mmd_kleinunternehmer_migrated_variant an. Er hat keine eigenen Optionen und tut Folgendes:

    • Er führt ausschließlich die noch offenen Migrationen dieses Plugins aus, nicht die der App oder anderer Plugins.
    • Er ist idempotent: Ohne neue Migration passiert nichts, daher kannst du ihn nach jedem composer update gefahrlos erneut ausführen.
    • Er prüft, ob die Routen aus Schritt 2 importiert sind, und gibt sonst den passenden Snippet aus. In config/ schreibt er nie selbst.
    • Hat das Plugin offene Migrationen und sind Sylius-Migrationen noch offen, bricht er ab und verlangt zuerst bin/console doctrine:migrations:migrate.
    • Er fragt interaktiv um Bestätigung. In Skripten ergänzt du --no-interaction.

    doctrine:migrations:migrate funktioniert weiterhin als Alternative.

Es gibt keine config/packages/*.yaml-Datei für dieses Plugin und keine Umgebungsvariablen, die es liest.

Der Setup-Befehl fasst deine Produktpreise nicht an. Das Umstellen bestehender Produkte auf die 0-%-Steuerkategorie ist ein eigener Schritt, siehe Preis-Migration.

Erste Schritte nach der Installation

  1. Lege eine Zone mit dem Code DE an, falls sie fehlt (Admin → Konfiguration → Zonen).
  2. Öffne Admin → MMKreativ Plugins → Kleinunternehmer §19 UStG und aktiviere die Regelung, siehe Konfiguration.
  3. Migriere bestehende Produkte, siehe Preis-Migration.

Konsolenbefehle

Befehl Zweck Wann
mmd:kleinunternehmer:setup Migrationen dieses Plugins ausführen, Routen-Import prüfen Nach Installation und nach jedem Update
mmd:kleinunternehmer:migrate-prices Preise auf 0 % umstellen oder zurücksetzen Einmalig bei der Umstellung, siehe Preis-Migration

Beide Befehle musst du nicht regelmäßig schedulen.

Update

composer update mmd/sylius-kleinunternehmer-plugin
bin/console mmd:kleinunternehmer:setup
bin/console cache:clear

Deinstallation

  1. Wenn die Produkte ihre ursprüngliche Steuerkategorie zurückbekommen sollen, zuerst die Preise zurücksetzen:
    bin/console mmd:kleinunternehmer:migrate-prices --restore
    
    Beachte die Rundungsgrenze beim Zurücksetzen auf der Seite Preis-Migration.
  2. Migrationen bei noch registriertem Bundle zurückrollen, pro Version einzeln, neueste zuerst:
    bin/console doctrine:migrations:execute --down "Mmd\SyliusKleinunternehmerPlugin\Migrations\Version20260829160426"
    bin/console doctrine:migrations:execute --down "Mmd\SyliusKleinunternehmerPlugin\Migrations\Version20260828132209"
    bin/console doctrine:migrations:execute --down "Mmd\SyliusKleinunternehmerPlugin\Migrations\Version20260828121602"
    
  3. Routen-Import (config/routes/mmd_sylius_kleinunternehmer.yaml) und Bundle-Eintrag in config/bundles.php entfernen.
  4. Paket entfernen:
    composer remove mmd/sylius-kleinunternehmer-plugin
    

Die Migrationen legen nur die beiden Tabellen an. Die 0-%-Steuerkategorie kleinunternehmer_zero und ihr Steuersatz bleiben als normale Sylius-Daten bestehen. Löschst du sie, dann erst, nachdem keine Variante mehr darauf zeigt.