ED10 - VBG Exemption and Lump Sums § 3 Nr. 26/26a EStG (from trade registration)

Problem

A non-profit organization registers a trade - and two mandatory fields become relevant, for which there is virtually no open-source support:

Trigger A - trade registration: These obligations arise without employees - they are part of the organization. VBG exemption and lump sums are relevant from trade registration, regardless of whether employees exist.

Core Statement

VBG exemption and lump sums in the Git repo mean:

  1. VBG exemption notice as voucher with sidecar - SHA-256 + V7GUID:uuidV7, storage in sources/sv-bescheide/
  2. Annual review as deadline check entry - automatic warning before the exemption period expires
  3. Lump sum tracking in the diary - every lump sum entry with sphere tag and allowance sum
  4. Articles § 6a status as Git artifact - notarized / HR registered / released - payment only after HR registration
  5. MD salary: sphere by actual activity - ideell for exclusively non-profit activity, cost allocation for commercial activity

Compliance by Design: VBG exemption and lump sums are not managed retroactively, but structurally captured through vouchers with sidecars, deadline check and sphere tags.

VBG exemption (§ 89 AO i.V.m. § 150 SGB VII)

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD G["Gemeinnützige Organisation"] G --> A["Anmeldung bei VBG"] A --> F["Freistellungsbescheid § 89 AO"] F --> B["BG-Beitrag = 0 EUR"] F --> J["Jährliche Prüfung"] J --> JA["Ja: Freistellung verlängert"] J --> NEIN["Nein: Beitragspflicht"] style G fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style A fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style F fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style B fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style J fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style JA fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style NEIN fill:#FDBA74,stroke:#C2410C,color:#0F1B33
Step Action GitCover implementation
Registration VBG registration, receive membership number Voucher with sidecar in sources/sv-bescheide/
Exemption Exemption notice § 89 AO Voucher with sidecar, sphere: "ideell"
Contribution = 0 BG contribution = 0 EUR in payroll tags: ["vbg-freistellung", "bg-beitrag-0"]
Annual review Exemption still justified? FRISTEN_CHECK.md with annual warning

Practical example: The KMU (non-profit) receives a VBG exemption notice on 260801 (membership no. <VBG-NR>). The notice is stored in the repo with SHA-256 + sidecar. The deadline check contains an entry "Review VBG exemption annually - 260801". The auto-warning reminds 30 days before. In the payroll the BG contribution is shown with 0 EUR (see ED14).

Lump sums § 3 Nr. 26/26a EStG

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD P["Pauschalen § 3 Nr. 26/26a EStG"] P --> E["Ehrenamtspauschale 960 EUR/Jahr"] P --> U["Übungsleiterpauschale 3.300 EUR/Jahr"] E --> ES["Sphäre: ideell"] U --> US["Sphäre: ideell oder zweckbetrieblich"] E --> F["Freibetrag-Tracking kumuliert"] U --> F F --> S["Satzung § 6a erforderlich"] S --> SH["HR-Eintragung vor Auszahlung"] style P fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style E fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style U fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style ES fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style US fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style F fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style S fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style SH fill:#FDBA74,stroke:#C2410C,color:#0F1B33
Lump sum Allowance/year Sphere Tax status SV status
Honorary lump sum (§ 3 Nr. 26a) 960 EUR ideell (regularly) tax-free SV-free (§ 1 Abs. 1 Nr. 16 SvEV)
Exercise leader lump sum (§ 3 Nr. 26) 3,300 EUR ideell or zweckbetrieblich tax-free SV-free (§ 1 Abs. 1 Nr. 16 SvEV)

Allowance tracking in the repo

{
  "$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": "Lohnverantwortlicher",
  "tenant": "ORG-1",
  "sphere": "ideell",
  "source": "E1",
  "source_sha256": "<SHA-256-...>",
  "tags": ["ehrenamtspauschale", "§3-nr-26a", "freibetrag-960"],
  "pauschale": {
    "type": "ehrenamt",
    "betrag": 80.00,
    "kumuliert_jahr": 80.00,
    "freibetrag_jahr": 960.00,
    "restfreibetrag": 880.00
  }
}

Note: The uuidV7 is the DocID of the entry. The composite key V7GUID:uuidV7 serves the storage organization and DB query. The pauschale object tracks the cumulative allowance per year - the post-commit hook can generate a warning when the allowance is exhausted.

Articles § 6a - opening clause for lump sums

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR B["Satzung § 6a"] B --> N["Notariell beurkundet"] N --> H["HR-Eintragung beantragt"] H --> HE["HR eingetragen"] HE --> F["Freigabe: Auszahlung möglich"] N -.-> W["Wartezeit: Auszahlung zurückstellen"] H -.-> W style B fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style N fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style H fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style HE fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style F fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style W fill:#FDBA74,stroke:#C2410C,color:#0F1B33
Status Meaning Payment
not notarized Articles have no opening clause not possible
notarized Opening clause notarially notarized defer
HR applied HR registration applied, waiting defer
HR registered Opening clause registered in the commercial register released

Important - claim accumulates: The claim to the lump sums arises from the date of the articles amendment (notarized) - but the payment is to be deferred until HR registration. The claim accumulates and can be paid retroactively after HR registration. The sphere field and the pauschale object in the diary document the claim from inception, with note "Payment deferred until HR registration".

Articles § 6a status as Git artifact

{
  "satzung_6a": {
    "status": "hr_eingetragen",
    "beurkundet_am": "260905",
    "hr_eingetragen_am": "260810",
    "freigegeben_am": "260810",
    "beleg_sha256": "<SHA-256-der-Urkunde>"
  }
}

MD salary: sphere by actual activity

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD GF["GF-Gehalt ab 01.09.2026"] GF --> T["Tatsächliche Tätigkeit"] T --> I["Überwiegend ideell"] T --> W["Teilweise wirtschaftlich"] I --> GZ["Vollständig: Sphäre ideell"] W --> KU["Kostenumlegung anteilig"] GZ --> B["Beispiel KMU: GF ausschließlich gemeinnützig tätig"] style GF fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style T fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style I fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style W fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style GZ fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style KU fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style B fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33
Scenario Sphere Justification
MD exclusively for non-profit purposes ideell Administration of the non-profit operation, R&D as purpose § 52 Abs. 2 Nr. 1 AO
MD partly for commercial business operation cost allocation Share ideell + share commercial, by effort
MD for asset management activity vermögensverwaltend Administration of the foundation assets

Practical example KMU: The MD (E1) is from 01.09.2026 exclusively active for non-profit purposes (administration, R&D, community). The MD salary (2,000 EUR) is fully assigned to the ideal sphere. The sphere field in the diary entry is sphere: "ideell", with tags: ["gf-gehalt", "aktivrente", "§3-nr-21-estg"].

Caution - cost allocation: If the MD is also active for a commercial business operation, the salary must be split (cost allocation). The procedure documentation (ED06) must document the allocation rule. In case of doubt always consult a tax advisor.

The three contracts and their spheres (overview)

Contract Gross/month Sphere Tax status SV status
MD employment contract 2,000 EUR ideell (with exclusively non-profit activity) tax-free § 3 Nr. 21 EStG (active pension) SV-liable
Honorary agreement 80 EUR ideell (§ 3 Nr. 26a EStG) tax-free SV-free
Exercise leader contract 275 EUR ideell or zweckbetrieblich (§ 3 Nr. 26 EStG) tax-free SV-free

Risk-Leverage

Today (cheap) Tomorrow (audit-proof) Risk mitigated
VBG exemption notice with sidecar Exemption verifiable, BG contribution = 0 evidenced Contribution back payment on missing evidence
Annual review in deadline check Exemption regularly reviewed Loss of exemption unnoticed
Lump sums with sphere tag + allowance tracking Tax exemption § 3 Nr. 26/26a EStG evidenced Tax liability of lump sums
Articles § 6a status as Git artifact HR registration traceable Payment before HR registration (legal error)
MD salary with sphere tag Sphere assignment documented Asset mixing § 55 AO
Claim accumulation documented Claim from notarization, payment after HR Loss of claim through undocumented accumulation

Harness requirement (preview)

Derivable from ED10:

ID Requirement Priority
FA-8.1 § 60a AO notice storage and validity tracking MUST (non-profit)
FA-8.2 Lump sums § 3 Nr. 26/26a EStG tracking with sphere tag and allowance sum SHOULD (non-profit)
FA-8.3 Articles § 6a opening clause status (notarized/HR-registered/released) SHOULD (non-profit)
FA-8.4 VBG exemption tracking (annual review) SHOULD (non-profit)
FA-8.5 Sphere classification per business transaction (mandatory field, pre-commit checked) MUST (non-profit)
FA-4.3 Auto-warning for deadlines under 14 days (also VBG annual review) SHOULD

The complete requirement list in Harness-Anforderungen.md.

Sources

Role Location Purpose
Primary / SSoT git.gitcover.org/GCC Canonical storage (GPG-signed, versioned)
Public OSS Mirror / CDN codeberg.org/gitcover-commons Read-only mirror; FLOSS discovery
Community Hub github.com/gitcover-commons Issues & discussions; source code reference on Codeberg

Note: This assignment of sources, mirror and community hub reflects the current state and may change. Please check the respective canonical source on gitcover.org for the current state.