Skip to main content
UK & Europe

B2B Software Consulting in Berlin

Berlin's E-Rechnungsverordnung stopped exempting below-threshold public contracts on 31 December 2025, and the Berliner Beauftragte für Datenschutz und Informationsfreiheit logged 9,224 submissions in 2025. ERPStack is remote-first: custom ERP and CRM builds land in eu-central-1 and Brandenburg's sovereign region for Berlin scale-ups outgrowing Notion, monday.com, Odoo and Zoho Creator.

Quick Answer

In short: Berlin's E-Rechnungsverordnung lost its value floor on 31 December 2025, so XRechnung is now the invoice format. ERPStack builds custom ERP on PostgreSQL that emits XRechnung through an OZG portal, keeps GoBD-immutable records, respects § 87 works-council co-determination, and runs in AWS eu-central-1, 8 to 12 ms from Berlin.

Regional Compliance

  • EU GDPR and BDSG, supervised in Berlin by the BlnBDI
  • E-Rechnungsverordnung Berlin — XRechnung via an OZG portal
  • § 87 Abs. 1 Nr. 6 BetrVG works-council co-determination
  • GoBD (BMF letters 11.03.2024 and 14.07.2025)
  • NIS2UmsuCG — BSI registration due 6 March 2026

Security & Compliance Architecture

Berlin stacks three regimes: EU GDPR and the BDSG under the Berliner Beauftragte für Datenschutz und Informationsfreiheit, the GoBD over the books, and Berlin’s own e-invoicing ordinance and E-Government-Gesetz. Each lands in the schema.

  • Retention is a column — the Deutsche Wohnen lesson

    Landgericht Berlin I fined Deutsche Wohnen SE €900,000 on 9 June 2026 (526 OWiG LG 1/20) for archiving tenant identity and creditworthiness documents with no deletion routine. Every personal-data table ERPStack builds in PostgreSQL carries a lawful basis and a purge-after date, enforced nightly.
  • Archive the XRechnung XML, not the PDF

    The GoBD, amended by BMF letters of 11 March 2024 and 14 July 2025, demands unchangeable records — and the 2025 letter confirms only the structured part of an e-invoice must be kept. A Berlin supplier therefore archives the XRechnung XML it pushed through the Senate portal in AWS object storage behind an Immutable Audit Trail, with Z1, Z2 and Z3 extracts on demand.
  • Berlin AI features carry duties already

    Berlin absorbed roughly €2.7 billion of Germany’s €8 billion of venture capital in 2025, and the BlnBDI’s 2025 report insists AI systems stay controllable by whoever answers for the personal data inside them. With prohibitions live since 2 February 2025 and general-purpose AI duties since 2 August 2025, ERPStack gates model-backed ERP features behind a recorded human decision and an RBAC grant on a multi-tenant schema.
  • The Nutzerkonto is the transport key

    Berlin routes supplier invoices through an Onlinezugangsgesetz portal tied to a registered Nutzerkonto, and § 20 of the E-Government-Gesetz Berlin puts exceptions in the hands of the IKT state secretary, not a project team. ERPStack therefore treats that account identity — not an e-mail address — as the routing key, and blocks anything it cannot address, which is exactly what a Berlin government buyer’s procurement audit checks.

Engineering Blueprint

Berlin has no general-purpose AWS region. ERPStack runs Berlin ERP and CRM workloads — TypeScript and Next.js over PostgreSQL — in eu-central-1 (Frankfurt, 3 availability zones) and, since January 2026, optionally in eusc-de-east-1 — the AWS European Sovereign Cloud region in Brandenburg, the state surrounding Berlin.

XRechnung as a PostgreSQL schema

Berlin’s E-Rechnungsverordnung § 5 fixes the payload: a Leitweg-Identifikationsnummer from the Senatsverwaltung für Finanzen, bank details, payment terms, a De-Mail address, supplier and order numbers. ERPStack models these as PostgreSQL columns in Drizzle ORM and validates them with Zod, so XRechnung 3.0.2 — the German CIUS of EN 16931 — is emitted by the ERP rather than retyped into a Berlin portal.

export const berlinInvoices = pgTable('berlin_invoices', {
        leitwegId: varchar('leitweg_id').notNull(),
        purgeAfter: timestamp('purge_after').notNull(),
      });

Two Berlin targets, one Terraform root

Microsoft Azure’s Berlin region, Germany North, is restricted, carries no availability zones and is paired to Germany West Central in Frankfurt — disaster recovery, not production. ERPStack builds Berlin systems on eu-central-1 with Terraform, Docker and GitHub Actions, keeping a second Terraform root for eusc-de-east-1, whose identity and billing plane sit outside commercial AWS.

Telemetry a first-time Betriebsrat can sign

Berlin scale-ups usually meet § 87 Abs. 1 Nr. 6 BetrVG mid-build, when a first works council forms around an ERP that is already live — a sequencing problem Frankfurt’s long-established Betriebsräte rarely create. ERPStack ships per-user analytics behind feature flags: aggregate reporting runs while per-user dashboards stay dark until the Betriebsvereinbarung is signed, and Sentry redacts actor ids by default.

Evaluate Your Stack

Take our interactive audit to see if your architecture is ready for operational scale.

Start Free Audit

Regional Infrastructure

Infrastructure Region

eu-central-1 (Frankfurt), 3 AZs

Latency Metrics

8-12 ms Berlin to eu-central-1 (~430 km)

Primary Datacenter

AWS eu-central-1 / eusc-de-east-1 (Brandenburg)

Success Stories in Berlin

Real-Time Fraud Detection Platform

Real-time fraud detection and risk scoring platform

Read Case Study

Public-Health Data Dashboard

Health data dashboards for public administration

Read Case Study

Target Industries in Berlin

Frequently Asked Questions

Odoo is usually right for a Berlin scale-up at 80 staff running ordinary invoicing, stock, timesheets and a HubSpot pipeline beside them. A custom ERP earns its keep once Berlin duties bite: emitting XRechnung with a Leitweg-Identifikationsnummer into an Onlinezugangsgesetz portal, or holding an audit trail scoped to a § 87 BetrVG works agreement.

Any EU region satisfies GDPR for a Berlin company; German residency is a procurement preference, not a statutory rule. Berlin buyers still pick AWS eu-central-1 in Frankfurt, three availability zones, because Berlin has no general-purpose AWS region. Microsoft Azure's Berlin region, Germany North, is restricted — disaster recovery, not production.

Under § 87 Abs. 1 Nr. 6 BetrVG a works council co-determines any system able to monitor employee behaviour or performance, and an ERP always is. In Berlin the pressure doubles: the BlnBDI's 2025 caseload featured staff reading records they had no business reading, so internal access control is what the Berlin authority actually investigates.

ERPStack typically ships a Berlin client's first production module in eight to twelve weeks: schema, Role-Based Access Control (RBAC) and one revenue-critical workflow on PostgreSQL and Next.js, deployed to eu-central-1. That is an engineering target, not a guarantee. The Berlin-specific lead time is registering the Onlinezugangsgesetz Nutzerkonto and obtaining a Leitweg-Identifikationsnummer.

Yes, and Berlin is ahead. The E-Rechnungsverordnung Berlin makes suppliers to Berlin authorities use XRechnung, transmitted through an Onlinezugangsgesetz portal via a registered user account. Contracts below the § 106 GWB thresholds were exempt only until 31 December 2025, so every Berlin public contract is now in scope; the federal issuance duty starts 1 January 2027 above €800,000 turnover.

On 9 June 2026 Landgericht Berlin I (526 OWiG LG 1/20) fined Deutsche Wohnen SE €900,000 — reduced from the €14,385,000 the Berlin authority imposed in 2019 — for holding tenant identity and creditworthiness documents in an archive with no deletion routine. In Berlin systems retention belongs in PostgreSQL as a purge-after column.

Berlin answers to the Berliner Beauftragte für Datenschutz und Informationsfreiheit under Meike Kamp — a different authority from Hessen's, which covers Frankfurt. In 2025 the BlnBDI took 9,224 submissions, up 52 percent from 6,036, and issued 59 fines totalling €79,450. Berlin enforcement is high-volume complaint handling, so your Data Subject Access Request (DSAR) pipeline gets tested.

Yes. The AWS European Sovereign Cloud opened its first region, eusc-de-east-1 in the aws-eusc partition, in Brandenburg in January 2026, with EU-resident operations and identity and billing separated from commercial AWS. It is no drop-in for eu-central-1: accounts and Terraform providers differ, so ERPStack treats a Berlin sovereign Cloud Migration as a second Terraform root.

Related reading

Explore Custom ERP Solutions by Location, Industry, and Alternatives

Global Architectures