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 AuditRegional Infrastructure
Infrastructure Region
Latency Metrics
Primary Datacenter
Success Stories in Berlin
Real-Time Fraud Detection Platform
Real-time fraud detection and risk scoring platform
Read Case StudyTarget 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.