ED17 - Bundesagentur für Arbeit and BZSt: Company Number, W-IdNr, USt-IdNr
Problem
An organization needs central identifiers from federal authorities - but in the SME sector it is unclear which ones and where they are stored:
- "Company number? Payroll software has it." - the SV-Betriebsnummer (BA) is in the payroll software, but not in the repo - if the account is canceled, it is gone
- W-IdNr unknown - the Wirtschafts-Identifikationsnummer (BZSt) is new and unknown to many entrepreneurs
- USt-IdNr confused with tax number - the VAT identification number (EU) is not the same as the tax number (FA) - but the two are confused
- No central storage - identifiers are in various documents, mailboxes, software instances - nowhere central
- No sidecars - the notifications are available as PDF, but without SHA-256 and without sidecar - not verifiable
Key Statement
Central identifiers in the Git repo mean:
- All identifiers in
registry/with sidecar - central storage, SHA-256 +V7GUID:uuidV7per document - Betriebsnummer (BA) - SV-Betriebsnummer for social insurance reports
- W-IdNr (BZSt) - Wirtschafts-Identifikationsnummer for tax purposes
- USt-IdNr (BZSt) - VAT identification number for EU-wide transactions
- Authority Identifier Registry - a central location that bundles all identifiers
Compliance by Design: Identifiers are not managed decentrally in software instances, but centrally in the repo with sidecars - independent of cloud accounts and software licenses.
The Three Central Identifiers
| Identifier | Authority | Use | Storage in repo |
|---|---|---|---|
| SV-Betriebsnummer | Bundesagentur für Arbeit (BA-Service) | SV reports (DEÜV), payroll accounting | registry/arbeitsagentur/ + sidecar |
| W-IdNr | Bundeszentralamt für Steuern (BZSt) | Tax identification (new) | registry/bzst/ + sidecar |
| USt-IdNr | Bundeszentralamt für Steuern (BZSt) | EU-wide VAT identification | registry/bzst/ + sidecar |
Important - distinction: The Steuernummer (FA, see ED14) is for domestic tax returns. The USt-IdNr (BZSt) is for EU-wide invoices. The W-IdNr (BZSt) is the new Wirtschafts-Identifikationsnummer. All three are different numbers - but all are stored centrally in
registry/with sidecar.
SV-Betriebsnummer (Bundesagentur für Arbeit)
| Property | Value |
|---|---|
| Authority | Bundesagentur für Arbeit, BA-Service Saarbrücken |
| Format | 8-digit number (e.g. <SV-BETRNR>) |
| Use | SV reports (DEÜV), payroll accounting, SV contribution statement |
| Storage | registry/arbeitsagentur/ with sidecar (SHA-256 + V7GUID:uuidV7) |
| Document | BA notification (PDF) with sidecar |
Practical example: The
KMUreceived the SV-Betriebsnummer<SV-BETRNR>on 260706. The BA notification is stored as a document with sidecar inregistry/arbeitsagentur/. The number is used in payroll accounting (ED23) and in DEÜV reports (ED22).
W-IdNr and USt-IdNr (Bundeszentralamt für Steuern)
| Identifier | Format | Use | Storage |
|---|---|---|---|
| W-IdNr | DE<NNNNNNNNN>-<NNNNN> |
Business identification (new, tax-related) | registry/bzst/ + sidecar |
| USt-IdNr | DE<NNNNNNNNN> |
EU-wide VAT identification | registry/bzst/ + sidecar |
Practical example: The
KMUreceived the W-IdNrDE<WID>-<NNNNN>on 260528 and the USt-IdNrDE<UID>on 260728. Both notifications are stored as documents with sidecar inregistry/bzst/.
Authority Identifier Registry (Overall Overview)
| Authority | Identifier | Directory | Document with sidecar |
|---|---|---|---|
| Tax office | KSt/USt/LSt-StNr, § 60a AO notice | registry/finanzamt/ |
✅ |
| Arbeitsagentur | SV-Betriebsnummer | registry/arbeitsagentur/ |
✅ |
| BZSt | W-IdNr, USt-IdNr | registry/bzst/ |
✅ |
| VBG | VBG membership number | registry/vbg/ |
✅ |
| Health insurance fund | IK number (information identifier) | registry/krankenkasse/ |
✅ |
| ELSTER | Certificate proof | registry/elster/ |
✅ |
Central insight: All authority identifiers are stored in one place (
registry/) with sidecars - not distributed across software instances, cloud accounts, or paper folders. During an external audit, the auditor can read all identifiers from the repo - offline, without IAM, without a cloud account.
Risk Leverage
| Today (cheap) | Tomorrow (audit-proof) | Risk mitigated |
|---|---|---|
SV-Betriebsnummer in registry/ with sidecar |
Number centrally verifiable | Loss upon cloud cancellation |
W-IdNr in registry/ with sidecar |
Business identification verifiable | Dispute of identity |
USt-IdNr in registry/ with sidecar |
EU identification verifiable | Non-deductibility of input tax (EU) |
| Authority Identifier Registry | All numbers centrally in one place | Decentralized management (loss) |
| Sidecar per document | Every notification cryptographically anchored | Dispute of authenticity |
Harness Requirement (Preview)
Derivable from ED17:
| ID | Requirement | Priority |
|---|---|---|
| FA-12.8 | Authority Identifier Registry (StNr, W-IdNr, USt-IdNr, SV-BetrNr, VBG membership no., IK) | MUST |
| FA-2.1 | SHA-256 as cryptographic integrity check; DocID is the uuidV7 alone |
MUST |
| FA-2.2 | .gc.md sidecar mandatory per document/artifact |
MUST |
The complete requirements list is in Harness-Anforderungen.md.
Sources
- SGB IV (§ 28i - company number, § 28a - DEÜV reports)
- AO (§ 139a - tax identification number, § 139c - W-IdNr)
- UStG (§ 27a - USt-IdNr)
E1/agents/(anonymized) - SSoT concept with registry, sidecars
Source Topology and CDN Reference Links
| 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.