ED14 - Bundesanzeiger account and E-Bilanz: set up early

Problem

The obligation to deposit the annual financial statements (§ 325 HGB) affects every corporation: The annual financial statements must be deposited electronically with the Bundesanzeiger-Verlag within twelve months of the balance sheet date (and published there, with extended disclosure and exemption rules for small companies). The classic trap:

Core message

Digital procedures are only fast if the access is already in place. Therefore, the following principle applies to the authority visits in Part III:

Account first, obligation later: ELSTER organizational certificate, Bundesanzeiger organizational account and Transparenzregister access are set up in parallel with the classic registrations (ED13, ED15, ED16) - not only when the respective obligation (deposit, annual financial statements, notification) forces it.

  1. Bundesanzeiger organizational account: The account through which the deposit under § 325 HGB runs is an organizational account (not the private access). The assignment to the organization via proofs of authorization can include postal steps (signature, legitimation) - factor in the processing time.
  2. ELSTER organizational certificate: Basis for tax filings and E-Bilanz. Applied for early (ED13, ED19), even if the first use case is still a long way off.
  3. Transparenzregister access: The access for notifications under §§ 20, 21 GwG (ED04, ED17) runs via the operator network of the Bundesanzeiger-Verlag - same identity logic, same authorization pitfalls.
  4. E-Bilanz: Transmitting the balance sheet via ELSTER to the tax office (XBRL, tax taxonomy) requires software and practiced processes - both are built up before the first real run (test run, process documentation).
  5. Documentation as artifact: Every access route set up is documented in the Git repo: purpose, account holder, activation date, authorization path (incl. postal proof with SHA-256). This makes the obligation to maintain the access routes provable - and the managing director knows which access routes exist and who holds them.

Compliance by Design: The access routes are part of the process documentation (ED07): Who can do what via which access? The repo knows the path to the answer: zugaenge.json per organization with purpose, status (applied for/activated), receipt references. When a deadline falls due, the associated access is not "somewhere", but available as a verified artifact.

The access landscape by way of example

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD ORG1["ORG-1
(Kapitalgesellschaft)"] ORG1 --> EL["ELSTER
Organisationszertifikat
(Steueranmeldungen, E-Bilanz)"] ORG1 --> BA["Bundesanzeiger
Organisationsaccount
(Hinterlegung § 325 HGB)"] ORG1 --> TR["Transparenzregister
Zugang
(Meldungen §§ 20, 21 GwG)"] EL --> ELU["Früh einrichten:
mit Steuer-Nr.-Anmeldung (ED13)"] BA --> BAU["Früh einrichten:
Berechtigungsnachweis
z. T. postalisch - Wochen!"] TR --> TRU["Früh einrichten:
mit Erstmeldung (ED17)"] style ORG1 fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style EL fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style BA fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style TR fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style ELU fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style BAU fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style TRU fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33

Timeline: Account setup vs. deposit obligation

Point in time Event Consequence
Founding year Authority visits (ED13-ED19) Account setup in parallel: ELSTER, Bundesanzeiger, Transparenzregister - incl. postal activations
Balance sheet date T Fiscal year ends Annual financial statements are prepared
T + 9 months typical preparation date Prepare the deposit - the account must already be in place
T + 12 months End of deadline § 325 HGB Electronic deposit must be possible - postal activation "at the last minute" is a missed deadline

Risk lever: The account costs 30 minutes of effort today plus waiting time in the background. Without an account, the same situation later costs administrative fine proceedings (§ 335 HGB) plus reputational stress. That is exactly the "risk leverage" of the series: cheap today, audit-proof tomorrow.

The access artifact

{
  "$schema": "https://gitcover.org/schemas/zugaenge-1.0.schema.json",
  "V7GUID": "ZUGANG_VERFAHREN",
  "uuidV7": "01a065f3-dbbd-7000-8000-000000000002",
  "tenant": "ORG-1",
  "zugang": {
    "verfahren": "bundesanzeiger_hinterlegung",
    "konto_typ": "organisation",
    "zweck": "Hinterlegung und Offenlegung Jahresabschluss § 325 HGB",
    "status": "freigeschaltet",
    "beantragt_am": "260915",
    "freigeschaltet_am": "261012",
    "berechtigungsweg": "postalisch",
    "belege": [
      { "art": "unterschreibung_berechtigung", "sha256": "…" }
    ],
    "verantwortlich": { "person": "E1", "role": "GF" }
  }
}

No datetime field - capture time in the uuidV7 (ED03); beantragt_am/freigeschaltet_am are domain data of the procedure.

Connection to the series

Risk leverage

Today (cheap) Tomorrow (audit-proof) Risk mitigated
Account setup in parallel with registrations Deposit possible on the key date Administrative fine § 335 HGB
Postal proofs as receipts (SHA-256) Activation provable Dispute over access authorization
zugaenge.json per organization Process doc knows all access routes "Which access was that?" search
E-Bilanz test run before the real thing Procedure tested Errors during the mandatory transmission run

Harness requirement (preview)

ID Requirement Priority
FA-14.1 Access artifacts per procedure (schema zugaenge-1.0) MUST
FA-14.2 Obligations checklist: procedures with digital access → set up access before the deadline MUST
FA-14.3 Postal proofs of authorization as sidecar-secured receipts SHOULD

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