Shopware plugin laten maken: wanneer maatwerk loont
Er is altijd dat ene ding dat je webshop moet doen wat Shopware standaard niet doet. Een scanflow voor het magazijn, een kortingsstructuur die net buiten de Rule Builder valt, een koppeling waarvoor geen kant-en-klare extensie bestaat. De vraag is dan of je hier een Shopware plugin voor moet laten maken.
Het antwoord is vaker nee dan webshopeigenaren verwachten. En als het ja is, bepaalt de manier waarop die plugin gebouwd wordt of je er over twee Shopware-releases nog blij mee bent. Slecht gebouwd maatwerk kost je geen geld op het moment van bouwen, maar bij elke update daarna.
Eerst de vraag: moet het wel een plugin worden?
Voordat we code schrijven, kijken we of het probleem al is opgelost. Dat is geen bescheidenheid maar rekenwerk: elke regel eigen code draag je jarenlang mee. We lopen daarom steeds dezelfde volgorde af.
- Configuratie. vaak aanwezig, alleen niet ingesteld.
- Rule Builder. voorwaarden rond prijs, verzending, betaling.
- Flow Builder. automatisering rond orderstatus, mail, webhooks.
- Shopping Experiences. presentatie en landingspagina's uit de CMS-laag.
- Shopware Store. een onderhouden extensie met actieve leverancier.
- Integratielaag. data tussen systemen hoort in een iPaaS.
Bij die vijfde stap kijken we naar releasefrequentie en of de leverancier mee is met de 6.7-lijn. Een goed onderhouden extensie uit de Store is vrijwel altijd goedkoper dan je eigen versie, omdat iemand anders hem compatibel houdt.
Blijft er daarna iets over dat uniek is voor jouw business, dan is een eigen extensie de juiste route. Dat is wat maatwerk hoort te zijn: het stuk dat je onderscheidt, niet het stuk dat je nog niet had ingesteld.
Zo bouwen we, en wat er al van ons in de Store staat
De eerste vier punten hieronder gaan over de manier van werken die bepaalt of je plugin een Shopware-update overleeft. De laatste drie zijn extensies die we zelf bouwden en publiceerden, zodat je kunt nakijken hoe dat er in de praktijk uitziet.
Plugin, app of theme
De keuze vooraf bepaalt hoe diep je kunt ingrijpen en hoeveel vrijheid je houdt in je hosting.
Code op de standaarden
Events, decorators, dependency injection en eigen entiteiten via de Data Abstraction Layer. Nooit een aanpassing in de kern.
Upgradepad per release
Bij elke minor release controleren we de extensies die wij beheren op deprecations en gewijzigde interfaces.
Tests en overdracht
Geautomatiseerde tests op de kritieke paden, technische documentatie en een repository waar jij eigenaar van bent.
Barcode Scanner
Scannen in de Shopware-administratie voor orderverwerking en voorraad, gebouwd voor magazijnwerk dat in de administratie zelf gebeurt.
Postcode.eu
Adresvalidatie en autocomplete in de checkout, ook in gebruik bij shops die wij niet zelf gebouwd hebben.
MailChimp Sync
Synchronisatie tussen Shopware en je MailChimp-lijsten, net als onze andere extensies getoetst door Shopware zelf.
Plugin, app of theme: wat het verschil betekent voor je updatepad
Shopware 6 kent drie soorten uitbreidingen, en die keuze bepaalt je updatebaarheid en je hostingvrijheid.
Plugin. PHP-code die in je eigen Shopware-installatie draait: eigen entiteiten, eigen administratiemodules, ingrijpen in de bestelflow. De prijs is dat de plugin meegaat in je deploymentproces en bij grote releases getest en aangepast wordt. Een plugin vraagt een eigen omgeving, wat past bij hoe wij Shopware het liefst inrichten: on-premise gehost, zodat je controle houdt over performance, hosting en maatwerk.
App. Draait buiten Shopware en communiceert via de API en webhooks. Apps zijn losser gekoppeld, makkelijker te updaten en de enige route op een gehoste omgeving. De keerzijde: je kunt minder diep ingrijpen en bent afhankelijk van wat de API biedt.
Theme. Raakt alleen de presentatielaag. Zodra daar business-logica in belandt, ging de architectuurkeuze ergens mis.
Wij kiezen per functionaliteit. Een scanflow in de administratie is een plugin, een koppeling met een extern platform dat zijn eigen dashboard heeft vaak een app. Die afweging maken we vooraf, niet halverwege.
Extension Partner betekent dat anderen onze code beoordelen
Memo is Shopware Bronze Partner sinds 2018 en daarnaast Shopware Extension Partner. Bronze Partner zijn zegt iets over de samenwerking met Shopware. Extension Partner zijn zegt iets over de code. Onze zes extensies in de officiële Shopware Store zijn door Shopware getoetst, worden gebruikt in shops die wij niet zelf bouwen en staan gemiddeld op vijf sterren.
Het team telt zeven geldige Shopware 6-certificeringen: drie Certified Backend Developer, twee Certified Frontend Developer, een Backend Developer Intermediate en een Frontend Developer Intermediate. Shopware noteert app-ontwikkeling, interface-ontwikkeling en third-party integraties als onze specialisaties.
De snelste manier om te beoordelen hoe iemand bouwt, is kijken naar wat er al staat. Het volledige overzicht vind je op de pluginpagina:
- MailChimp Sync: synchronisatie met je MailChimp-lijsten.
- Barcode Scanner: scannen in de Shopware-administratie.
- Postcode.eu: adresvalidatie en autocomplete in de checkout.
- Default Registration Country: het juiste standaardland bij registratie.
- Easy Credits: creditbeheer binnen Shopware.
Daarnaast bouwen we extensies waar ons logo niet op staat, omdat ze onder de naam van de opdrachtgever verschijnen. De officiële Shopware 6-plugin van PostNL is daarvan het bekendste voorbeeld.
De eerlijke waarschuwing: maatwerkstapeling
Eén losse plugin is te overzien. Twaalf zijn dat niet. Wat we bij overgenomen shops het vaakst tegenkomen is geen slechte plugin, maar een stapel die jarenlang is aangegroeid, waarvan niemand meer weet welke nog gebruikt wordt en die samen elke upgrade duur maakt.
Maatwerk kost dus niet alleen bouwtijd maar ook een structurele onderhoudspost. Leg per uitbreiding vast waarom die er is en wie hem gebruikt, en schrap bij elke grote release wat niemand mist. Wat dat doet met je begroting, staat op de pagina over Shopware-kosten.
Bouw je zelf software voor webshops, dan is je vraag een andere: je wilt niet één shop uitbreiden, maar je product beschikbaar maken voor alle Shopware-merchants. Dat vraagt andere keuzes rond versiebeheer, publicatie in de Store en support aan merchants die jouw klant zijn en niet de onze. Daarover gaat de pagina Shopware-integratie voor technologiepartners.
Heb je een functionaliteit in gedachten en wil je weten of het een plugin, een app of gewoon een instelling moet worden? Neem de user story mee naar een kennismaking van dertig minuten. Je krijgt een onderbouwd advies over de route en over het onderhoud daarna.
Veelgestelde vragen
Wat kost het om een Shopware plugin te laten maken?
Dat hangt af van de complexiteit en van waar de functionaliteit ingrijpt. Een extensie die iets toevoegt aan de administratie is een ander traject dan een extensie die in de checkout of de bestelflow zit. We beginnen daarom met een korte analyse en geven pas daarna een bandbreedte, inclusief de verwachte onderhoudslast per jaar.
Blijft mijn plugin werken na een Shopware-update?
Bij minor releases binnen dezelfde lijn vrijwel altijd, mits de plugin de standaard extension points gebruikt. Bij een majorversie is aanpassing normaal en gepland werk. Extensies die wij beheren controleren we bij elke release op deprecations, zodat een upgrade geen verrassing wordt.
Wat is het verschil tussen een plugin en een app in Shopware 6?
Een plugin is PHP-code die in je eigen Shopware-installatie draait en diep kan ingrijpen. Een app draait daarbuiten en praat via de API en webhooks. Apps zijn losser gekoppeld en werken ook op gehoste omgevingen, plugins geven meer mogelijkheden maar vragen een eigen omgeving.
Van wie is de code die jullie schrijven?
Van jou. We leveren op in een repository waar jij eigenaar van bent, inclusief documentatie, zodat een andere partij het kan overnemen. Voor extensies die wij in de Shopware Store publiceren maken we vooraf afspraken over licentie en eigenaarschap.
Kunnen jullie bestaand maatwerk van een andere partij overnemen?
Ja. We beginnen met een technische review: hoe is het gebouwd, worden er kernbestanden overschreven, en wat kost het om het naar de huidige Shopware-lijn te brengen. Soms is herbouwen goedkoper dan repareren, en dan zeggen we dat ook.