ED10 - Classement par sphère des opérations commerciales (à partir de la déclaration d'activité commerciale, en cas d'utilité publique)

Problème

Une organisation d'utilité publique déclare une activité commerciale - et à partir de ce moment, la séparation des sphères (§§ 51–68 AO) s'applique. Mais dans la pratique :

Déclencheur A - Déclaration d'activité commerciale : cette obligation naît sans employés - elle fait partie de l'organisation, non de la qualité d'employeur. À partir du moment où une organisation d'utilité publique déclare une activité commerciale, chaque opération commerciale doit être affectée à une sphère.

Message clé

Le classement par sphère dans le dépôt Git signifie :

  1. Chaque opération commerciale a un champ sphere - champ obligatoire, non optionnel (pour les tenants d'utilité publique)
  2. Quatre sphères - ideell, vermögensverwaltend, zweckbetrieblich, wirtschaftlich
  3. Le Pre-Commit-Hook vérifie l'exhaustivité - aucun Commit sans tag de sphère pour les tenants d'utilité publique
  4. Rapport de violation des sphères - avertissement automatique en cas d'opération wirtschaftlich dans un contexte ideell
  5. Forfaits affectés - les forfaits pour bénévoles/animateurs (§ 3 Nr. 26/26a EStG) reçoivent un tag de sphère

Compliance by Design : la séparation des sphères ne résulte pas d'un tri a posteriori, mais de champs obligatoires structurels et de Pre-Commit-Hooks qui vérifient, pour chaque opération commerciale, l'affectation à une sphère.

Les quatre sphères

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD GV["Geschäftsvorfall
ab Gewerbeanmeldung"] GV --> I["ideell
§ 52 AO
steuerfrei"] GV --> V["vermögensverwaltend
steuerfrei"] GV --> Z["zweckbetrieblich
§ 65 AO
steuerfrei"] GV --> W["wirtschaftlich
§ 64 AO
steuerpflichtig"] I --> IF["Beispiele:
Workshops, Bildungsangebote
Spenden, Mitgliedsbeiträge"] V --> VF["Beispiele:
Zinsen, Mieteinnahmen
Vermögensverwaltung"] Z --> ZF["Beispiele:
Aufnahmegebühren
zweckbezogene Leistungen"] W --> WF["Beispiele:
Merchandising, Werbung
fremdzweckige Leistungen"] I --> P["Pauschalen § 3 Nr. 26/26a
Ehrenamt/Übungsleiter"] Z --> P style GV fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style I fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style V fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style Z fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style W fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style IF fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style VF fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style ZF fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style WF fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style P fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33
Sphère Base juridique Statut fiscal Exemples
ideell § 52 AO exonéré Ateliers, offres de formation, dons, cotisations des membres
vermögensverwaltend § 58 Nr. 1 AO exonéré Intérêts, revenus locatifs, gestion de patrimoine
zweckbetrieblich § 65 AO exonéré (si 4 critères remplis) Frais d'admission, prestations liées au but
wirtschaftlich § 64 AO imposable Merchandising, publicité, prestations étrangères au but

Risque en cas d'absence de séparation des sphères : le mélange de patrimoines (§ 55 Abs. 1 Nr. 5 AO) constitue un motif de retrait de la reconnaissance d'utilité publique. Une organisation d'utilité publique qui ne sépare pas les opérations des sphères wirtschaftlich et ideell risque le retrait du statut d'utilité publique - et donc l'imposition rétroactive des réserves (jusqu'à 15 ans rétroactivement).

Classement par sphère dans l'artefact JSON

Chaque opération commerciale (écriture comptable, entrée de journal, pièce justificative) contient le champ sphere comme champ obligatoire pour les tenants d'utilité publique :

{
  "$schema": "https://gitcover.org/schemas/diary-entry-1.0.schema.json",
  "V7GUID": "<V7GUID-Class-aus-Registry>",
  "uuidV7": "<uuidV7-Object-mit-vorgegebener-Zeitmarke>",
  "author": "E1",
  "role": "Buchhalter",
  "tenant": "ORG-1",
  "sphere": "ideell",
  "source": "E1",
  "source_sha256": "<SHA-256-...>",
  "tags": ["workshop", "bildungsangebot"]
}

Remarque : la uuidV7 est la DocID de l'entrée. La clé composite V7GUID:uuidV7 sert à l'organisation du stockage et aux requêtes DB. Le champ sphere est un champ obligatoire pour les tenants d'utilité publique - le Pre-Commit-Hook vérifie sa présence et sa validité.

Le Pre-Commit-Hook vérifie l'exhaustivité des sphères

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD C["Commit mit Geschäftsvorfall"] C --> H["Pre-Commit-Hook"] H --> P1{"Tenant
gemeinnützig?"} P1 -->|nein| OK1["Commit akzeptiert
Sphäre nicht erforderlich"] P1 -->|ja| P2{"sphere-Feld
vorhanden?"} P2 -->|nein| R1["Commit abgelehnt
Sphäre fehlt"] P2 -->|ja| P3{"sphere-Wert
gültig?"} P3 -->|nein| R2["Commit abgelehnt
ungültige Sphäre"] P3 -->|ja| P4{"Sphären-Verletzung?
(wirtschaftlich im ideellen Kontext)"} P4 -->|ja| W["Warnung
+ Commit akzeptiert mit Vermerk"] P4 -->|nein| OK2["Commit akzeptiert"] style C fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style H fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style P1 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style P2 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style P3 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style P4 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style OK1 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style OK2 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style R1 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style R2 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style W fill:#FDBA74,stroke:#C2410C,color:#0F1B33
Vérification Erreur en cas de Référence GoBD/AO
Tenant d'utilité publique ? - § 52 AO (utilité publique)
Champ sphere présent Sphère manquante pour un tenant d'utilité publique § 55 Abs. 1 Nr. 5 AO (mélange de patrimoines)
Valeur sphere valide Valeur de sphère invalide § 52/64/65 AO (définition des sphères)
Violation des sphères wirtschaftlich dans un contexte ideell § 55 AO (risque de retrait)

Important - Avertissement vs. rejet : une violation des sphères (opération wirtschaftlich dans un contexte ideell) entraîne un avertissement, et non un rejet - l'opération peut être légitime (p. ex. un wirtschaftlicher Geschäftsbetrieb qui revient à la personne morale). Mais l'avertissement oblige l'entrepreneur à confirmer consciemment le classement et à le documenter dans le Commit.

Rapport des sphères

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR R["Sphären-Report
(Post-Commit-Hook)"] R --> SI["ideell
Anzahl + Summe"] R --> SV["vermögensverwaltend
Anzahl + Summe"] R --> SZ["zweckbetrieblich
Anzahl + Summe"] R --> SW["wirtschaftlich
Anzahl + Summe"] SW --> PR["Prüfung:
wirtschaftlich unter Freigrenze?
§ 64 Abs. 3 AO (45.000 EUR)"] PR -->|ja| OK["keine KSt-Pflicht"] PR -->|nein| KST["KSt-Pflicht
+ USt-Pflicht prüfen"] style R fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style SI fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style SV fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style SZ fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style SW fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style PR fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style OK fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style KST fill:#FDBA74,stroke:#C2410C,color:#0F1B33

Le Post-Commit-Hook génère un rapport des sphères par exercice :

Sphère Évaluation Vérification fiscale
ideell Nombre + somme des opérations exonéré, aucune vérification
vermögensverwaltend Nombre + somme exonéré, aucune vérification
zweckbetrieblich Nombre + somme exonéré selon § 65 AO (4 critères)
wirtschaftlich Nombre + somme Seuil de franchise § 64 Abs. 3 AO (45 000 EUR) - au-delà, obligation KSt/USt

Exemple pratique : l'entrepreneur (E1) comptabilise une vente de merchandising (wirtschaftlich, 500 EUR) et un atelier (ideell, 200 EUR). Le Pre-Commit-Hook exige sphere: "wirtschaftlich" ou sphere: "ideell". Le Post-Commit-Hook génère un rapport : wirtschaftlich 500 EUR (sous le seuil de franchise), ideell 200 EUR. En cas de dépassement du seuil de franchise, le rapport avertit d'une obligation KSt.

Forfaits et sphères

Les forfaits pour bénévoles et pour animateurs (§ 3 Nr. 26/26a EStG) doivent être affectés à la bonne sphère :

Forfait Sphère Abattement annuel Base juridique
Forfait pour bénévoles ideell (régulièrement) 960 EUR/an § 3 Nr. 26a EStG
Forfait pour animateurs ideell ou zweckbetrieblich 3 300 EUR/an § 3 Nr. 26 EStG

Important : les forfaits sont exonérés d'impôt - mais seulement s'ils sont affectés à la bonne sphère. Un forfait pour bénévoles relevant du wirtschaftlicher Geschäftsbetrieb n'est pas exonéré. Le champ sphere dans l'entrée de journal documente l'affectation.

Statuts § 6a : le versement des forfaits suppose une clause d'ouverture dans les statuts (§ 6a). Jusqu'à l'inscription de la modification des statuts au registre du commerce, le versement doit être différé - le droit naît à compter de la date de la modification des statuts. Voir ED11 pour les détails.

Levier de risque

Aujourd'hui (peu coûteux) Demain (à l'épreuve des audits) Risque atténué
Champ sphere par opération commerciale Séparation des sphères prouvable sans lacune Retrait § 55 AO (mélange de patrimoines)
Le Pre-Commit-Hook vérifie la sphère Aucune opération sans tag de sphère Violation GoBD « nicht geordnet »
Rapport des sphères par exercice Seuil de franchise § 64 Abs. 3 AO surveillé Rappel de KSt/USt
Forfaits avec tag de sphère Exonération § 3 Nr. 26/26a EStG prouvée Assujettissement des forfaits à l'impôt
Avertissement en cas de violation des sphères Classement délibéré documenté Mélange de patrimoines dissimulé

Exigences Harness (aperçu)

Peut être dérivé d'ED10 :

ID Exigence Priorité
FA-3.1 Tags de sphère : ideell/vermögensverwaltend/zweckbetrieblich/wirtschaftlich MUST (utilité publique)
FA-3.2 Tag de sphère obligatoire par entrée du registre foncier et par entrée du Diary MUST (utilité publique)
FA-3.3 Le Pre-Commit-Hook vérifie l'exhaustivité des tags de sphère MUST (utilité publique)
FA-3.4 Rapport de violation des sphères (wirtschaftlich dans un contexte ideell) SHOULD (utilité publique)
FA-8.2 Suivi des forfaits § 3 Nr. 26/26a EStG avec tag de sphère SHOULD (utilité publique)
FA-8.5 Classement par sphère pour chaque opération commerciale (champ obligatoire, vérifié par Pre-Commit) MUST (utilité publique)
TA-2.3 Pre-Commit-Hook : vérification du tag de sphère (uniquement utilité publique) MUST (utilité publique)

La liste complète des exigences se trouve dans Harness-Anforderungen.md.

Sources

Topologie des sources et liens de référence CDN

Rôle Emplacement Objectif
Primary / SSoT git.gitcover.org/GCC Stockage canonique (signé GPG, versionné)
Public OSS Mirror / CDN codeberg.org/gitcover-commons Miroir en lecture seule ; découverte FLOSS
Community Hub github.com/gitcover-commons Issues & Discussions ; référence du code source sur Codeberg

Remarque : cette attribution des sources, du miroir et du Community Hub reflète l'état actuel et peut changer. Veuillez vérifier la source canonique respective sur gitcover.org pour connaître l'état actuel.