Case Study · F.O.C.U.S.

A plugin opened the door. A system did the rest.

Migrating two grown legacy shops from Lupa textiles onto a single Shopware 6 B2B platform — with reconstructed customer groups, automated order handover, and a credit limit that enforces itself. Delivered with the nuonic F.O.C.U.S. framework. Because go-live is not a success. It is where responsibility begins.
Lupa textiles B2B trade on Shopware 6
FFacts

Reality over assumptions

OObjectives

Clarity before speed

CConstraints

The truth about systems

UExecution

Build, don't discuss

SScaling

Growth is a system

Project at a glance
Client
Lupa textiles
Industry
Textiles / B2B Trade
Platform
Shopware 6
Starting point
2 grown legacy shops
ERP
XML order handover
Delivery
Feb 2024 – go-live summer 2025
Maintenance
Since Sept 2025 (ongoing)
Services
Migration · B2B setup · Plugin development
Shopware 6Data MigrationCustomer GroupsAccessManagerCredit Limit PluginXML ERP InterfaceUPS LabelsB2B Commerce
F

Facts— Reality over assumptions

Lupa textiles ran two shops that had grown side by side over the years — each with its own customers, its own terms, and separate maintenance. The system audit revealed that the actual business knowledge wasn't in any documentation, but in the legacy data itself: the B2B customer groups, for instance, were nowhere cleanly modeled and could only be reconstructed from the salutation field. The project began via an unusual route: our own store plugin Credit Limit for B2B & invoice purchase was already in use and became the door-opener for the full migration.

O

Objectives— Clarity before speed

Not "rebuild two shops", but clearly defined goals before the first line of code:

  • One platform instead of two building sites: consolidate both legacy shops onto a shared Shopware 6 base.
  • Full data migration: move products, customers, orders, and the established SEO substance without any break.
  • Digitize B2B processes that were previously safeguarded manually — from assortment control to order handover.
  • A credit limit that enforces itself: invoice purchase without manual approval, hard-checked in the checkout.
C

Constraints— The truth about systems

The critical conditions were named before implementation, not discovered during it:

  • Legacy data as the only source: customer groups and terms existed only implicitly in the legacy data — migration here meant translating, not copying.
  • Two separate data sets had to come together consistently in one platform.
  • Assortment separation per dealer: each customer group may see only its approved assortment.
  • A fixed ERP: orders must be handed over in a structured, automated way — no manual re-typing.

The decision formula behind every work item

Impact on revenue, commitment to the deadline, ownership of the outcome. Projects don't fail because of technology, but because of unclear facts, objectives, and constraints. The framework forces clarity — before the first line of code.

2 → 1
Legacy shops onto one platform
legacy data
Customer groups reconstructed
XML
Order handover automated
per group
Credit limit in checkout

Execution & Scaling

We didn't copy. We translated.

U

Execution— Build, don't discuss

The migration wasn't pure data copying, but the translation of a grown business into a clean system — delivered to the standards of our Shopware development:

  • Customer groups reconstructed from legacy data — out of the salutation field of the legacy records as the foundation for the entire B2B logic.
  • Access control per customer group (AccessManager): each dealer sees only its approved assortment.
  • XML order handover to the ERP — automated instead of re-typed, including UPS label generation.
  • Credit Limit plugin extended for the project: limits per customer group, automatic reset aligned to the payment term, available limit visible in the top bar, and a hard block in the checkout.
  • Data migration without breaks: products, customers, orders, and SEO URLs of both shops moved into one platform.
  • Move to the client's hosting ahead of go-live — cleanly separated from live operations.

Go-live in summer 2025 — both legacy shops have run on a shared base ever since.

The plugin behind the case study

A store product that grows in the project.

What we built into the credit limit for Lupa textiles doesn't stay a one-off: limits per customer group, periodic reset, and the hard checkout block flow back into our certified store product. Every plugin customer benefits from this B2B project.
Icon der Shopware-Extension Credit Limit for B2B & invoice purchase

Credit Limit for B2B & invoice purchase

Credit limits per customer, customer group, or sales channel — with automatic checking of open invoice amounts in the checkout. Extended for the project at Lupa textiles; the extensions flow back into the store product.

In use in the project
View in the Shopware Store ↗
All nuonic extensions in the Shopware Store ↗
S

Scaling— Growth is a system

And this is where a project separates from a partnership. Since September 2025, nuonic has owned Shopware support & maintenance and the continued development of the consolidated platform — with a fixed release rhythm instead of ad-hoc firefighting:

  • One maintained operation instead of two legacy shops drifting apart.
  • Shopware 6.7 as an update epic in preparation — planned, not postponed.
  • B2B logic as a living system: customer groups, assortment control, and credit limits grow with the business.
  • Plugin feedback loop: project-specific extensions harden the store product for all customers.

The system does the work — not the team.

A B2B process is only truly digital when no one has to safeguard it manually anymore. At Lupa textiles, assortment control, order handover, and credit checking run automatically — from the cart all the way into the ERP.

B2B setup in numbers
Consolidation
2 legacy shops → 1 platform
Customer groups
reconstructed from legacy data
Assortment
access per customer group (AccessManager)
Orders
XML handover to the ERP
Payment
credit limit per group, checkout block
Model
Maintenance with a fixed release cycle
Credit Limit PluginAccessManagerCustomer GroupsXML ERP InterfaceUPS LabelsShopware 6.7
The roles in the project

Four roles, from facts to scaling.

Responsibility across the full cycle — operationally tied to the phases, with no handoffs into the void.

Strategist

  • Clarify facts, goals & constraints

Architect

  • B2B data model & integrations

Builder

  • Migration, plugins & quality

Operator

  • Operations & continued development
Contact

Are your B2B orders still running on phone calls and Excel? Let's talk about impact.

nuonic Digital GmbH & Co. KG · Munich & Hamburg
Benedikt Rillox
Benedikt RilloxFounder · Strategist
Alex Jank
Alex JankFounder · Architect