ED20 - Employee Onboarding: Betriebsnummer, SV Registration, ELSTER

Problem

An entrepreneur hires their first employee - and faces a thicket of obligations that apply from the 1st employee onwards:

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 JSON artifact - all § 4 LStDV mandatory fields in the repo, with sphere tag and V7GUID:uuidV7
  2. SV registration as document with sidecar - DEÜV notification reason 10, receipt with SHA-256
  3. Sector check § 28a Abs. 4 SGB IV - check per employee whether an immediate notification obligation exists (construction, hospitality, cleaning, security, among others)
  4. SV-Meldeportal 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), ELStAM (before payroll run), LStA (10th of the following month)
  7. Onboarding checklist as 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 deadline checks.

Onboarding Timeline

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD V["Contract signed"] V --> S0["0. Sector check § 28a Abs. 4"] S0 --> S0A{"Immediate notification obligation?"} S0A -->|yes| S0B["Immediate notification before starting"] S0A -->|no| S1["1. Capture master data"] S0B --> S1["1. Capture master data"] S1 --> S2["2. Retrieve ELStAM"] S2 --> S3["3. SV registration DEÜV reason 10"] S3 --> S4["4. Choose health insurance fund"] S4 --> S5["5. First payroll run"] S5 --> S6["6. Submit LStA"] S6 --> S7["7. SV contribution statement"] 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 income tax deduction characteristics before first payroll run Retrieval result as document
SV 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-to-net accounting monthly JSON artifact (see ED23)
Submit LStA Wage tax registration via ELSTER 10th of the following month Receipt with sidecar (see ED13)
SV 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 mandatory fields"] P --> N["Last name, first name"] P --> G["Date of birth"] P --> A["Address"] P --> ST["Steuer-IdNr"] P --> SV["SV-Nummer"] P --> KK["Health insurance fund + IK"] P --> E["Start date"] P --> B["Contribution group key"] 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 query. The mitarbeiter object contains all § 4 LStDV mandatory fields. The aktivrente_flag documents the Aktivrente (§ 3 Nr. 21 EStG) - see ED15 (DRV status determination) and ED23 (payroll accounting).

ELStAM Retrieval (§ 39e EStG)

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD A["Retrieve ELStAM"] A --> E["Result: tax class, factor, church tax, children"] E --> R["Retrieval result as document with sidecar"] R --> L["Payroll run uses ELStAM data"] A -->|Error| F["No ELStAM record"] F --> N["Proof: retrieval attempted"] 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 ED13 interface error logging).

DEÜV Registration (Reason 10)

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR B["Start of employment"] B --> D["DEÜV registration reason 10"] D --> KK["to health insurance fund (collecting agency)"] KK --> Q["Receipt"] Q --> R["Receipt as document with sidecar"] D --> F["Deadline: 6 weeks after month of joining"] 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-Betriebsnummer (employer) <SV-BETRNR> (see ED16)
SV-Nummer (employee) <SV-NR>
Person group 101
Activity key 62113
Contribution group key 0320 (see ED22)
Start date 2026-09-01
Deadline 6 weeks after month of joining (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 submitted by approx. 13.10.2026 (6 weeks after the month of joining). The receipt from the health insurance fund is stored as a document with sidecar in the repo. The deadline check contains an entry "DEÜV Grund 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 sectors: The day on which an employment relationship begins must be reported to the Datenstelle der Rentenversicherung at the latest when it commences - i.e. before or on the first working day, not only 6 weeks later.

Sectors with Immediate Notification Obligation

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

No. Sector Typical Activity
1 Construction Building construction, civil engineering, fit-out, 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, disassembly
8 Meat industry (not butcher's craft) Slaughter, cutting, industrial processing
9 Prostitution industry Brothel, escort agency
10 Security and guarding industry Premises guarding, doorman, cash transport
11 Hairdressing and cosmetics industry Hairdresser, cosmetics, nail studio

Why these sectors? These industries have an elevated 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 - even 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, there is a threat of:

Data Content of the Immediate Notification

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

Field Content
Surname and first names of the employee
Insurance number if known, otherwise date/place of birth, address
Betriebsnummer of the employer (see ED16)
Day of commencement of employment date of the first working day

The notification is stored in the master record file under § 150 Abs. 1 und 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["Employer hires"] A --> B{"Sector under § 28a Abs. 4 SGB IV?"} B -->|yes| C["Immediate notification MANDATORY"] B -->|no| D["Regular DEÜV registration reason 10"] C --> E["before starting the activity"] E --> F["to Datenstelle DRV"] F --> G["Data: name, SV-Nummer, Betriebsnummer, day of start"] D --> H["6 weeks after month of joining"] C --> I["Notification does NOT count as registration under 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) does not belong to the sectors of § 28a Abs. 4 SGB IV. For the managing director (E1), no immediate notification must be submitted - the regular DEÜV registration (reason 10) with a 6-week deadline is sufficient. However, if the KMU 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. Sector affiliation must be checked per employment relationship, not per company.

Notification Without Payroll Accounting Software: the SV-Meldeportal

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

§ 95a SGB IV obliges the social insurance institutions to permanently provide a generally accessible, electronically supported and system-tested form-filling aid for data exchange under SGB IV and the Aufwendungsausgleichsgesetz. The SV-Meldeportal is this form-filling 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 tax number of the company
Betriebsnummer Mandatory; checked against the central Betriebsnummer file of the BA (see ED16)
Email address Explicitly confirmed during registration
Vertretungsberechtigungsschreiben Sent by post to the management; the activation code is passed on internally
Browser Pure web application, responsive (PC, tablet, mobile), accessible per 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 organization certificate"] R1 --> R2["2. Registration SV-Meldeportal"] R2 --> R3["3. Betriebsnummer linked"] R3 --> R4["4. Activation code by post"] R4 --> R5["5. Login to the portal"] R5 --> M["Create notification"] M --> Q["Receive receipt"] Q --> S["Receipt as document + 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, independently of the term. In detail:

  1. Apply for the ELSTER organization certificate - via Mein Unternehmenskonto (info.mein-unternehmenskonto.de); the tax number of the company is required for this. A separate certificate can be applied for per employee (up to 500 per business account).
  2. Start registration in the SV-Meldeportal - authentication with the ELSTER organization certificate. Company data is partially adopted automatically from the ELSTER account.
  3. Link the Betriebsnummer - mandatory; checked against the central Betriebsnummer file of the BA.
  4. Activation code by post - the Vertretungsberechtigungsschreiben is sent by post to the management. The internal organization passes the activation code on to the authorized user.
  5. Login to the portal - afterwards with the organization certificate.
  6. Create notification - DEÜV notifications (reason 10, 30, 50, 92), contribution statements, A1 certificates, applications.
  7. Receive receipt - electronic confirmation from the data receiving center.
  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 36.00 EUR plus VAT Notifications for one Betriebsnummer, 36-month term
Multi client 99.00 EUR plus VAT Notifications for several Betriebsnummern, 36-month term
Exception: A1-only exempt Self-employed persons who submit only A1 applications
Exception: Zahlstellennummer exempt Only application for Zahlstellennummern

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

Scope of Functions

Important for the Git repo: The SV-Meldeportal 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 ED08). The receipts and notification data must additionally be stored in the Git repo with sidecar.

GitCover Integration

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

Step Channel In the Repo
Create notification SV-Meldeportal (browser) -
Transmit notification SV-Meldeportal to the data receiving center -
Receive receipt SV-Meldeportal (download) Receipt as document + sidecar
Contribution statement SV-Meldeportal (download) Contribution statement as document + 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 the ELSTER organization certificate already exists (for ELSTER LStA, see ED13). The Betriebsnummer is in the repo (ED16). In an emergency, the KMU can capture immediate notifications or DEÜV registrations manually - the receipts are stored as documents with sidecar in the repo, just like the payroll software receipts.

Note from the preliminary work: The SV notifications catalogue of AFJD/agents/ states: "Immediate notifications (reason 20) do not apply to GCC, as it does not belong to the sectors of § 28a Abs. 4 SGB IV." This statement is correct for the software sector - but must be re-checked per employment relationship as soon as employees move into sector-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 query. 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 SV registration provable Sanctions for late registration
Sector check § 28a Abs. 4 SGB IV per employee Immediate notification obligation recognized Fine of up to 5,000 EUR, suspicion of undeclared work
SV-Meldeportal receipt as document with sidecar Emergency channel verifiably documented 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 ED20:

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 SV contribution statement workflow SHOULD
FA-5.9 Sector 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 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.