Dashboard met grafieken en data op een computerscherm
ICT & Hosting

Developer maakt fout bij webshop: waarom de opdrachtgever toch verloor

7 min leestijd

Een webdeveloper maakt een fout bij het bouwen van een nieuwe webshop. De product-ID's werken niet goed, waardoor de advertentiecampagnes van de opdrachtgeve, een webshop stilvallen. De webshop eist ruim €70.000 schadevergoeding. De rechter oordeelt: ja, er is een tekortkoming. Maar nee, er is geen schadevergoeding verschuldigd. De webshop had namelijk nooit een ingebrekestelling gestuurd. Wij behandelden deze zaak namens de developer.

Wat er gebeurde

Een webdevelopmentbureau bouwt een nieuwe webshop voor een bestaande online retailer. Het totaalbudget bedraagt ruim €11.000 inclusief btw. De webshop schakelt daarnaast een externe marketingadviseur in die meedenkt over de SEO-strategie en de Google Ads-campagnes beheert.

De nieuwe webshop gaat online. Kort daarna blijkt dat de product-ID's van de oude webshop niet kunnen worden overgezet naar de nieuwe site. Product-ID's zijn de unieke codes waarmee producten worden gekoppeld aan advertenties in zoekmachines zoals Google. De webontwikkelaar waarschuwt het externe marketingbureau een paar keer, maar die doet er niks mee. Doordat de ID's niet kloppen, vallen de lopende advertentiecampagnes stil. De opdrachtgever stelt de developer aansprakelijk en eist in een tegenvordering (reconventie) ruim €70.000 aan schadevergoeding.

De developer betaalt twee van de vijf facturen. De overige drie laat zij onbetaald. Op dat moment zonder reden te noemen, Wij dagvaarden de opdrachtgever voor de kantonrechter van de rechtbank Overijssel (zaaknummer 11157829) om de openstaande facturen te incasseren. De opdrachtgever start de reconventie.

De fout van de developer

De rechter oordeelde dat de developer inderdaad tekort was geschoten. In de offerte stond dat de nieuwe webshop geoptimaliseerd zou worden voor zoekmachines ("SEO-optimalisatie"). Het behoud van bestaande product-ID's hoort daarbij, oordeelde de rechter, want zonder die ID's werken de advertentiekoppelingen niet meer. Volgens de rechter had de developer niet het marketingbureau, maar de opdrachtgever moeten waarschuwen. De developer had dat moeten regelen, of in ieder geval moeten waarborgen dat de advertenties bleven functioneren was het oordeel van de rechter. Uiteraard hadden wij aangevoerd dat het beheer van de advertenties bij het externe marketingbureau lag en dat de marketeer dit had moeten regelen, en niet onze klant.

Wat zijn product-ID's?

Product-ID's zijn unieke codes die elk product in een webshop identificeren. Google Ads en Google Shopping gebruiken die codes om advertenties aan producten te koppelen. Als u een webshop migreert naar een nieuw platform en de product-ID's veranderen, herkent Google de producten niet meer. Lopende campagnes stoppen, advertentiehistorie gaat verloren en de kosten om alles opnieuw in te richten kunnen aanzienlijk zijn.

De developer had de marketeer weliswaar gewaarschuwd dat het overzetten van de oude product-ID's technisch niet mogelijk was en dat de marketeer aan het werk moest, maar de rechter vond dat onvoldoende.

Waarom de opdrachtgever toch verloor

Er was dus een tekortkoming. En toch kreeg de opdrachtgever geen cent schadevergoeding. Waarom niet? Het antwoord zit in het onderscheid tussen tekortkoming en verzuim. We hebben namelijk ook aangevoerd dat de opdrachtgever geen ingebrekestelling heeft gestuurd (en meer argumenten)

Iedere tekortkoming verplicht de schuldenaar in beginsel om de schade te vergoeden (artikel 6:74 BW). Maar als correcte nakoming nog mogelijk is (en dat was hier het geval: de product-ID's konden alsnog worden hersteld), ontstaat het recht op schadevergoeding pas als de schuldenaar in verzuim is. Verzuim vereist een schriftelijke ingebrekestelling met een redelijke termijn voor herstel (artikel 6:82 BW).

Wat de opdrachtgever deed

  • Klaagde niet over de problemen
  • Stelde later de developer aansprakelijk voor omzetverlies per brief nadat die een incassoprocedure was gestart voor de openstaande facturen.
  • Stuurde géén ingebrekestelling met een termijn voor herstel
  • Eiste direct schadevergoeding

Wat de opdrachtgever had moeten doen

  • Schriftelijk en concreet aangeven wat er mis is
  • Een redelijke termijn geven om het te herstellen
  • Pas na het verstrijken van die termijn schadevergoeding eisen
  • De developer de kans geven om de fout te corrigeren

De opdrachtgever had de developer nooit een termijn gegeven om de product-ID's te herstellen. Zij had het probleem aangekaart, maar geen formele ingebrekestelling gestuurd. De rechter oordeelde dat de developer de kans had moeten krijgen om de fout te herstellen. Dat was niet gebeurd. Geen verzuim, geen schadevergoeding.

Wat de rechter besliste

De uitkomst was tweeledig. De openstaande facturen van de developer werden volledig toegewezen, inclusief buitengerechtelijke incassokosten en contractuele rente. De tegenvordering van de webshop (ruim €70.000) werd volledig afgewezen. De opdrachtgever werd in beide richtingen veroordeeld in de proceskosten.

Uit de praktijk

De webshop in deze zaak had een schadeclaim van ruim €70.000 ingediend en dacht daarmee de openstaande facturen van €3.400 te kunnen verrekenen. Het omgekeerde gebeurde: zij moest de facturen betalen, kreeg geen cent schadevergoeding, en draaide op voor de proceskosten. Een dure les. Had zij de developer een termijn van twee weken gegeven om de product-ID's te herstellen, dan had de zaak er heel anders uit kunnen zien.

Lessen voor developers en opdrachtgevers

Voor developers:

  • Een fout maken is menselijk. Maar bied altijd actief herstel aan. In deze zaak kreeg de developer het voordeel van de twijfel mede omdat nakoming nog mogelijk was. Had de developer zelf een herstelvoorstel gedaan, dan was de positie nog sterker geweest.
  • Leg in uw offerte helder vast wat wél en niet onder de opdracht valt. In deze zaak viel de migratie van product-ID's onder de offerte omdat er "SEO-optimalisatie" in stond. Wees specifiek over de scope.
  • Goede algemene voorwaarden beperken uw aansprakelijkheid. In deze zaak was directe schade uitgesloten behoudens opzet, en indirecte schade volledig.

Voor opdrachtgevers:

  • Stuur altijd een schriftelijke ingebrekestelling als u vindt dat de developer tekort is geschoten. Noem concreet wat er mis is en geef een redelijke termijn voor herstel. Zonder die stap heeft u geen recht op schadevergoeding, hoe groot de schade ook is.
  • Een aansprakelijkstelling is geen ingebrekestelling. U moet de developer de kans geven om te herstellen.

Veelgestelde vragen

Ja. Als u in de offerte heeft opgenomen dat u zorgt voor SEO-optimalisatie of het behoud van bestaande functionaliteiten, valt de correcte migratie van product-ID's en advertentiekoppelingen onder uw verantwoordelijkheid. Wees specifiek in uw offerte over wat er wel en niet onder de scope valt.

Een aansprakelijkstelling zegt: "u bent verantwoordelijk voor mijn schade." Een ingebrekestelling zegt: "u bent in gebreke, en ik geef u nog X weken om het te herstellen." Alleen de ingebrekestelling brengt de schuldenaar in verzuim. Zonder verzuim is er geen recht op schadevergoeding als nakoming nog mogelijk is.

Goede AV beperken uw aansprakelijkheid, maar zijn geen vrijbrief. In deze zaak was directe schade uitgesloten behoudens opzet of bewuste roekeloosheid, en indirecte schade volledig. Maar de rechter toetst ook of de AV in de specifieke situatie redelijk zijn. Zorg dat uw AV actueel zijn en correct van toepassing zijn verklaard.

Nee. Een klacht over uw werk betekent niet dat de klant de facturen niet hoeft te betalen. In deze zaak beweerde de opdrachtgever dat zij de facturen mocht verrekenen met haar schadeclaim. Omdat die schadeclaim werd afgewezen, moest zij de facturen gewoon betalen. Laat openstaande facturen niet liggen.

Conclusie

Deze zaak laat zien dat een tekortkoming niet automatisch leidt tot schadevergoeding. De ingebrekestelling is het scharnierpunt. De developer had een fout gemaakt, maar de opdrachtgever had nooit een formele termijn voor herstel gegeven. Dat kostte haar de schadeclaim van ruim €70.000 en leverde haar een proceskosten­veroordeling op.

Als developer kunt u hiervan leren: bied altijd actief herstel aan en zorg voor goede AV. Als opdrachtgever: stuur altijd een deugdelijke ingebrekestelling voordat u schadevergoeding eist.

Openstaande facturen als developer?

Wij incasseren openstaande facturen voor webdevelopers en ICT-bedrijven. Ook als uw opdrachtgever een tegenvordering heeft ingediend. Op basis van No Cure No Pay.

Zaak indienen

Gepubliceerd op | Laatst bijgewerkt

webdeveloper ingebrekestelling schadevergoeding webshop incasso

Hulp nodig bij uw incassozaak?

Wij werken op basis van No Cure No Pay. Geen resultaat, geen kosten.

Zaak Indienen
Chat via WhatsApp (opent in nieuw venster)
Chat via WhatsApp
1