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

Problem

An entrepreneur hires their first employee - and faces a jungle of obligations that take effect from the 1st 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).

Key Message

Employee onboarding in the Git repo means:

  1. Master data as a JSON artifact - all § 4 LStDV mandatory fields in the repo, with sphere tag and V7GUID:uuidV7
  2. Social insurance registration as a document with sidecar - DEÜV notification reason 10, receipt with SHA-256
  3. Industry check § 28a Abs. 4 SGB IV - check per employee whether an immediate notification obligation exists (construction, hospitality, cleaning, security, among others)
  4. SV reporting portal as emergency channel - without payroll software, submit notifications directly via sv-meldeportal.de, receipt as document with 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 starting work), ELStAM (before payroll run), wage tax registration (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 captured through structured mandatory fields, documents 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 wage tax deduction characteristics before first payroll run Retrieval result as document
Social insurance registration (DEÜV reason 10) Registration with health insurance fund 6 weeks after start Receipt with sidecar
Choose health insurance fund Confirm health insurance fund membership before payroll run Document with sidecar
First payroll run Gross-net accounting monthly JSON artifact (see ED18)
Submit LStA Wage tax registration via ELSTER 10th of the following month Receipt with sidecar (see ED11)
Social insurance contribution statement Contribution statement to health insurance fund third-to-last banking day Document with sidecar

Master Data as 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>",
  "uuidV7": "<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 serves for storage organization and DB queries. The mitarbeiter object contains all § 4 LStDV mandatory fields. The aktivrente_flag documents the active pension (§ 3 Nr. 21 EStG) - see ED12 (DRV status determination) and ED18 (payroll accounting).

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 document with sidecar
Result Tax class, factor, church tax, children elstam object in the master data JSON
Payroll run Payroll accounting uses ELStAM data tags: ["elstam-abruf", "§39e-estg"]
Error No ELStAM record available Repo event: retrieval attempted (proof)

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 case of error (no record), the retrieval attempt is logged as a repo event (proof of "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)
Notification reason 10 (start of employment)
SV company number (employer) <SV-BETRNR> (see ED13)
SV number (employee) <SV-NR>
Person group 101
Activity key 62113
Contribution group key 0320 (see ED17)
Commencement date 2026-09-01
Deadline 6 weeks after month of commencement (approx. 13.10.2026)

Practical example: The managing director (E1) starts at the SME on 01.09.2026. The DEÜV registration (reason 10) must take place by approx. 13.10.2026 (6 weeks after the month of commencement). The receipt from the health insurance fund is stored in the repo as a document with sidecar. The deadline check contains an 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 day on which an employment relationship begins must be reported to the Datenstelle der Rentenversicherung (pension insurance data center) no later than upon its commencement - i.e. before or on the first working day, not 6 weeks later.

Industries with Immediate Notification Obligation

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

No. Industry Typical activity
1 Construction industry Structural engineering, civil engineering, finishing, roofing, scaffolding
2 Hospitality and accommodation 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 Showmen's trade Funfair, carousel, wagon building
6 Building cleaning industry Routine cleaning, facade cleaning
7 Trade fair and exhibition set-up/dismantling Stand construction, assembly, dismantling
8 Meat industry (not butcher's trade) Slaughter, cutting, industrial processing
9 Prostitution industry Brothel, escort agency
10 Security and guarding industry Property guarding, doorman, cash-in-transit
11 Hairdressing and cosmetics industry Hairdresser, cosmetics, nail studio

Why these industries? These sectors have an increased risk of undeclared work, false self-employment and contribution evasion. The immediate notification enables the DRV to check promptly whether an employment relationship has been correctly registered - while the employee is already at work.

The immediate notification is not a registration under § 28a Abs. 1 SGB IV (regular DEÜV registration). It does not replace it, but is an additional notification obligation. If it is not submitted, the following loom:

Data Content of the Immediate Notification

The immediate notification contains reduced information (less than the full DEÜV registration):

Field Content
Family name and first name(s) of the employee
Insurance number if known, otherwise date/place of birth, address
Company number of the employer (see ED13)
Day of commencement of employment date of the first working day

The notification is stored in the master data file under § 150 Abs. 1 and 2 SGB VI - it serves the DRV as an early warning system.

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 SME (software development) does not belong to the industries of § 28a Abs. 4 SGB IV. For the managing director (E1), no immediate notification needs to be submitted - the regular DEÜV registration (reason 10) with a 6-week deadline is sufficient. However, if the SME were to hire a cleaner for the office, this would fall under the building cleaning industry (No. 6) - the immediate notification obligation would be triggered. Industry affiliation must be checked per employment relationship, not per company.

Notification Without Payroll Software: the SV Reporting Portal

Not every entrepreneur has ITSG-certified payroll accounting software. For micro employers (up to approx. 10 employees), self-employed persons and exceptional cases, the social insurance providers make the SV reporting portal available at sv-meldeportal.de as a system-tested completion aid - the statutory successor to sv.net (operation discontinued 30.06.2024).

§ 95a SGB IV obliges the social insurance carriers to permanently provide a generally accessible, electronically supported and system-tested completion aid for data exchange under SGB IV and the Aufwendungsausgleichsgesetz. The SV reporting portal is this completion aid - it performs no calculations (no competitor to professional payroll software), but merely supports the capture and transmission of notifications.

Prerequisites for Use

Prerequisite Description
ELSTER organization certificate Mandatory; applied for via Mein Unternehmenskonto with the company's tax number
Company number Mandatory; matched against the central company number file of the BA (see ED13)
Email address Explicitly confirmed during registration
Authorization letter (Vertretungsberechtigungsschreiben) Sent by post to the management; activation code is passed on internally
Browser Pure web application, responsive (PC, tablet, mobile), accessible in accordance with BITV 2.0

Exception BundID account: For foreign companies, self-employed persons and employees who use the portal exclusively for A1 certificates, the BundID account has been permitted as an alternative since 2024.

Registration and Notification 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:#DBEAFE,stroke:#1D4ED8,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, regardless of the term. In detail:

  1. Apply for the ELSTER organization certificate - via Mein Unternehmenskonto (info.mein-unternehmenskonto.de); the company's tax number is required for this. A separate certificate can be applied for per employee (up to 500 per company account).
  2. Start registration in the SV reporting portal - authentication with the ELSTER organization certificate. Company data is partially adopted automatically from the ELSTER account.
  3. Link the company number - mandatory; matched against the central company number file of the BA.
  4. Activation code by post - the authorization letter is sent by post to the management. The internal organization passes the activation code on to the authorized user.
  5. Log in to the portal - afterwards with the organization certificate.
  6. Capture notifications - DEÜV notifications (reason 10, 30, 50, 92), contribution statements, A1 certificates, applications.
  7. Receive the receipt - electronic confirmation from the data receiving office.
  8. Receipt as document with sidecar - store in the Git repo (SHA-256, V7GUID:uuidV7, sphere tag).

Costs

User group Price (net) Scope
Single client EUR 36.00 plus VAT Notifications for one company number, 36-month term
Multi-client EUR 99.00 plus VAT Notifications for multiple company numbers, 36-month term
Exception: A1-only exempt Self-employed persons who submit only A1 applications
Exception: payment office number exempt Only application for payment office numbers

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

Scope of Functions

Important for the Git repo: The SV reporting portal is a capture and transmission aid, not a GoBD-compliant retention repository. The online data storage for 5 years does not replace the GoBD retention periods (10 years for documents, see ED07). The receipts and notification data must additionally be stored in the Git repo with sidecar.

GitCover Integration

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

Step Channel In the repo
Capture notification SV reporting portal (browser) -
Transmit notification SV reporting portal to the data receiving office -
Receive receipt SV reporting portal (download) Receipt as document + sidecar
Contribution statement SV reporting portal (download) Contribution statement as document + sidecar
Notification data SV reporting portal (export) Notification data as JSON artifact

Practical example: The SME uses ITSG-certified payroll software and therefore does not use the SV reporting portal. Should the payroll software fail (emergency), the SV reporting portal can serve as a backup channel. Registration with the ELSTER organization certificate already exists (for ELSTER wage tax registration, see ED11). The company number is stored in the repo (ED13). In an emergency, the SME can capture immediate notifications or DEÜV registrations manually - the receipts are stored in the repo as documents with sidecar, just like the payroll software receipts.

Note from the preparatory work: The SV notifications catalogue of AFJD/agents/ notes: "Immediate notifications (reason 20) do not apply to GCC, as it does not belong to the industries of § 28a Abs. 4 SGB IV." This statement is correct for the software industry - but must be re-checked per employment relationship as soon as employees move into industry-relevant activities (e.g. cleaner, driver).

Onboarding Checklist as Git Artifact

{
  "$schema": "https://gitcover.org/schemas/onboarding-checklist-1.0.schema.json",
  "V7GUID": "<V7GUID-Class-aus-Registry>",
  "uuidV7": "<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 serves 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 a document hash.

Risk Leverage

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

Harness Requirement (Preview)

Derivable from ED15:

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 reason 10/50/92 (workflow + deadlines) SHOULD
FA-5.8 Social insurance contribution statement workflow SHOULD
FA-5.9 Industry check § 28a Abs. 4 SGB IV (immediate notification obligation per employee) MUST
FA-5.10 SV reporting portal 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 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 to 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.