ED21 - Employee Onboarding: Company Number, Social Insurance Registration, ELSTER

Problem

An entrepreneur hires their first employee and faces a thicket of obligations that apply from the first employee onward:

Trigger B - 1st employee: These obligations arise with the first employee - they build on the organizational foundation (Part II) and the authority identifiers (Part III).

Core Statement

Employee onboarding in the Git repo means:

  1. Master data as a JSON artifact - all § 4 LStDV mandatory fields in the repo, with a sphere tag and V7GUID:uuidV7
  2. Social insurance registration as evidence with a sidecar - DEÜV notification with reason 10, receipt with SHA-256
  3. Industry check § 28a Abs. 4 SGB IV - check for each employee whether an immediate notification obligation exists (construction, hospitality, cleaning, security, etc.)
  4. SV-Meldeportal as an emergency channel - without payroll software, submit notifications directly via sv-meldeportal.de, receipt as evidence with a sidecar
  5. ELStAM retrieval documented - retrieval before the first payroll run, result in the repo
  6. Deadline check for onboarding steps - DEÜV (6 weeks), immediate notification (before commencement), ELStAM (before payroll run), LStA (10th of the following month)
  7. Onboarding checklist as a Git artifact - structured step-by-step list with status tracking

Compliance by Design: Onboarding is not carried out ad hoc, but is documented through structured mandatory fields, evidence with sidecars and a deadline check.

Onboarding Timeline

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD V["Vertrag unterschrieben"] V --> S0["0. Branchen-Check § 28a Abs. 4"] S0 --> S0A{"Sofortmeldungspflicht?"} S0A -->|ja| S0B["Sofortmeldung vor Aufnahme"] S0A -->|nein| S1["1. Stammdaten erfassen"] S0B --> S1["1. Stammdaten erfassen"] S1 --> S2["2. ELStAM abrufen"] S2 --> S3["3. SV-Anmeldung DEÜV Grund 10"] S3 --> S4["4. Krankenkasse wählen"] S4 --> S5["5. Erster Lohnlauf"] S5 --> S6["6. LStA übermitteln"] S6 --> S7["7. SV-Beitragsnachweis"] style V fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style S0 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style S0A fill:#E8632A,stroke:#C2410C,color:#FBFAF7 style S0B fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style S1 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style S2 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style S3 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style S4 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style S5 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style S6 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style S7 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33
Step Action Deadline GitCover implementation
Contract signed Employment contract with sidecar - sources/vertraege/
Capture master data § 4 LStDV mandatory fields Before payroll run JSON artifact in the repo
Retrieve ELStAM Electronic LSt withholding characteristics Before first payroll run Retrieval result as evidence
Social insurance registration (DEÜV reason 10) Registration with health insurance fund 6 weeks after start Receipt with sidecar
Select health insurance fund Confirm health insurance fund membership Before payroll run Evidence with sidecar
First payroll run Gross-to-net payroll Monthly JSON artifact (see ED23)
Submit LStA Wage tax registration via ELSTER 10th of the following month Receipt with sidecar (see ED14)
SV contribution notice Contribution notice to health insurance fund Third-to-last bank working day Evidence with sidecar

Master Data as a JSON Artifact (§ 4 LStDV)

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR P["§ 4 LStDV Pflichtfelder"] P --> N["Name, Vorname"] P --> G["Geburtsdatum"] P --> A["Anschrift"] P --> ST["Steuer-IdNr"] P --> SV["SV-Nummer"] P --> KK["Krankenkasse + IK"] P --> E["Eintrittsdatum"] P --> B["Beitragsgruppenschlüssel"] style P fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style N fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style G fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style A fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style ST fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style SV fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style KK fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style E fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style B fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33

Master Data JSON

{
  "$schema": "https://gitcover.org/schemas/employee-stammdaten-1.0.schema.json",
  "V7GUID": "<V7GUID-Class-aus-Registry>",
  "docUid": "<uuidV7-Object-mit-vorgegebener-Zeitmarke>",
  "author": "E1",
  "role": "Lohnverantwortlicher",
  "tenant": "ORG-1",
  "sphere": "ideell",
  "source": "E1",
  "source_sha256": "<SHA-256-des-Anstellungsvertrags>",
  "tags": ["mitarbeiter", "stammdaten", "§4-lstdv", "onboarding"],
  "mitarbeiter": {
    "name": "Mustermann, Erich",
    "geburtsdatum": "1985-08-04",
    "anschrift": "<ANSCHRIFT>",
    "steuer_idnr": "<STNR-11-STELLIG>",
    "sv_nummer": "<SV-NR-12-STELLIG>",
    "krankenkasse": "AOK Hessen",
    "ik_nummer": "<IK>",
    "eintrittsdatum": "2026-09-01",
    "beschaeftigungsart": "Geschaeftsfuehrer",
    "taetigkeitsschluessel": "62113",
    "personengruppe_deuev": "101",
    "beitragsgruppenschluessel": "0320",
    "aktivrente_flag": true,
    "bruttolohn_monat": 2000.00
  }
}

Note: The uuidV7 is the DocID of the entry. The Composite Key V7GUID:uuidV7 is used for storage organization and DB queries. The mitarbeiter object contains all § 4 LStDV mandatory fields. The aktivrente_flag documents the early retirement pension (§ 3 Nr. 21 EStG) - see ED16 (DRV status determination) and ED23 (payroll).

ELStAM Retrieval (§ 39e EStG)

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD A["ELStAM abrufen"] A --> E["Ergebnis: Steuerklasse, Faktor, KiSt, Kinder"] E --> R["Abruf-Ergebnis als Beleg mit Sidecar"] R --> L["Lohnlauf verwendet ELStAM-Daten"] A -->|Fehler| F["Kein ELStAM-Datensatz"] F --> N["Nachweis: Abruf versucht"] style A fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style E fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style R fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style L fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style F fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style N fill:#FDBA74,stroke:#C2410C,color:#0F1B33
Step Action GitCover implementation
Retrieve ELStAM Electronically via ELSTER (before first payroll run) Retrieval result as evidence with sidecar
Result Tax class, factor, church tax, children elstam object in the master data JSON
Payroll run Payroll uses ELStAM data tags: ["elstam-abruf", "§39e-estg"]
Error No ELStAM record available Repo event: Retrieval attempted (evidence)

Important - ELStAM before payroll run: The ELStAM retrieval must take place before the first payroll run. Without ELStAM data, no wage tax may be calculated (§ 39e EStG). The retrieval is documented in the repo - in the event of an error (no record), the retrieval attempt is logged as a repo event (evidence "attempted", see ED14 Interface Error Logging).

DEÜV Registration (Reason 10)

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR B["Beschäftigungsbeginn"] B --> D["DEÜV Anmeldung Grund 10"] D --> KK["an Krankenkasse (Einzugsstelle)"] KK --> Q["Quittung"] Q --> R["Quittung als Beleg mit Sidecar"] D --> F["Frist: 6 Wochen nach Eintrittsmonat"] style B fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style D fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style KK fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style Q fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style R fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style F fill:#FDBA74,stroke:#C2410C,color:#0F1B33
Field Value (SME example)
Reporting reason 10 (commencement of employment)
SV company number AG <SV-BETRNR> (see ED17)
SV number AN <SV-NR>
Person group 101
Activity key 62113
Contribution group key 0320 (see ED22)
Start date 2026-09-01
Deadline 6 weeks after the month of entry (approx. 13.10.2026)

Practical example: The managing director (E1) starts at the KMU on 01.09.2026. The DEÜV registration (reason 10) must be completed by approximately 13.10.2026 (6 weeks after the month of entry). The health insurance fund's receipt is stored in the repo as evidence with a sidecar. The deadline check contains the entry "DEÜV reason 10 - 131006".

Immediate Notification to Social Insurance (§ 28a Abs. 4 SGB IV)

In addition to the regular DEÜV registration (reason 10, 6-week deadline), there is an immediate notification obligation for certain industries: The date on which an employment relationship begins must be reported to the pension insurance data center no later than when the employment relationship commences - that is, before or on the first working day, not six weeks later.

Industries Subject to the Immediate Notification Obligation

§ 28a Abs. 4 SGB IV lists 11 economic sectors in which immediate notification is mandatory:

No. Industry Typical activity
1 Construction industry Structural construction, civil engineering, finishing, roofing, scaffolding
2 Restaurant and lodging industry Restaurant, hotel, guesthouse, pub
3 Passenger transport industry Taxi, bus, ride-sharing, chauffeur
4 Freight forwarding, transport and logistics industry Truck driver, courier, platform-based delivery services
5 Fairground industry Funfair, carousel, wagon building
6 Building cleaning services Contract cleaning, facade cleaning
7 Exhibition stand setup and dismantling Stand construction, assembly, dismantling
8 Meat industry (excluding the butcher trade) Industrial slaughtering, processing, processing
9 Prostitution industry Brothel, escort brokerage
10 Guard and security services Property protection, doorman, cash transport
11 Hairdressing and cosmetic industry Hairdresser, cosmetics, nail salon

Why these industries? These economic sectors have an increased risk of illegal work, sham self-employment and contribution avoidance. Immediate notification enables the DRV to check promptly whether an employment relationship has been correctly registered - while the employee is already working.

Immediate notification is not a registration under § 28a Abs. 1 SGB IV (regular DEÜV registration). It does not replace this, but is an additional reporting obligation. If it is not submitted, the following consequences are possible:

Content of the Immediate Notification

Immediate notification contains reduced information (less than the complete DEÜV registration):

Field Content
Family and given names of the employee
Insurance number If known, otherwise date/place of birth, address
Employer's company number (see ED17)
Date employment commenced Date of the first working day

The notification is stored in the master record file under § 150 Abs. 1 und 2 SGB VI

Decision: Is My Company Affected?

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD A["Arbeitgeber stellt ein"] A --> B{"Branche § 28a Abs. 4 SGB IV?"} B -->|ja| C["Sofortmeldung PFLICHT"] B -->|nein| D["Reguläre DEÜV-Anmeldung Grund 10"] C --> E["vor Aufnahme der Tätigkeit"] E --> F["an Datenstelle DRV"] F --> G["Daten: Name, SV-Nummer, Betriebsnummer, Tag Aufnahme"] D --> H["6 Wochen nach Eintrittsmonat"] C --> I["Meldung gilt NICHT als Anmeldung nach Abs. 1"] style A fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style B fill:#E8632A,stroke:#C2410C,color:#FBFAF7 style C fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style D fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style E fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style F fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style G fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style H fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style I fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33

Practical example: The KMU (software development) is not among the industries under § 28a Abs. 4 SGB IV. For the managing director (E1), no immediate notification must be submitted - the regular DEÜV registration (reason 10) with the 6-week deadline is sufficient. If the KMU were to hire an office cleaner, this would fall under building cleaning services (No. 6) - an immediate notification obligation would be triggered. Industry affiliation must be checked per employment relationship, not per company.

Reporting Without Payroll Software: The SV-Meldeportal

Not every entrepreneur has ITSG-certified payroll software. For small employers (up to approximately 10 employees), self-employed persons and exceptional cases, social insurance provides the SV-Meldeportal at sv-meldeportal.de as a system-tested form-filling tool - the legal successor to sv.net (service discontinued 30.06.2024).

§ 95a SGB IV requires social insurance institutions to continuously provide a generally accessible, electronically supported and system-tested form-filling tool for data exchange under SGB IV and the Aufwendungsausgleichsgesetz. The SV-Meldeportal is this form-filling tool - it performs no calculations (it is not a competitor to professional payroll software), but merely supports the capture and transmission of notifications.

Requirements for Use

Requirement Description
ELSTER organization certificate Mandatory; applied for via Mein Unternehmenskonto with the company's tax number
Company number Mandatory; reconciled against the BA's central company number file (see ED17)
E-mail address Explicitly confirmed during registration
Authorization letter Sent by post to the management; activation code is handed over internally
Browser Pure web application, responsive (PC, tablet, mobile phone), accessible under BITV 2.0

BundID account exception: Since 2024, a BundID account is alternatively permitted for foreign companies, self-employed persons and employees who use the portal exclusively for A1 certificates.

Registration and Reporting Procedure

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD R1["1. ELSTER-Organisationszertifikat"] R1 --> R2["2. Registrierung SV-Meldeportal"] R2 --> R3["3. Betriebsnummer verknüpft"] R3 --> R4["4. Freischaltcode per Post"] R4 --> R5["5. Anmeldung am Portal"] R5 --> M["Meldung erfassen"] M --> Q["Quittung empfangen"] Q --> S["Quittung als Beleg + Sidecar"] style R1 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style R2 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style R3 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style R4 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style R5 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style M fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style Q fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style S fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33

Registration takes place once, independently of the term. In detail:

  1. Apply for an ELSTER organization certificate - via Mein Unternehmenskonto (info.mein-unternehmenskonto.de); the company's tax number is also required. Each employee can apply for a separate certificate (up to 500 per business account).
  2. Start registration in the SV-Meldeportal - authentication with the ELSTER organization certificate. Company data are partially transferred automatically from the ELSTER account.
  3. Link the company number - mandatory; reconciliation with the BA's central company number file.
  4. Activation code by post - the authorization letter is sent by post to the management. The internal organizational structure hands the activation code to the authorized user.
  5. Access the portal - then with the organization certificate.
  6. Create notification - DEÜV notifications (reasons 10, 30, 50, 92), contribution notices, A1 certificates, applications.
  7. Receive receipt - electronic confirmation from the data acceptance office.
  8. Receipt as evidence with sidecar - store in the Git repo (SHA-256, V7GUID:uuidV7, sphere tag).

Costs

User group Price (net) Scope
Single tenant 36.00 EUR plus VAT Notifications for one company number, 36-month term
Multi-tenant 99.00 EUR plus VAT Notifications for multiple company numbers, 36-month term
Exception: A1-only Exempt Self-employed persons who exclusively submit A1 applications
Exception: Zahlstellennummer Exempt Only applications for Zahlstellennummern

Payment by bank transfer or PayPal. Any number of notifications during the term.

Feature Scope

Important for the Git repo: The SV-Meldeportal is a capture and submission tool, not a GoBD-compliant retention facility. The 5-year online data storage does not replace the GoBD retention periods (10 years for evidence, see ED08). The receipts and notification data must additionally be stored in the Git repo with a sidecar.

GitCover Integration

For Git-native compliance, the SV-Meldeportal is an interface system, just like ELSTER (see ED14):

Step Channel In the repo
Create notification SV-Meldeportal (browser) -
Submit notification SV-Meldeportal to data acceptance office -
Receive receipt SV-Meldeportal (download) Receipt as evidence + sidecar
Contribution notice SV-Meldeportal (download) Contribution notice as evidence + sidecar
Notification data SV-Meldeportal (export) Notification data as JSON artifact

Practical example: The KMU uses ITSG-certified payroll software and therefore does not use the SV-Meldeportal. If the payroll software fails (emergency), the SV-Meldeportal can serve as a backup channel. Registration with an ELSTER organization certificate is already available (for ELSTER LStA, see ED14). The company number is in the repo (ED17). In an emergency, the KMU can manually create immediate notifications or DEÜV registrations - the receipts are stored in the repo as evidence with a sidecar, just like the payroll software receipt.

Note from the preliminary work: The SV notification catalog in E1/agents/ states: "Immediate notifications (reason 20) are not required for GCC, because it is not among the industries under § 28a Abs. 4 SGB IV." This statement is correct for the software industry - but it must be rechecked per employment relationship as soon as employees move into industry-relevant activities (e.g., cleaner, driver).

Onboarding Checklist as a Git Artifact

{
  "$schema": "https://gitcover.org/schemas/onboarding-checklist-1.0.schema.json",
  "V7GUID": "<V7GUID-Class-aus-Registry>",
  "docUid": "<uuidV7-Object-mit-vorgegebener-Zeitmarke>",
  "author": "E1",
  "role": "GF",
  "tenant": "ORG-1",
  "sphere": "ideell",
  "source": "E1",
  "tags": ["onboarding", "checkliste", "mitarbeiter"],
  "mitarbeiter_uuidV7": "<uuidV7-der-Stammdaten>",
  "checkliste": [
    {"schritt": "Vertrag unterschrieben", "status": "done", "beleg_sha256": "<SHA-256>"},
    {"schritt": "Stammdaten erfasst", "status": "done", "beleg_sha256": "<SHA-256>"},
    {"schritt": "Branchen-Check § 28a Abs. 4 SGB IV", "status": "done", "ergebnis": "nicht betroffen"},
    {"schritt": "Sofortmeldung (falls betroffen)", "status": "n/a", "frist": "vor Aufnahme"},
    {"schritt": "ELStAM abgerufen", "status": "done", "beleg_sha256": "<SHA-256>"},
    {"schritt": "DEÜV Grund 10 angemeldet", "status": "pending", "frist": "131006"},
    {"schritt": "KK-Mitgliedschaft bestätigt", "status": "pending", "frist": "300826"},
    {"schritt": "Erster Lohnlauf", "status": "pending", "frist": "300926"},
    {"schritt": "LStA übermittelt", "status": "pending", "frist": "151006"},
    {"schritt": "SV-Beitragsnachweis", "status": "pending", "frist": "271006"}
  ]
}

Note: The uuidV7 is the DocID of the checklist. The Composite Key V7GUID:uuidV7 is used for storage organization and DB queries. The mitarbeiter_uuidV7 field references the employee's master data (cross-reference via uuidV7). Each step has a status (done/pending) and optionally a deadline and an evidence hash.

Risk Leverage

Today (cheap) Tomorrow (audit-proof) Risk mitigated
Master data as a JSON artifact § 4 LStDV mandatory fields in GoBD-compliant form GoBD violation "incomplete"
ELStAM retrieval as evidence with sidecar Retrieval before payroll run is verifiable Incorrect wage tax calculation
DEÜV registration with receipt + sidecar Social insurance registration is verifiable Penalties for late registration
Industry check § 28a Abs. 4 SGB IV per employee Immediate notification obligation identified Fine up to 5,000 EUR, suspicion of illegal work
SV-Meldeportal receipt as evidence with sidecar Emergency channel verifiably documented Payroll software failure without delayed reporting
Onboarding checklist as a Git artifact All steps centrally traceable Forgotten onboarding steps
Deadline check for onboarding Missed deadlines avoided Late payment surcharge § 152 AO

Harness Requirement (Preview)

Derivable from ED21:

ID Requirement Priority
FA-5.1 Payroll account master data management (§ 4 LStDV mandatory fields) MUST
FA-5.2 ELStAM retrieval workflow (§ 39e EStG) SHOULD
FA-5.3 Contribution group key validation MUST
FA-5.7 DEÜV notifications with reasons 10/50/92 (workflow + deadlines) SHOULD
FA-5.8 SV contribution notice workflow SHOULD
FA-5.9 Industry check § 28a Abs. 4 SGB IV (immediate notification obligation per employee) MUST
FA-5.10 SV-Meldeportal integration (emergency channel, receipt import) SHOULD
FA-4.1 Deadline check file (checks/FRISTEN_CHECK.md) MUST
FA-4.5 Follow-up marker for official notices/documents MUST

The complete requirements list is 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 mapping 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.