Shopware 6 for a B2B channel: an evidence-based decision
A wholesale food supplier needed an online ordering channel. The first attempt, an in-house platform on Next.js and Fastify, was frozen. The question was whether to adopt Shopware 6 or keep building. The answer had to be proven, not guessed.
What was done
- Requirements and the 1C 7.7 exchange contract carried over from the frozen project. They do not depend on the platform
- 47 specifications layered over the implementation plan, with traceability from requirement to specification to evidence
- Fit-gap against every confirmed requirement, plus the commercial frame and the three largest risks
- Six proof of concepts with gate criteria published in advance and the rule to change nothing inside vendor
- Three plugins written entirely through documented extension points
- A questionnaire for whoever maintains 1C and a question to the owner about the retail audience, both ready to forward
Result
- Verdict: GO with one reservation
- Passed: environment; catalogue import from a fake 1C with idempotent upsert; B2B price on listing, product page, cart and order 14 of 14; promotion precedence and rounding; order → 1C with a lost ack and offline 10 of 10; stock and minimum order 9 of 10
- Failed: shared organisation cart, edits lost in 10 attempts out of 10. That is the reservation
- Not a single change inside vendor, so the customisations survive a platform update
Stack: Shopware 6.7, PHP, Docker Compose, PHPStan, 1C 7.7 (XML exchange, XSD), Python