What drives the cost and duration of a Shopware shop
Three drivers decide what a Shopware 6 shop costs: the B2B pricing logic, the ERP integration and how much data has to be migrated. Pricing logic means: does one price apply to everyone, or does the shop calculate per customer, customer group and quantity — with tiers, special prices at item level and terms that come from the ERP? ERP integration means: which data flows in which direction, how often, and what happens when a sync breaks off halfway? Data migration means: how many products, variants, customer accounts and orders come across, and what state are they in? The number of products alone rarely drives the price. The quality of the data does.
Sharpness (Oldenburg) calculates in person-days, not package prices. Audit, concept, theme, interfaces, data migration and testing are separate items in the quote, so you can see what you are paying for and move or drop individual items. Alongside the project there are running costs that appear in no project quote but belong in every budget: the Shopware licence, depending on the edition; extensions from the Shopware Store, which since 28 December 2023 have only been available as rental licences; hosting and maintenance; payment providers’ transaction fees; and your own staff time for data upkeep, testing and training. A shop is only cheap if it is still cheap in its third year of operation.
Duration follows the same logic, plus one factor that only you control: how quickly data, decisions and approvals arrive from your side. A shop project is planned in months. We give a reliable schedule and a price after the assessment, not on the phone. For an existing shop, that assessment is a findings report on data, extensions and interfaces — a clearly bounded first piece of work, at a fixed price we put in writing before we start. For a new build, it is a requirements workshop followed by a concept. Ask us for the hourly rate and for what the findings report costs.
Edition, hosting and operation: who carries what
The free Community Edition will do as long as the standard plus your own plugins covers what you need. That holds for some B2B shops too: customer groups, tiered and customer-group prices and the Rule Builder for terms are all part of the open core. A paid plan pays off if you want company accounts, order approvals and quote processes to come with the product instead of being built for you — Shopware supplies them as B2B Components — or if your contracts require manufacturer support. Shopware’s price overview puts the entry points at Rise from 600 euros and Evolve from 2,400 euros a month, excluding VAT. The B2B Components are not included in every paid plan, so check the scope before you book. The comparison is licence against custom development, over the lifetime of the shop.
Shopware Cloud takes servers and updates off your hands and draws a line in return: no shell, no classic plugins. Extensions run there only as apps: the logic lives on a separate server and reaches the shop via the Admin API, the Store API and webhooks. For a shop close to the standard, that is a relief. For a shop that reaches deep into checkout, pricing or the data model, it is a hard limit — one you should know about before the decision, not after.
Self-hosted means someone runs PHP, the database, cache, search index, message queue, staging system and backups — permanently, not just for the launch. At Sharpness this runs on our own Proxmox VE clusters in the Hetzner data centre in Falkenstein, Germany, each customer environment on its own, with Valkey or Redis and OpenSearch where catalogue size and load justify them. After go-live we take on maintenance under a service level agreement — with a response time of 24, 8, 4 or 2 hours, billed as a flat monthly fee per shop, net. Operation and maintenance are then in one hand. We are available Mon–Thu 9:00–16:00, Fri 9:00–13:00 (CET); on-call cover outside those hours exists only with an SLA.
Theme, plugins, payment: use the standard, build the exceptions
A good Shopware theme extends the standard Storefront instead of replacing it. Colours, typography and components live in a theme of their own; changes are made by overriding specific Twig blocks with sw_extends, not by copying templates, and never in the core. The reason is the next major update: at that point every overridden block must be compared with the new version of the original. The effort behind a theme therefore scales not with how it looks but with how many interventions it makes. A design that works against the Storefront is paid for once when it is built, and again with every update.
For payment methods, shipping carriers, reviews, invoice layouts and marketplace connections there are maintained extensions in the Shopware Store; building your own alongside would be waste. Custom development belongs where your process departs from the standard: pricing, order approvals, configurators, logic from the ERP. Every extension, bought or built, is an item in operations that gets re-checked with every update. An extension that is not installed cannot break during an update. Sharpness — 250+ projects since 1999 — is a Shopware Extension Partner, publishes extensions of its own in the Shopware Store and develops plugins against the intended extension points: events, service decoration, entity extensions.
Payment providers bring their methods as extensions of their own — PayPal, credit card, SEPA direct debit, Klarna, plus multi-method services like Mollie, Stripe or Unzer. In B2B, purchase on account and prepayment carry most of the volume, frequently with a credit limit supplied by the ERP. Two things matter more than the selection: card data never touches your server but goes straight to the payment service provider, and the payment status arrives cleanly in your ERP — otherwise accounting ends up doing rework. Shipping methods and shipping costs are controlled by the Rule Builder, for example by destination country, customer group or basket value. Before go-live, a test order runs through every payment method and every shipping method.
ERP, PIM and B2B: where the project is decided
An ERP integration is decided by the question of direction, not by technology: which system owns prices, stock, product texts and customers, and which one only reads? Settle that, and the rest is solid engineering. Technically it runs over Shopware’s Admin API, using its sync endpoint for bulk data, with syncs that log every run and restart after an abort without damaging data. Which ERP sits behind it matters less, as long as it hands out its data through an interface, an export or its database. The effort lies in the state of the data: item numbers, variants, units of measure, price lists, and attributes that today exist only as running text in the product description.
At M&S Armaturen, a B2B shop for industrial valves on Shopware 6, attributes such as nominal size, pressure rating and material are modelled as filterable properties, not as text. Item master data, prices and availability come from the leading systems, and orders go back in structured form. That is the pattern of a B2B shop buyers actually use: the catalogue shows the same state as the back office, and nobody maintains prices twice.
B2B is more than a login in front of a catalogue. It includes customer-specific prices — tiered and customer-group prices via the Rule Builder, per-customer prices from the ERP through the routes intended for them rather than one customer group per customer —, company accounts with several buyers, approvals and budgets. At Diderk Heinje Pflanzenhandel, a plant wholesaler, range and prices only become visible after a vetted registration. At Lijnco, buyers order via OCI punch-out straight from their procurement system; the basket goes back there instead of being placed as an order in the shop. Punch-out via OCI or cXML is not a core feature but an extension or a custom build — which is why it belongs in the scope from the start.
Relaunch and migration: data, redirects, accessibility
Moving from Shopware 5, WooCommerce or Magento to Shopware 6 is always a rebuild with the data carried over. Products, customers, order history and media come across; theme, extensions and interfaces are built again. From Shopware 5, Shopware’s free Migration Assistant transfers the data — and only the data. Every old function is decided afresh: standard, store extension, custom build, or dropped because nobody uses it any more. Rebuild the old system one to one and you rebuild its old problems with it. The old shop keeps selling until the new one demonstrably works; after every trial run, customers and orders are counted against the old data.
Rankings survive a relaunch when every old address Google knows forwards with a 301 to the page carrying the matching content. The list for this comes from crawling the entire old shop — addresses, titles, texts — not from memory. Category and filter pages lose the most, since their paths change along with the system. The redirect list is checked on the test system before go-live; afterwards we evaluate log files and Search Console and close the remaining 404s. Nobody guarantees position 1. The list only makes sure you keep what you already have.
Since 28 June 2025, Germany’s Accessibility Strengthening Act (BFSG) has applied to online shops through which consumers buy; testing follows EN 301 549 and with it WCAG 2.1 at level AA. Pure B2B shops are generally outside its scope, and services have an exemption for micro-enterprises; whether your case is covered is for a lawyer to decide. Technically, a new build is the cheapest moment: contrasts fixed in the colour system, every component operable by keyboard, forms with labels and understandable error messages. The Shopware 6.7 Storefront has made its accessibility rework the default; a custom theme must not take it apart again. An overlay script replaces none of this.