Kassa's Delhaize selecteren door bug producten die klanten niet hebben gekocht

Het kassasysteem van de Belgische supermarktketen Delhaize slaat al maanden producten aan die klanten helemaal niet hebben gekocht. Daardoor betalen klanten soms tot tientallen euro's extra voor een product dat ze niet hebben ontvangen.

Als bepaalde merkproducten gescand worden bij Delhaize, verschijnen er soms willekeurige extra producten op de afrekening. Dat probleem ontstaat als er naast de gewone streepjescode ook een datamatrix op een verpakking staat afgedrukt, ontdekte consumentenprogramma WinWin op Radio 2, schrijft VRT. Dat is een kleine vierkante code, die lijkt op een QR-code. Het kassasysteem linkt die datamatrix soms tijdens het scannen aan een willekeurig product uit het assortiment, waardoor het bedrag van dat product ook op de bon verschijnt.

Het probleem is ontstaan na een update van de software waarop het kassasysteem draait. Die software werd aangepast ter voorbereiding op een wijziging in 2027, als alle streepjescodes op verpakkingen worden vervangen door QR-codes. "Maar daardoor scannen onze kassa's in een beperkt aantal gevallen en enkel bij een tiental merkproducten per ongeluk ook alle andere codes die te dicht bij de streepjescode staan", aldus woordvoerder Roel Dekelver over het probleem.

Delhaize probeert een oplossing voor het probleem te vinden, maar vooralsnog is dat niet gelukt. "Onze IT-dienst is aan het bekijken hoe we die kleine bug zo snel mogelijk weggewerkt krijgen. Mocht het intussen fout lopen, dan raden we onze klanten aan om meteen een kassamedewerker aan te spreken."

Ahold Delhaize, het moederbedrijf van Delhaize, kwam eerder deze maand nog in het nieuws toen bleek dat persoonsgegevens van personeel van Albert Heijn, Etos en Gall & Gall mogelijk gestolen zijn bij een aanval in november. Die aanval richtte zich op de Amerikaanse tak van het bedrijf, maar mogelijk zijn ook medewerkers in Nederland geraakt. Mogelijk getroffen voormalige en huidige medewerkers zijn per e-mail ingelicht.

Door Eveline Meijer

Nieuwsredacteur

24-04-2025 • 13:49

148

Submitter: Admiral Freebee

Reacties (148)

148
146
68
7
0
70
Wijzig sortering
Apart, de nieuwe generatie GS1 barcodes zijn QR codes die ook een link bevatten naast de GTIN. Zij hebben het hier over DataMatrix codes. In de meeste kassa scanners staat die standaard uit in de configuratie.

Lijkt mij dat ze hier ook een verkeerde scanner config hanteren. Kassa scanners hoeven geen DataMatrix te kunnen scannen.

https://www.gs1.nl/themas/qr-code-powered-by-gs1/

Daarnaast moet de scanner ook de juiste firmware hebben om deze nieuwe GS1 the kunnen scannen. Als je QR nu aan wilt hebben dan zet je bijv weblink weer uit, zodat je geen URL's gaat scannen. Je wilt nu alleen de EAN.

[Reactie gewijzigd door Centauriprime op 24 april 2025 15:48]

Geen idee wat voor code het is, de termen GS1 en GTIN zijn mij onbekend.

Maar bij Albert Heijn hebben enkele merk producten ook een (soort) QR code naast de normale barcode, deze QR (ongeveer 1 cm2 groot) kan ik met de handscanner gewoon scannen zonder problemen. De normale barcode zit aan een andere zijde van het product, dus het is niet zo dat hij die scant. Kwam daar tijdje terug toevallig achter.

Het product en de prijs klopt dan ook gewoon op de handscanner. Wat ook een voordeel is, is dat dit ook de houdbaarheid datum meeneemt, zo kan ik deze niet scannen (krijg een melding) als het product over de datum is. Dus ik zie wel voordelen hierin.
GS1 en GTIN zijn manieren om de informatie content in een QR code te standaardiseren.

Data matrix code is een compleet andere manier om data te encoderen in een 2D structuur.

Data matrix code heeft twee zwarte zijkanten om de oriëntatie van de code te bepalen, waar QR codes gebruik maken van drie zwarte blokjes in de hoeken.

Beide zijn in 1994 bedacht (Data Matrix in de VS en QR in Japan) om bar codes te vervangen met meer robuuste codes en vooral met grotere data opslag mogelijkheden.

Data matrix is populair in de elektronica wereld en de voedsel industrie omdat het met kleine codes toch genoeg ruimte bied om de benodigde informatie op te slaan.

https://encrypted-tbn0.gs...C3ojJQoJ_D6zYbNooqvfP9g&s
GTIN (Global Trade Item Number) is het nummer dat door de streepjescode gerepresenteerd wordt (en er ook onder staat). De GTIN combineert een aantal vroegere en specifiekere nummers, waaronder de EAN (European Article Number) en ook zelfs de ISBN voor boeken. In principe is het zo dat elk product (behalve vers afgewogen vlees en groente en zo) een uniek nummer heeft, zodat de fabrikant de streepjescode op de verpakking kan drukken onafhankelijk van in welke winkel het precies verkocht wordt.

De GS1 is een handelsorganisatie die onderandere GTINs uitgeeft en ervoor zorgt dat elk product inderdaad een uniek nummer heeft.

De streepjescodes worden nu langzamerhand vervangen en/of aangevuld met 2D-codes zoals DataMatrices en QR-Codes, die minder ruimte innemen en meer gegevens kunnen bevatten. Daardoor kan bijvoorbeeld ook de houdbaarheidsdatum opgenomen worden.
Hoe kom je erbij dat deze standaard uit staat? Voor mijn apotheek maken we juist gebruik van datamatrices (FMD), maar deze staan gewoon standaard aan bij de meeste merken. Er is nog wel extra configuratie nodig om GS om te zetten naar |, maar hij scant wel altijd gewoon. Bij scanners van Datalogic, Honeywell en nog een 5-tal merken die veel gebruikt worden.
Maar wel herkenbaar dat ze dubbel scannen. Dit hoort de software echter gewoon op te vangen. Uitschakelen van de datamatrix is een workaround
Jij zal waarschijnlijk meer gebruik maken van Handhelds. Dit artikel ging over een supermarkt en de scanners die zij gebruiken staat DataMatrix default op disable.

Datalogic 3450, 9400, 9800 of Zebra MP7000 staat die standaard uit. Omdat in supermarkten die Matrix niet gebruikt wordt.
Anders in jouw geval bij de apotheek.
Daarom altijd je bon controleren. Doe ik standaard.
Dat is wel het probleem van de verkoper bij de klant leggen. Dit probleem zou gewoon met een rollback opgelost kunnen worden waarna de ontwikkelaars aan een nieuwe versie kunnen werken.
Ik vraag me af of DelHaize ook zo laconiek gereageerd zou hebben als producten voor een goedkoper product worden aangezien. Nu levert een fout alleen maar extra geld op (niet iedereen zal controleren of er geen extra producten op de bon staan), in het andere geval kost het geld. Ik vermoed dat er dan wel heel snel een oplossing beschikbaar zou zijn.
'gewoon' een rollback is niet zo simpel meer als de bug er al maanden inzit zoals in het artikel staat.
Het probleem volgens het artikel is het uitlezen van de qr code ipv barcode. Dan is het toch wel simpel weg het er weer uit halen van die functie? Prima als het testen een week duurt, maar langer zou echt niet hoeven.
Het is nog straffer, ze rollen dit uit omdat er idd qr codes gaan aankomen om die ean codes te vervangen. Maar het zijn de datamatrixen die gelezen worden. Dát kan gemakkelijk geregeld en uitgerold worden op de scanners zelf
Ook datamatrix is een geldige vervanging. En er zijn al artikelen die alleen een datamatrix hebben.
Inderdaad, maar dat negeert ook wel dat Delhaize al maanden wist van het probleem en het lekker laat aanslepen.
Een rollback is wellicht niet zo eenvoudig uit te rollen als je denkt. Zou misschien zo moeten zijn, maar toch. Misschien zetten ze hard in op trunk-based development etc, dan is de oplossing forwards gaan met patch en in dit geval is het blijkbaar geen 1 regel code die de qr scan uitschakelt.

Maar de tussenoplossing hier is ook niet zo moeilijk toch? De tiental artikelen op een poster plakken en bij kassa hangen en ook caissières inlichten en dan kun je evt fout ook snel herstellen.
Idd. En eigenlijk is het dus ook diefstal; iemand meer laten betalen zonder daarvoor iets te leveren is niet goed te praten als het stelselmatig gebeurt.
Bij een volle kar boodschappen voor de hele week? Tegenwoordig zuchten de mensen achter je al als een streepjescode slecht scant, kassa's zijn best een stressmomentje als je gaat winkelen.
Zoals @JWL92 ook zegt, dat is waar de service balie voor is, als je dit bij de kassiere probeert aan te kaarten zal die je ook gewoon doorverwijzen naar de service balie. Sta je niemand in de weg en niemand te wachten op je, dus non argument, ik vermoed dat je dus nooit je bonnetjes controleert? Delhaize zal blij zijn met jouw als klant als je ze zonder te weten (en controleren) zit te spekken.
Nu gaat het om Delhaize, wat doe je als dit probleem op duikt bij Aldi of Lidl? En inderdaad, niet iedereen heeft tijd/zin etc om die bonnetjes na te pluizen, zoals @NoTechSupport zegt is dit het probleem bij de klant leggen. Dat er soms een aanbieding niet correct in het systeem glipt kan ik nog inkomen maar een bug als dit is eigenlijk niet uit te leggen. Je mag van een professioneel bedrijf als dit toch wel verwachten dat dit geen maanden hoeft te duren.
> wat doe je als dit probleem op duikt bij Aldi of Lidl

teruglopen naar de kassa, bij de aldi/lidl is over het algemeen genoeg ruimte om een stukje door te lopen en bij de inpaktafel rustig je bon te bekijken terwijl de kassamedewerker al weer een volgende klant kan helpen

bij de aldi/lidl is de kassa ook meteen de servicebalie (ook voor retouren e.d.)

dat andere mensen je daar boos voor gaan aankijken zou je niet moeten bommen, kan jij er wat aan doen dat de aldi/lidl er voor gekozen heeft geen servicebalie te hebben?

[Reactie gewijzigd door jaapzb op 24 april 2025 15:10]

Hohoho, het is een kleine bug hè! 😉
Ik vind het trouwens nogal wat: tientallen euro’s extra op de rekening klinkt als minimaal 10% tot misschien wel 30% teveel betalen voor je boodschappen!
En in grote getallen is dat wel veel vooral als je bijvoorbeeld 10 miljoen klanten hebt dan is tussen de 5 tot 30 euro per klant extra wel veel geld. Om als hypothetische voorbeeld te nemen.
naja een random pak wc papier a 6 euro of een stuk vrees van 15 euro of een pak luiers van nog wat meer .. er zijn best wel wat producten in een supermakt die meer dan 10 euro kosten dus als je gemiddeld 1x per week een boodschappenkart vol haalt en het gebeurt bij 10% van alle gevallen heb je op jaar basis toch een volle boodschappenkar teveel betaald.

kleine bug maar toch best wel een behoorlijke impact.

[Reactie gewijzigd door i-chat op 24 april 2025 15:27]

Ik had het gister nog bij de Jumbo, Pampers zijn er in de aanbieding handig met een kleine in huis ;) 2+3 pakken, combineren mag.
Ik had 2 pakken broekjes en 3 pakken normale luiers. korting werd niet berekend aan de kassa, werd gelukkig snel opgelost. Scheelde mooi 40 euro :P

[Reactie gewijzigd door Rouwette op 24 april 2025 16:28]

Die verkopen bijna geen a-merken... ;)
Dan ben jij al in zeker geen 6 jaar bij een Aldi of Lidl geweest. Zowel in Nederland als in Duitsland als in België liggen daar best veel a-merken tegenwoordig
Ik doe de aanname dat je ook zelf veel A-merken koopt. Dat hoeft natuurlijk niet waar te zijn, maar dan doen we alsof :).

Je kan ook veel besparen door niet altijd voor A-merken te gaan. A-merken hebben naar mijn idee vaak wel de hoogste prijs, maar niet de hoogste kwaliteit. Sommige goedkope producten van de Lidl zijn echt beter dan sommige A-merken die daar tegenover staan. En als je echt de hoogste kwaliteit wil, kan je beter naar een speciaalzaak gaan, dat is dan wel nog duurder, maar dan heb je ook echt iets beters.

Koop je zelf ook veel A-merken? En is daar bij elk merk ook een goede reden voor? Ik gok dat gewoonte en bij het bekende blijven toch een belangrijke rol spelen bij veel producten.

Hier een aantal A-merken zijn die slechte/matige kwaliteit leveren, maar toch duurder zijn dan de alternatieven van betere kwaliteit: Pickwick, Douwe Egberts, Royal Club, Innocent, Taksi, Red Bull, Milner en Appelsientje, om maar wat voorbeelden te noemen. Er zijn natuurlijk ook zeker A-merken die wel goede kwaliteit leveren en bij de Lidl heb je natuurlijk ook gewoon slechte producten.

Reactie op het artikel: gevoelsmatig moet het niet zo moeilijk zijn om het onmogelijk te maken meer dan 1 product tegelijk te scannen. Dan los je nog niet op dat je af en toe een verkeerd product op de bon krijgt, maar dan heb je in elk geval niet extra producten. Lijkt me in elk geval een stap dichter bij de gewenste situatie. Ik vraag me af waarom ze dat niet doen, want dat heeft vast iemand anders ook bedacht. Heeft iemand een idee?
Dan moet er nog wel een service balie zijn. Lang niet alle winkels hebben die meer.
Tja dan ga je klagen bij de kassa. En die zal dan snel een manager er bij halen. Of iemand anders die tijd voor je heeft. Genoeg mogelijkheden...
Eerst in de rij bij de kassa en dan nog eens in de rij bij de servicebalie? Wat een gedoe.
Tsja, dat is nou eenmaal hoe het werkt in de echte wereld er worden fouten gemaakt. Je kan er voor kiezen dat niet te controleren, met de kans dat je met redelijke regelmaat genaaid zal worden.
Da's natuurlijk ook niet waar. Met name aan de zelfscankant, wordt je vaak doorgestuurd naar de servicebalie maar in menig supermarkt, staat ook bij de servicebalie gewoon een flinke rij tegenwoordig.
Alleen is die ene persoon bij de servicebalie ook verantwoordelijk voor

- alle zelfscan kassa’s
- de bloemen
- de tabak- en lotenverkoop
- de gevonden voorwerpen
- de telefoon
- etc etc

Dus je kan makkelijk een kwartier wachten tot je aan de beurt bent.
Je krijgt je bon pas na betalen, en hoeft dan dus ook niet bij de kassa te blijven staan (en de boel op te houden) :)
Zou je het dan thuis gaan doen en later terug naar de super om je gelijk te halen? Hoe ga je dan aantonen dat je iets daadwerkelijk niet gekocht/meegenomen hebt?

Ik zou gewoon deze supermarkt compleet overslaan, want dit is compleet onacceptabel en veel te veel werk.
Je hoeft natuurlijk niet pas thuis te kijken, maar kan ook zeg 2 meter verderop, ipv letterlijk voor de kassa te blijven staan.
zelfscan hou je het onderweg bij en aan het eind check je het. Zelfs met 150 euro aan boodschappen werkt dat prima ;)
Zeker! Vaak genoeg prijs fouten op de kaartjes waardoor je bij de kassa ineens meer betaalt dan je dacht. Toevallig vanmorgen nog bij Kruidvat, stond €1,99 op t kaartje en €2,09 op de kassa. Gaat maar om 10 cent maar ik maak daar toch een punt van. Meeste winkels geven t verschil netjes terug en passen daarna t kaartje aan.
Het is gewoon een foutgevoelig iets, die kaartjes en de prijzen en dan de acties van de week, algemene prijsveranderingen en nieuwe producten, oude producten eruit, een foutje is zo gemaakt. En ja, de meeste winkels helpen je graag om het op te lossen.
Of onduidelijk aangegeven. Dan staat er bijvoorbeeld alle producten van xyz en dan kom je bij de kassa, staat er een andere prijs en dan is het “ja maar die en die uitgezonderd”. Zet dat er dan gewoon bij in de folder of op het kaartje. Sommige winkels doen dat ook, hoor, maar niet alle.
Nou, de Etos hier niet. Actieprijs stond op website en schap duidelijk aangegeven. Dat werd ook erkend. Maar de medewerkers in de winkel kunnen de computer niet overrulen, zeggen ze.

Nog naar de klantenservice over geklaagd ook, maar ook dat leverde slechts een chatbot achtig non-antwoord op. En een email dat er met mijn Etos account geklooid was - dat we overigens niet hebben. Héél erg slecht!

@Andros Vandaar mijn oordeel héél erg slecht..

[Reactie gewijzigd door Gwaihir op 24 april 2025 19:36]

In principe geldt de laagst geadverteerde prijs (uitgezonderd duidelijk ongeloofwaardige fouten als een tv voor 5 euro oid). Als de kassa iets anders aan geeft halen ze er maar een filiaalmanager bij. Maar de wet is doorgaans vrij duidelijk in zo'n situatie.
Dat is bij het kruidvat constant, omdat die elke week folder actie's hebben,

Ik moet bijna altijd de prijzen laten aanpassen met dan de folder in mijn hand,

maken ze nooit problemen van, komt altijd correct in orde, maar je moet dan wel zelf je rekening nakijken natuurlijk.
Kruidvat had ooit (lang geleden, pre zelfscan) een leuke kassabug. Twee voor de prijs van 1 aanbieding, dan de artikelen annuleren, maar de korting bleef.
Een andere ervaring was ook al positief: iets gekocht, niet opgelet, bon weggegooid. Thuisgekomen: he dat kan toch niet?
Volgende dag terug, uitgelegd, ze zagen het verschil en ik kreeg geld terug. Zonder zeuren zonder bon.
Yup ,

zoals ik zij,

loopt daar veel mis, maar wordt altijd correct opgelost. (waarschijnlijk door hun ervaring omdat het zoveel mis loopt) , maar natuurlijk als je het niet in het oog hebt is het wel zo goed als altijd in je nadeel natuurlijk,

vooral de 1+1 of 2de aan 50% is in veel gevallen nog niet actief maar staat het wel al in folder.
Nou, en ik kan me daar boos om maken, dat je de kassa ophoudt door voor een duppie te gaan praten. Weet dat ik ergens fout zit en geduld schone zaak is, misschien is dat deze tijd(sgeest), of misschien ben jij niet zo relaxt.

[Reactie gewijzigd door Sjah op 24 april 2025 14:24]

Soms is het 10 cent, soms een paar euro. Ik laat mezelf niet oplichten. Als jij dat voor jezelf geen probleem vindt, helemaal prima.
Mag ik je er aan herinneren dat de winkel de fout veroorzaakt en niet ik? Je kunt je beklag bij de betreffende medewerker doen dat ze hun winkel niet op orde hadden. Ik ben ook slachtoffer van hun fout en het kost mij ook tijd die ik liever aan iets anders had besteed.

Daarnaast is een kwartier ook mooi overdreven. De medewerker checkt het, doet wat op de kassa en geeft het geld terug. Kost misschien maximaal 2 minuten. Als je die tijd niet hebt had je misschien eerder moeten opstaan of het lekker online kunnen bestellen.

[Reactie gewijzigd door Cartman! op 24 april 2025 15:53]

In het kader van perspectief: Zolang je netjes het probleem kenbaar maakt bij het personeel zie ik daar geen asociaal gedrag in. Pissig reageren op een (prijsbewuste) medemens zou ik dan wel weer asociaal willen noemen.
Ik wil graag een schadevergoeding omdat ik deze reactie heb gelezen.
Misschien ben jij juist diegene die niet relaxed is als je boos wordt omdat "iemand de kassa ophoud"
misschien wel niet, maar als ik midden voor het sloplicht mijn lekke band ga staan wisselen terwijl jij naar je welk moet ben je ook niet blij... ik durf wel te wedden dat je me toch vriendelijk (of ronduit grof als het langer duurt) zult vragen om dat ergens anders te gaan doen ... bijvoorbeeld in de berm...

het 'verkeer' ophouden is gewoon niet netjes dat geldt even goed voor de rij bij de kassa als voor bij het stoplicht of midden op de snelweg.
Dan heb je vast ook een bedrag in je hoofd waarbij het voor jou WEL acceptabel is. 50 cent? Een euro? Tien Euro?
Nou, als iemand opgelicht wordt door balletje balletje O-Europeanen voor 100 euro, dan heb ik er begrip voor dat die gaat slaan bij wijze van spreken, das zelfs wel verfrissend. Maar zo een arme verkoopster bepraten heeft niks... das irritant.
En laat de klanten de winkel maar mijden. Is wel een reden om de prijzen goed te zetten.
Ik zou dan eerder kwaad worden op de winkel die blijkbaar zijn zaken niet op orde heeft en er blijkbaar geen goed en snel proces voor heeft. Hier bij de Nettorama zie ik dat acties al in de kassa zitten voor ze in de winkel op de borden staan of op de verpakkingen staan of de folder in gaat. De middag/avond voor een nieuwe folder lijkt dan wel de oude en nieuwe folder te werken in veel gevallen. Dat kunnen andere winkels ook doen om te voorkomen dat acties wel in de winkel staan en niet in de kassa.

Als het 1 minuut in de kassa staat voor de actie borden de winkel in gaan is vroeg genoeg.
Voorkomen is beter dan genezen -- zelfscan terminal meenemen, en terwijl je scant en in je tas gooit gelijk kijken of het klopt, en bij het betaalpunt gewoon simpel vergelijken. Ladingen stappen minder (om nog maar te zwijgen van weer uit je tas halen, en weer verkeerd om terug je tas inleggen bij de ouderwetse kassa)
Waarom het probleem bij de klant leggen om te kijken of het klopt?

Hop gewoon de vulploegmedewerker stickertjes over die QR codes laten plakken. Dan voorkom je het echt
Dan bent je al laat.

1. Want eerst moet je eigenlijk je zelfscanner checken.
2. Dan de kassa checken of al je items erop staan.
-> Dit punt krijg je controleren en wordt je al snel als winkeldief bestempelt want computer zegt dat het niet klopt. En heb je als klant al snel de schijn tegen hebt.
3. Dan nog eens de kassabon.
-> Dit punt kan je ook nog een keer worden gecontroleerd.

Dus jij moet als klant, hun systeem checken en als het niet klopt en jij hebt het niet opgemerkt, dan is het al snel jouw probleem.

Ik probeer zelfscannen dan toch te mijden om dit probleem zo veel mogelijk te voorkomen.
In dit geval staat er een product op je bon die je niet in je tas hebt liggen en dus niet andersom. Dus je bent dan geen winkeldiefstal aan het plegen. Dat is dan eerder andersom, de winkel die steelt van jou.
Dus in dit geval kun je moeilijk terugdoen. :)
Je bent pas een winkeldief als je door de poortjes naar buiten loopt. Als je hebt afgerekend en betaald maar hebt nog een doos luiers niet afgerekend en sta je nog in de winkel, ben je nog niet aan het stelen.
Ik gebruik ook geen zelfscan om twee redenen. Ten eerste ben ik als de dood om te vergeten een product in te scannen want ik verlies de aandacht wel eens in de winkel waarna ik moet checken en dubbelchecken wat een tijdverlies is en ten tweede om de mensen aan de kassa hun job niet te laten kwijtraken. Ik stam nog uit de tijd dat wanneer je ging tanken er ook een vriendelijke bediende dit voor jou kwam doen, nu moet het zelf en betaal je er nog meer voor ook behalve in één tankstation in mijn buurt en dat is dan ook nog eens het goedkoopste.
in dit geval met producten die je niet gekocht hebt is dat relatief makkelijk te doen, maar in het algemeen, hoe weet je of de prijs op de bon hetzelfde is als de prijs op het schap? Je kan toch onmogelijk alle prijzen onthouden?

Voor mij zou dit reden zijn deze winkel gewoon niet meer te bezoeken. Als klant moet ik er blind vanuit kunnen gaan dat de kassabon klopt! Als een bedrijf dat vertrouwen niet waard is, zijn ze mijn zuurverdiende geld ook niet waar, zo simpel is het?
Nou, dat vind ik voor deze situatie toch wel raar hoor, het zo op de klant afschuiven. Bizar verdienmodel!

Eens te meer daar het volstrekt onduidelijk is waarom de scanners dit type code überhaupt lezen. Het lijkt geen type code die actief gebruikt wordt. Dus dat zou toch vandaag nog diep in de config uitgezet kunnen worden!
Beter nog, meekijken op het scherm zodat je direct kunt aangeven als er wat fout gaat.
Of gewoon zelfscan gebruiken? Dan zie je het al direct
Wat heeft die laatste alinea met de rest van het artikel te maken?

Voor de rest: kennelijk zit er in die Qr-code dus ook een nummer verstopt dat 13 cijfers heeft en toevallig ook de EAN van een ander artikel in het systeem is.

Beetje apart. Een QR-code kan veel meer informatie bevatten en het is naar ik meen ook de bedoeling dat dat gaat gebeuren.
kennelijk zit er in die Qr-code dus ook een nummer verstopt dat 13 cijfers heeft en toevallig ook de EAN van een ander artikel in het systeem
Nee.
Nadien kreeg de redactie van 'WinWin' nog verschillende gelijkaardige verhalen toegestuurd. "Onlangs kocht ik een blikje tv-worstjes. Aan de kassa werd mij plots ook een bak trappist aangerekend ter waarde van bijna 50 euro. Terwijl ik die nooit heb gekocht", getuigt luisteraar
In de bron kan je het blikje zien, en heeft een hele kleine datamatrix met de waarde: ET9374

Ook lijkt het er dus op dat er geen GS-1 specificatie o.i.d. gaat komen, of wellicht wel in 2027.
Als ik die foto scan met de Android app die ik gebruik om zowel datamatrices als streepjescodes te scannen, krijg ik soms een verkeerde EAN_13 (=13-cijferige streepjescode) terug. Dus niet de juiste, en niet de inhoud van de datamatrix.

Ik vermoed dat er zo veel foutcorrectie op het scanalgoritme zit (het moet snel gaan en robuust zijn) dat het soms een lijn trekt door de streepjesode en datamatrix tegelijkertijd die toevallig een valide EAN_13 code oplevert. Dat zou, jammer voor de IT'ers van Delhaize ook willen zeggen dat de datamatrix-herkenning uitschakelen of enkel EAN_13 codes toelaten, geen oplossing is. En dat verklaart dus dat het een moeilijk probleem is dat ze niet gemakkelijk opgelost krijgen.
Je zou hier zomaar gelijk kunnen hebben. Ik werk zelf in de barcodewereld. Sommige barcodetypes als je die aanzet kunnen zelfs een blad met tekst aanzien als een barcode. Code128 lezen uit een datamatrix barcode heb ik overigens nog niet eerder gezien. Het probleem wat ze hebben kan mogelijk wel met iets van redundancy of security levels opgelost worden (vendor afhankelijk). Nadeel is dat dit het scannen vaak trager maakt, en tijd kost helaas geld, zeker op een kassa die door een medewerker wordt bediend. De GS1 standaard kan overigens in meerdere barcodetypes voorkomen zoals Code128, QR, Datamatrix, Aztec en nog een dacht ik. Als de kassasoftware/scanner geen codetypes aan heeft staan kan ik zelfs een reguliere code128 barcode genereren en scannen die als GS1 ontleedt wordt, zonder dat het een GS1 is. Alles valt of staat bij de juiste instellingen aan hard en software in deze wereld.

[Reactie gewijzigd door wiene op 24 april 2025 22:56]

GS1 adverteert er al mee dat ze het gaan doen. Is hun inkomstenbron he.
Hopelijk heeft dat nieuwe systeem meer vrijheden, zoals een soort DNS.
De kassa zal beiden lezen in de overgangsfase. Dat doen ze nu dus al. Die nieuwe code matched dan toevallig met een ander artikel, daar is niet helemaal goed over nagedacht. Ze kunnen tijdelijk de qrcode scannen uitschakelen in de kassa en ondertussen een permanente oplossing bedenken, zoals met fabrikanten andere series afspreken of zorgen dat de qr code en barcode niet gelijktijdig zichtbaar zijn voor de kassa. Al zal dat het scannen later omslachtiger maken.
Dat laatste mogen ze bij Lidl wel eens doen. Vooral de vegaproducten, want daar staat een QR-code op voor meer informatie en een barcode van het product zelf, maar vaak scant ie de QR-code, zelfs als je de code met je hand afdekt, en blokkeert het systeem. Volgens medewerkers is het al vanaf het begin een bekend probleem.
Er zit geen röntgenstraling in de lidl zelfscan voor zover ik weet, dus een met de hand afgedekte qr code zal nooit worden gescand... Maar alle gekheid op een stokje, hier dezelfde ervaringen met die qr code.

Op verschillende plekken op de verpakking plaatsen zal het probleem niet (helemaal) oplossen doordat er meerdere scanners zitten bij de zelfscankassas. Of het negeren van alle qr codes (je klantenkaart gebruikt een qr code). Maar het zou toch voldoende moeten zijn om die specifieke qr codes te negeren?
De kans dat zo’n datamatrix matcht met een qr-code is echt bizar klein door de foutcorrectie die erop zit, dus dit is m.i. echt een heel andere fout.
if(gescande_code == oud_systeem_code) zet_op_bon();
if(gescande_code == nieuw_systeem_code) zet op bon();

Zoiets, wat prima zou zijn als de nieuwe nieuwe code inderdaad nieuw (en dus uniek ten op zichtte van de oude) is, maar zodra er overlap is, heb je ze dus allebei.
Nu ben ik ook een developer, dus laat ik je code even reviewen.
Ik stel voor dat je er dit van maakt:
if(gescande_code == bekend) zet op bon();
oftewel jouw code fixed probleem niet ;-)
Evt zou het volgende nog wel issue kunnen oplossen:
if(gescande_code == oud_systeem_code)
zet_op_bon();
else if(gescande_code == nieuw_systeem_code)
zet op bon();
Dan voorkom je dat je voor 1 scan 2 producten op bon plaatst ;-)
Mijn versimpelde pseudocode was juist om aan te tonen hoe het (vermoedelijk) nu werkt, het punt ervan zijnde dat het verkeerd is, geen suggestie om iets te fixxen.
Dat is een kleine vierkante code, die lijkt op een QR-code.
Het is geen QR code, maar lijkt er op. Blijkbaar ziet de scanner die dan soms voor QR code aan.
Het lijkt mij eerder dat de kassa's ook gewoon kunnen omgaan met de datamatrix. Dat is gewoon een standaard vanuit GS1 (die ook de barcodes uitgeeft).
Ik had vorige week verschillende artikelen die niet of slecht scanden bij Delhaize. Benieuwd of het er iets mee te maken had.
Delhaize probeert een oplossing voor het probleem te vinden, maar vooralsnog is dat niet gelukt.
Een roll-back zou het probleem oplossen. Maar centjes krijgen zonder producten leveren is ook mooi natuurlijk.
Maar centjes krijgen zonder producten leveren is ook mooi natuurlijk.
Nou nee. Dit is een serieus probleem voor ze.

Een verkoper van goederen moet een sluitende administratie hebben.
Je kunt niet 100 producten ingekocht hebben en 300 producten verkocht hebben in een jaar. :) (voorraad moet je ook overhevelen van het ene boekjaar naar het andere boekjaar.)

Een supermarkt kan het nog aannemelijk maken dat er dingen 'kapot vallen', verlopen zijn (omdat ze over de datum zijn), garantie (product niet goed, enz.) en dat er (triest genoeg) gestolen wordt, dus dan kun je wel wat verschil overhouden, maar dat gaat niet met grotere hoeveelheden (en je moet die voorbeelden ook als zodanig registreren)
Ik denk niet dat jij ooit een administratie hebt gevoerd op het formaat van Delhaize, of zelfs maar 1% daarvan. Een "sluitende administratie" op die schaal is een fictie, en ik denk dat je accountant het op een gegeven ogenblik zelfs als verdacht zal aanmerken. Als je elk jaar miljarden producten inkoopt, en er precies 0 verschil tussen inkoop en verkoop zit, dan is één van die twee cijfers verzonnen.

Delhaize heeft inderdaad ook een verschil doordat niet alles verkocht wordt. Dat zijn alleen geen administratieve fouten maar een concreet verlies van de producten. Moeten ze dat registreren? Hoe zouden ze diefstal moeten registreren? En denk je dat ze scherven gaan tellen als er een krat bier valt?
Uiteraard zijn er verschillen. Daar ontkom je niet aan. Zeker met diefstal en ander 'verlies' is het rottig, maar ik zie niet in waarom een supermarkt dat niet kan bijhouden? Maar in het voorbeeld wordt er vanuit gegaan dat er meer pakjes kauwgum zijn verkocht dan we zijn ingekocht.

Ik denk dat het 'redelijk' precies kan. Je scant wat erin gaat, en wat eruit gaat. (Met versproducten is dat al lastiger, maar daar zou het op kilo's gaan. Je kunt niet 75,4 kilo bananen inkopen en 89,2 kilo verkopen 😊)
Een supermarkt kan alleen bijhouden wat de voorraadverschillen zijn, maar niet waarom. Het verschil in pakjes kauwgom is de som van verlies en diefstal, scanfouten, admininstratieve fouten en waarschijnlijk nog een paar minder belangrijke redenen. Meer verkocht dan ingekocht zal zeldzaam zijn, gezien het verlies door diefstal.
Precies, en daar reageerde ik op. Dus dat ze niet meer kunnen verkopen dan inkopen.
Dacht net hetzelfde.
Kan toch niet dat er geen oude versie beschikbaar is?
Reden te meer om die keten 100% links te laten liggen.
Het probleem is ontstaan na een update van de software waarop het kassasysteem draait. Die software werd aangepast ter voorbereiding op een wijziging in 2027, als alle streepjescodes op verpakkingen worden vervangen door QR-codes.
Delhaize probeert een oplossing voor het probleem te vinden, maar vooralsnog is dat niet gelukt.
Je zou toch denken, eerst die update terug draaien en daarmee weer naar de tekentafel. Je hebt nog anderhalf jaar.
Wat helaas vaak gebeurt, is dat hiermee een database aanpassing gepaard gaat en er al talloze mutaties op gedaan zijn voordat het probleem is gevonden.
Dan is een rollback nagenoeg niet te doen.
Nog afgezien van de hoeveelheid werk die een rollback op een productie-omgeving zou zijn in verhouding tot de impact van de bug.
Klanten laten betalen voor spullen die ze niet hebben, klinkt niet heel ethisch. Marketingtechnisch is dit toch een regelrechte ramp?
Wat functioneel wenselijk is en wat technisch mogelijk zijn soms twee verschillende eilandjes. Met name omdat je al miljoenen transacties hebt gedaan met het nieuwe model.
Klinkt als een developer... ;)

Vanuit een technisch perspectief is de impact van de bug wellicht klein, maar de impact is in brede zin (inmiddels) wel wat groter, namelijk klagende klanten, negatieve aandacht in de pers en imagoschade. Of een rollback dan de beste oplossing is, is een tweede, maar er zou wel iets meer haast mogen worden gemaakt met een fix. Voor zo'n groot bedrijf als Delhaize is het wel een beetje gênant dat het maanden moet duren. De vraag dringt zich op waarom er bijv. geen feature flag o.i.d. is gemaakt, of dat het niet te complex is gebouwd als het niet eenvoudig kan worden uitgezet.

Zelfs als ze het nog niet wisten tot de nieuwsuitzending zou dat op zijn minst een teken zijn dat hun interne processen niet goed op orde zijn.
De impact van deze bug is niet de tiental onjuist gescande artikelen per week, maar wel de reputatie schade. Als wijdverspreid in België bekend wordt dat je voor random artikel moet betalen, scheelt dat de concurrent hele reclamecampagnes. De prijs is toch een van de belangrijkste overweging mbt supermarkt keuze.
Een hele roll back is misschien wat drastisch maar het verbaast me dat zo'n nieuwe feature die pas in 2027 in gaat, niet achter een property/toggle hebben gebouwd.

Op mijn project leveren we heel vaak spul op achter een toggle. Mocht het toch niet 100% werken of nog niet nodig zijn, kun je het direct weer uitzetten.

Dit als "kleine" bug afschepen en weken niet op kunnen lossen, gaat er bij mij niet in.
Een aantal Delhaize producten heeft nu al een datamatrix code en geen EAN code meer, dus dan moeten ze de aanpassing aan die verpakkingen ook terugdraaien om deze te kunnen scannen. Bij mijn weten zijn dit alleen verpakkingen voor vers vlees, waar een code per verpakking gegenereerd wordt en op het label gedrukt bij het verpakken (want altijd ander gewicht), dus het is wel niet dat er daar een stapel van blijft liggen als men terug naar streepjescode zou willen.
Kan je ook prima handmatig een nieuw plakker op drukken.
Maar het is goedkoper om van 'jouw' probleem die van iemand anders te maken.
Dat zal hier inderdaad het geval zijn aangezien dit probleem al enkele maanden voorkomt. Wel bijzonder dat het al zo lang duurt, en überhaupt dat de QR-functionaliteit nu al aanstaat terwijl er pas vanaf 2027 met QR-codes gewerkt gaat worden.
Hadden ze toch even een feature flag moeten inbouwen voor het scannen van QR-codes :+

Klink mij dat ze gewoon geen zin hebben om alle kassasystemen eerst te updaten met een tijdelijke fix (uitzetten van qr scannen) en daarna nog eens een update te doen met een duurzame fix

[Reactie gewijzigd door jaapzb op 24 april 2025 15:07]

Je hebt ook kans dat het niets met de software van de kassa's zelf te maken heeft, maar puur de configuratie van de barcodescanner. Die kun je configureren welk type barcodes (zoals QR-codes) ze wel en niet herkennen. Vroeger moest je die ook met streepjescodes programmeren. Ten tijde dat cadeaukaarten werden ingevoerd die gescand werden voor activatie bij de kassa's, moest ik als medewerker per kassa's 4 A4-tjes aan barcodes scannen (start programming mode-barcode, configs, save-barcode, etc).

De kassa's krijgen wellicht alleen een tekenreeks+enter door van de scanners. Van EAN-codes kun je wel uitgaan dat die niet hergebruikt worden, maar de QR-codes die nu nog op producten staan, matchen nu waarschijnlijk met de artikelcodes van andere producten. In je kassa-software herken je dan het verschil niet.
Alle barcodelezers die ik ooit gebruikt hebt kunnen ingesteld worden om bepaalde soorten streepjescodes al dan niet te lezen precies om dit probleem te voorkomen.

Het is misschien lastig om (tijdelijk) misschien met 2 barcode lezers rond te lopen als bepaalde producten maar 1 van de 2 hebben, maar tenminste beter dan 2 barcodes in te lezen voor 1 product.

Kwestie van training en heb je de machines die je werknemers meedragen onder inventaris en controle op afstand, zo niet wordt dit inderdaad een lastig geval van - en is die barcode lezer nu goed omgezet of niet.

En daar knelt het zich vaak, voor een IT-grootte van een groep zoals Delhaize heb je een degelijk IT team nodig, moet je zulke dingen kunnen voorzien. Tegenwoordig zijn alle bedrijven IT-bedrijven die ook nog iets anders doen, maar de bazen begrijpen dit (nog steeds) niet, met een handjevol ITers honderden winkels met kassa's die ook "gewone" computers zijn en kaartlezers die "gewone" computers zijn, barcode lezers aan de heup die ook "gewone" computers zijn (vaak nog steeds met Windows CE) maar die dingen worden niet als "computers" bezien totdat er iets vreselijk misgaat - en een nieuwe instellingen doorduwen wordt snel 6 maanden aan tijdelijke werknemers om overal rond te lopen en knopjes te duwen terwijl je die van het begin al op afstand kunt bedienen.

[Reactie gewijzigd door Guru Evi op 24 april 2025 16:04]

Inderdaad, dat lijkt mij de beste oplossing. Meteen terugdraaien om verdere problemen te voorkomen.
Delhaize probeert een oplossing voor het probleem te vinden, maar vooralsnog is dat niet gelukt. "Onze IT-dienst is aan het bekijken hoe we die kleine bug zo snel mogelijk weggewerkt krijgen.
Maak gewoon een variabele in je code: "QR code scannen" true/false.
Tot 2027 zet je deze op false. En in 2027 op true.
Hoe simpel kan het zijn.
Of mis ik iets?
Wanneer er gescande producten niet op de bon staan, zouden ze dat waarschijnlijk wel gedaan hebben.
Nu is het alleen maar extra inkomsten.
Dit is geen kleine bug.
Het zijn kleine qr code achtige dingen, dus een kleine bug. :Y)
1 klacht per week? Op de honderdduizenden of misschien miljoenen kassatransacties die ze per week hebben?

Dat noem ik een kleine bug.

Als je het overkomt heeft het misschien een grote impact. Maar voor Delhaize is het een kleine bug.
Het geeft tamelijk negatief nieuws. Zelfs op sites zoals Tweakers. Als je bug in het nieuws komt, dan is het groot.
Klein.. Als winkel mensen laten betalen voor dingen die ze niet kopen noem ik geen kleine bug, en qua PR is het ook zeer slecht want je verlaagt het consumentenvertrouwen in je winkel.

En 1 klacht per week zegt nog niets over hoe vaak het probleem zich voordoet. Hoe vaak merken mensen niets en hoe vaak merken ze het wel maar wordt het ter plekke opgelost, en hoe vaak merken ze het te laat maar laten het erbij zitten omdat te veel werk is/geen hoop op een oplossing/geen idee van de mogelijkheid voor officiële klacht.

Daarnaast is het ook schandalig dat het probleem zich al meer dan een half jaar voordoet.
Het is een kleine bug omdat het Delhaize niet benadeelt, als het te weinig zou zijn op de bon dan zouden ze binnen een dag een oplossing hebben. Ik ben benieuwd wat ze gaan doen met het teveel betaalde geld.
Gewoon in de scan software de datamatrix ondersteuning uit zetten. Datamatrix is niet hetzelfde als QR.
"Maar daardoor scannen onze kassa's in een beperkt aantal gevallen en enkel bij een tiental merkproducten per ongeluk ook alle andere codes die te dicht bij de streepjescode staan"
De zelfkassa’s van Delhaize zijn een echt drama. Ik moet altijd mijn vinger op de QR code want het scant die automatisch en dan blokkeert het hele systeem en moet er een medewerker komen om het op te lossen. Die bug en QR code functie zit er dus al zeer lang in.

Zelfden kan je zonder een medewerker te roepen afrekenen.

Daarnaast zijn de systemen traag, ze draaien waarschijnlijk nog op een oude trage intel cpu, de interface is lelijk en verwarrend met onnodige klikjes op het scherm.

Bijv de prijs die je ziet in de prijs zonder korting. Of tegoed bonnen. Om te weten wat je moet betalen moet je dus eerst naar ‘betalen’.

En toen gebeurde het ergste:
Ik drukte op de ‘betaal’-knop, gewoon om het totaalbedrag te checken en te zien of alles klopte. Maar dat activeerde blijkbaar al een controle, nog vóór ik betaald had. En daar stond ik dan, als een winkeldief, terwijl ik gewoon wilde controleren of de korting wel correct werd toegepast voor ik verderging met scannen.

Ik begrijp niet dat een miljardenbedrijf zo’n slechter userinterface uitwerkt en toelaat. Nu blijkt dat die QR code scanner niet enkel de boel blokkeert maar effectief ook geld opbrengt.

Iets of iemand zit daar niet op zijn plaats.
Tjah in NL is 1 op 50 bonusproducten meestal (on)bewust niet in het kassasysteem ingevoerd. Ik maak dit ongeveer 20x per jaar mee. Helaas heb ik vaak niet de tijd/moeite om het terug te vragen. Soms gaat het om producten waar je 8e of meer misloopt per aanbieding. Soms maak ik melding dat een aanbieding niet is ingevoerd en kom je 5 dagen later terug en is die nog steeds niet ingevoerd. Het trieste is dat de 200+ keer dat ik het heb meegemaakt dat het 1x goedkoper was en 199+ x duurder voor mij als consument. Als ik een beetje conversatief reken stelen supermarkten hiermee rond de 50e per persoon per jaar wat toch al snel 100+ miljoen per jaar aan pure oplichting is als ik conservatief reken.

Het blijft vreemd dat als je als consument iets steelt je meteen 181e moet betalen en de politie komt en dat als de supermarkt bewust iets 'steelt' door een korting te adverteren en die niet levert ze niet die 181e aan de consument moeten betalen. Elke supermarkt zou alle producten die in de bonus zijn zelf moeten scannen voordat de weekaanbieding start. Dit doen ze natuurlijk niet omdat er geen consument of journalist energie in wil stoppen om dit in kaart te brengen en ze met dit gedrag weg kunnen komen.
Dit moet een aanpassing op de scanner zijn geweest (enable 2D-barcodes), en niet een aanpassing in de software...
Nadeel is, dan scant hij inderdaad alle barcodes, 1D én 2D (QR en zo). Dit blijft ook in de toekomst een probleem zolang niet producenten zorgen dat er maar één type op de verpakking staat, of, dat je één van beide kunt uitsluiten doordat je de waarde kunt filteren. (via bijvoorbeeld een voorvoegsel welke aangeeft welk type barcode wordt gescand, dit kunnen veel scanners ook zoals de veelgebruikte Datalogic's)

[Reactie gewijzigd door thalx op 24 april 2025 15:09]


Om te kunnen reageren moet je ingelogd zijn