Discovery & architecture
Configurator rule extraction from engineering documentation, SAP integration topology, dealer-tier and regional pricing model, GDPR data-flow mapping, EU residency design.
Case study · Manufacturing · E-commerce
How we built a custom Next.js dealer portal and product configurator for REHAU — the well-known global polymer products manufacturer — with engineering-grade configuration rules, region-aware pricing, real-time SAP-driven stock, and a dealer back-office that headquarters trusts. Live across multiple European markets with EU data residency, designed for the US and EU compliance bar.
REHAU's dealer network had outgrown its legacy ordering portal. Catalogs lived in spreadsheets, prices varied silently by region, and dealers across Germany, the Netherlands, France, Sweden, and Poland were spending hours configuring profile-system orders by hand — then double-checking them against headquarters' engineering rulebook before submission. The client wanted a single web platform with a guided configurator, region-aware pricing, real-time SAP-driven stock, and a back-office surface that headquarters could actually trust for a public-listed manufacturer's compliance bar. Off-the-shelf B2B commerce suites — SAP Commerce Cloud and Adobe Commerce B2B — could deliver a catalog and dealer accounts, but neither could host the engineering-grade configurator rules that REHAU's profile-system product line requires without a substantial fork of the vendor's configurator engine. We built the portal from first principles on a custom Next.js + NestJS stack, with a streaming SAP ERP integration and a dealer back-office designed for headquarters, dealers, and auditors across the EU — and aligned with the same controls a US deployment would require.
A snapshot of what the REHAU B2B commerce build delivered across the dealer portal and headquarters back-office.

The single biggest architectural question on this project was whether to extend an off-the-shelf B2B commerce suite — SAP Commerce Cloud (formerly Hybris) or Adobe Commerce B2B (Magento) — or to build a custom Next.js portal end-to-end. Both vendor platforms handle catalog, dealer accounts, and tiered pricing well; neither hosts an engineering-grade configurator with dimensional and combinatorial rules without a substantial fork of the vendor's configurator engine. For REHAU's profile-system product line, the configurator IS the product: dealers across the US and EU need a tool that validates profile-and-accessory combinations against the same engineering rulebook headquarters uses, then emits a deterministic SKU list, a printable spec sheet, and a price quote that the SAP ERP will invoice line-for-line. Building that on top of a vendor configurator means owning a fork of the vendor's runtime forever, with every SAP Commerce Cloud release reintroducing migration cost.
A custom custom software development build on Next.js + NestJS gives the team full ownership of the rule engine, the SAP integration topology, and the dealer back-office UX, with no per-user licensing and no vendor-imposed release cadence. The trade-off is a higher initial build — but for a manufacturer running a multi-market dealer program, the per-user license savings alone pay for the custom build inside the first rollout cycle, and the ability to ship configurator-rule changes the same day engineering signs them off is a structural advantage no SaaS vendor matches.
| Dimension | Custom Next.js (REHAU) | SAP Commerce Cloud | Adobe Commerce B2B |
|---|---|---|---|
| Engineering-rule configurator | Fully custom rule engine — dimensions, profile combinations, accessory compatibility | Vendor configurator — fork required for non-standard rules | Limited configurable-product model — fork required |
| Deterministic SKU & quote output | Quote matches ERP invoice line-for-line by design | Native SAP alignment; constrained by vendor SKU model | Requires custom middleware for SAP-aligned SKUs |
| SAP integration freshness | Streaming via event bus — sub-minute | Strong native — own ecosystem | Connector-dependent — varies by integrator |
| Storefront performance | Next.js ISR + CDN edge — sub-second TTFB | Heavy runtime; mitigated by Spartacus headless | PWA Studio possible; needs tuning |
| Per-user licensing | None — owned source | Per-CCU and per-environment licensing | Tiered commerce license + B2B module |
| Release cadence | Same-day from engineering sign-off | Vendor-imposed; upgrades disruptive | Quarterly platform releases |
| Long-term ownership cost | Higher initial; zero licensing or lock-in | Lower initial; high recurring license + upgrade cost | Mid initial; recurring license + B2B module cost |
References: Next.js documentation, SAP Commerce Cloud help portal, Adobe Commerce B2B documentation.

Region settings drive currency, tax, lead times, and dealer-tier discounts across every market the portal serves — Germany, the Netherlands, France, Sweden, Poland, and additional EU rollouts. A dealer based in Munich sees euro prices net of German VAT and the lead times their assigned warehouse can actually meet; a dealer in Stockholm sees Swedish kronor, Swedish VAT, and lead times specific to the Scandinavian distribution centers. Dealer-tier discounts apply on top of regional list prices, so the same SKU can show three different prices to three different dealers — and the dealer back-office at headquarters can see exactly which tier and which override produced each final number.
Stock visibility pulls live from SAP ERP through a streaming integration: stock and price change events flow out of SAP through an event bus into the portal's own PostgreSQL and Redis caches, with sub-minute freshness end-to-end. The dealer storefront never queries SAP synchronously — it reads from its own caches — but every page reflects ERP truth within a minute. Dealers see realistic delivery dates before they commit to an order, including back-order signals and substitute-product hints when an item is short. Order submission goes back to SAP via an outbound queue with idempotency keys and a reconciliation job that catches any missed events within the hour, so no dealer order ever lands in SAP twice and no portal order ever fails to reach SAP at all.

The back-office is the surface headquarters runs the dealer program from. A unified order pipeline shows every order in flight across every dealer and every region — submitted, validated, sent to SAP, fulfilled, shipped. Exception queues surface stuck deliveries, failed credit checks, and price overrides that need approval, so an operations manager working a CET workday with East-Coast US overlap (9 AM–1 PM ET) can clear the queue once and trust nothing fell through. Dealer health metrics — order volume trends, return rates, average configurator-to-order time — let the dealer-success team flag accounts that need attention before the dealer churns or starts ordering off-portal.
Search across the catalog runs on Elasticsearch with synonyms tuned per language, so a dealer searching for a product by its trade name, its German colloquial name, or its SKU lands on the same result set. The catalog itself is CMS-driven: marketing teams update product copy, hero imagery, and seasonal campaign content from a content management surface without engineering involvement, while layout primitives lock the brand system in place so a marketing edit can never break a configurator page. The result is a back-office that fits headquarters' existing operating rhythm — order pipeline, dealer health, content updates — rather than forcing operations into a vendor-imposed UX.
The REHAU portal is a Next.js + NestJS application running on Kubernetes inside the EU, integrating with SAP via a streaming event topology — designed for the same controls a US-and-EU deployment of the same platform would require.
The application layer runs as a Next.js storefront (App Router, ISR for catalog and content pages) backed by a NestJS API gateway. Catalog reads hit Next.js ISR cache first, then Redis, then PostgreSQL — the storefront never blocks on SAP. Configurator runs server-side: the rule engine, the SKU resolver, and the price calculator all live in the NestJS service, with the configurator UI on the Next.js client posting partial states and getting validated rule outcomes back. Search runs on Elasticsearch with per-language analyzers and a synonym dictionary maintained per market. The CDN is CloudFront with EU edge locations, fronting both static assets and ISR-rendered HTML.
SAP integration is strictly asynchronous and one-directional at read-time. Stock, prices, and master data flow out of SAP through an event bus — Kafka in the production topology — into PostgreSQL and Redis on the portal side, with idempotent consumers and an hourly reconciliation job that re-pulls the canonical state of any record whose event stream looks incomplete. Order submission goes back to SAP via an outbound queue with idempotency keys, so a retry never produces a duplicate order in the ERP and a transient SAP outage never loses a dealer's order — it sits in the outbound queue until SAP comes back. The ERP boundary is hard: the portal never queries SAP from a user request, and SAP never queries the portal at all. This architecture is what makes the streaming-vs-batch tradeoff work in the dealer's favor — they see fresh data without the latency of a synchronous ERP call.
EU data residency is enforced at the infrastructure layer: PostgreSQL primary in AWS Frankfurt with a read replica in Dublin, Redis in the same region, Elasticsearch in the same region, and CloudFront edge restricted to EU edge locations for any cache that holds dealer-identifying data. SAP itself remains in the manufacturer's existing data center; the event bus terminates inside the EU before any non-EU mirror is touched. Audit logs cover every price change, every override, every approval — meeting the compliance bar of a public-listed manufacturer and the documentation bar that a future SOC 2 audit will check. Infrastructure is managed via Terraform, with Grafana dashboards for system health and Sentry for application-level error tracking. Compliance posture supports both GDPR obligations in the European Union and the US state-privacy stack — CCPA / CPRA (California), VCDPA (Virginia), CPA (Colorado), CTDPA (Connecticut), UCPA (Utah), TDPSA (Texas), and Oregon CPA — should a future US rollout require it.
Compliance posture: GDPR-aligned · ISO 27001 ready · SOC 2 Type II in progress · HIPAA-capable · CCPA-acknowledged.
A five-phase build that took the REHAU dealer portal from product specification to production across six European markets.
Configurator rule extraction from engineering documentation, SAP integration topology, dealer-tier and regional pricing model, GDPR data-flow mapping, EU residency design.
Next.js storefront, NestJS API gateway, PostgreSQL + Redis caches, dealer auth and account model, baseline catalog, region and tier pricing engine.
Rule engine for profile-system configuration, deterministic SKU and quote output, streaming SAP integration via event bus, outbound order queue with idempotency, reconciliation job.
Headquarters back-office for order pipeline and exception queues, dealer health metrics, per-action audit logs, permission model for HQ / regional / dealer roles, CMS for catalogs and campaigns.
Staged rollout across Germany, Netherlands, France, Sweden, and Poland; multi-language QA; per-language Elasticsearch synonym tuning; Grafana dashboards; on-call rotation aligned with CET + East-Coast US overlap.
The configurator is the part of the build that decided the make-vs-buy question. REHAU's profile systems carry dimensional constraints (minimum and maximum frame widths and heights), profile-combination rules (which profiles can mate with which), accessory compatibility (which gaskets, reinforcements, and connectors a given profile combination requires), and regional certification rules (a configuration valid for Germany may not be valid for Sweden due to thermal-performance requirements). All of this lives in a rule engine inside the NestJS service, expressed declaratively so an engineer signing off a rule change can read the rule itself rather than a procedural implementation. The configurator UI posts partial states — a dealer's in-progress selection — and gets back a validated state with the next allowable options for every remaining input, so a dealer is never offered a combination the engineering rulebook would reject. When the dealer finalizes a configuration, the rule engine emits a deterministic SKU list (the same input always produces the same SKU set), a printable spec sheet, and a price quote that maps line-for-line to what SAP will invoice. The portal-to-ERP alignment is what made dealer trust possible: the price they see is the price they pay, and the quote PDF they hand to their end-customer is binding in both directions.
The REHAU dealer portal launched across six European markets — Germany, the Netherlands, France, Sweden, Poland, and an additional EU market in staged rollout — with a multi-language UI, region-aware pricing, and EU data residency at the application and search layers. The platform was designed from day one for the US and EU compliance bar: even though the initial markets are all European, the data-handling architecture, the audit-log coverage, and the role-permission model are aligned with the same controls a US dealer-network deployment would require. Privacy obligations are aligned with GDPR for European users and with the US state-privacy stack — CCPA / CPRA (California), VCDPA (Virginia), CPA (Colorado), CTDPA (Connecticut), UCPA (Utah), TDPSA (Texas), and Oregon CPA — should a US rollout follow.
In practice, that means dealer-identifying data and end-customer order data stay inside the EU at every layer: PostgreSQL primary in AWS Frankfurt with a read replica in Dublin, Redis and Elasticsearch in the same region, and CloudFront edge restricted to EU edges for any cache that holds personal data. EU data residency for a global manufacturer headquartered in Germany is a regulatory necessity, not a marketing line — and the way the SAP integration is structured means a future US rollout can be brought up in a US AWS region without re-architecting the ERP boundary. The platform is engineered for US and EU markets on the same codebase, with regional infrastructure pinning rather than regional forks of the application.
The active roadmap for the REHAU platform includes a partner API for installer integrations (so third-party measurement and CAD tools can submit configurations on a dealer's behalf), an AR-driven configurator preview for residential profile systems on mobile, deeper SAP automation around lead-time planning (predictive lead times based on production-line load rather than static warehouse rules), and additional EU market rollouts. The architecture supports a US rollout without re-platforming — the same Next.js storefront, the same rule engine, the same SAP integration topology — and our cloud & DevOps team has the Terraform modules ready to bring up a US region when the program calls for it.
If you are planning a B2B commerce portal, a dealer-network platform with a product configurator, or an ERP-integrated commerce surface for audiences in the US and EU, we have shipped this stack end-to-end for a global manufacturer and can compress the build timeline meaningfully. The engineering team behind this build sits inside YuSMP Group. We work on time & materials for evolving programs and on dedicated development teams for ongoing delivery, with a CET workday and a guaranteed East-Coast US overlap (9 AM–1 PM ET) window for stand-ups, demos, and incident response.
A B2B commerce MVP covering catalog, dealer accounts, region-aware pricing, basic order workflow, and a single ERP integration typically costs $200k–$500k. Adding a guided product configurator with engineering-rule validation, real-time stock visibility, dealer-tier discounts, and a back-office for headquarters brings a full platform to $500k–$1.2M. The dominant cost drivers are the configurator's rule engine, the ERP integration's freshness and reconciliation logic, and the dealer back-office surface required for audit and exception handling.
SAP Commerce Cloud and Adobe Commerce B2B are excellent for catalog-led commerce with straightforward configurable products, but they constrain the configurator to their own rule engine and component model. Manufacturers with engineering-grade product rules — profile system combinations, dimensional constraints, accessory compatibility — typically end up forking the vendor's configurator extensively. A custom Next.js + NestJS build gives the team full control over the rule engine, the SAP integration topology, and the dealer back-office UX, with no per-user licensing and no vendor-imposed release cadence.
Production-grade SAP integration uses a streaming pattern: stock, prices, and master data flow from SAP through an event bus (Kafka, RabbitMQ, or SAP Event Mesh) into the commerce platform's own PostgreSQL and Redis caches. The storefront reads from its own caches with sub-minute freshness, never from SAP synchronously. Order submission and credit checks go back to SAP via an outbound queue with idempotency keys and a reconciliation job that catches any missed events within the hour.
EU data residency for a B2B commerce platform means the primary database, the search index, the cache layer, and the CDN edge caches that hold dealer or end-customer personal data must all sit inside the EU. For REHAU and similar German-headquartered manufacturers, that typically means AWS Frankfurt or Dublin for the application layer, with the SAP ERP itself remaining in the manufacturer's existing data center. Cross-border SAP integration uses encrypted streaming with EU-side data minimization before any non-EU mirror is touched.
A focused MVP — catalog, dealer accounts, region-aware pricing, one ERP integration, and a basic configurator — typically takes 24–32 weeks. Adding engineering-rule validation, deterministic SKU generation, printable spec sheets, and dealer-tier pricing adds 8–12 weeks. A full back-office for headquarters with order pipeline, exception queues, dealer health metrics, and per-action audit logs adds another 8–10 weeks. Multi-language UI for European markets and per-language search synonyms add 4–6 weeks on top.
Related services

Production-grade SaaS, B2B portals and dealer platforms built on TypeScript, React, Next.js, NestJS and Node.js for US & EU teams.
Explore web application development →
End-to-end product engineering for ambitious US & EU companies, built by senior teams under GDPR-aligned and SOC 2-minded practices.
Explore custom software development →
AWS, Azure and GCP migrations, Kubernetes platforms, CI/CD and observability for US & EU teams.
Explore cloud & DevOps →Related cases
PropTech marketplace + admin for residential developers — apartment-level inventory grids, multi-role workflows, US + EU data residency.
View case → FinTech · AutoDealer web platform with Bitrix24 CRM sync, Dadata pre-fill and real-time voice alerts — single intake channel for every auto-financing enquiry.
View case → Consumer Privacy · VPNNative iOS + Android VPN with WireGuard, no-logs backend, split tunnel, and App Store + Google Play launch for US & EU.
View case →