applatenmaken.com/app-gidsen/barcodescanner-app
Barcodescanner-app laten bouwen: alles wat je moet weten
Een barcodescanner-app is maatwerksoftware waarmee uw medewerkers codes scannen en daar direct iets mee doen: een artikel boeken, een pakket afmelden, een monster registreren of een apparaat terugvinden. Scannen zelf is een opgelost probleem; elke telefoon kan het. Het werk zit in wat er na de scan gebeurt. Deze gids gaat over welke codes u tegenkomt, wanneer een telefoon volstaat en wanneer u een handscanner nodig hebt, hoe u omgaat met slecht netwerk en onbekende codes, en waar de kosten vandaan komen.
In het kort
- Scannen is het makkelijke deel. De vraag die uw project bepaalt is wat er na de scan gebeurt en wat er misgaat als de code onbekend is.
- Een telefoon scant prima voor tientallen scans per dag. Vanaf een paar honderd scans in een lange dienst wint een handscanner op snelheid en op de hand van de gebruiker.
- Offline werken is bij magazijn- en veldwerk geen wens maar een voorwaarde. Een app die stilvalt zonder netwerk wordt binnen een week omzeild.
- Welke codesoort u tegenkomt bepaalt wat de app moet kunnen: EAN op consumentenartikelen, GS1-128 met vervaldatum en batch, QR voor eigen toepassingen.
- Eigen etiketten drukken is vaak nodig en wordt vaak vergeten. Kies het formaat en de printer voordat u de app ontwerpt.
- De kosten worden bepaald door het aantal processen dat u ondersteunt, de koppelingen met uw voorraad- of ordersysteem en de vraag of er hardware bij komt.
Wat een scanner-app werkelijk oplost
Een barcode is niets anders dan een getal dat een machine sneller en betrouwbaarder leest dan een mens. De waarde zit niet in het lezen maar in wat eraan hangt: het artikel, de locatie, de order of het apparaat dat door dat getal wordt aangewezen. Een scanner-app is daarom in de kern een app die iets opzoekt en daar een handeling aan koppelt.
Dat verklaart waarom scanprojecten zelden op de scanner stuklopen. Ze lopen stuk op de vraag wat er moet gebeuren als de code onbekend is, als iemand twee keer scant, als het artikel op een andere plek ligt dan het systeem denkt, of als het netwerk wegvalt terwijl er al vijftig regels zijn ingevoerd.
De winst is meestal wel goed te benoemen. Overtikken verdwijnt, en daarmee de typefouten die daarbij horen. Handelingen worden sneller, vooral als de app na de scan meteen het volgende veld klaarzet. En de registratie is completer, omdat scannen minder moeite kost dan opschrijven en dus vaker gebeurt.
Opzoeken
De code wijst iets aan: een artikel, een locatie, een order of een apparaat. Dat moet de app kennen.
Handelen
Boeken, afmelden, tellen, verplaatsen of controleren. De handeling bepaalt het schermontwerp.
Vastleggen
Wie scande wat, waar en wanneer. Dit is vaak de reden dat er überhaupt gescand wordt.
Afwijken
Onbekende code, dubbele scan of afwijkend aantal. Hier zit het meeste ontwerpwerk.
Welke codes u tegenkomt
Op consumentenartikelen staat meestal een EAN-code, het streepjespatroon met dertien cijfers dat wereldwijd een artikel aanwijst. Die code zegt welk product het is, maar niets over de partij, de houdbaarheid of het serienummer. Voor voorraadtellingen en kassasystemen is dat genoeg.
In de logistiek en de zorg komt u vaker GS1-128 tegen, een code die meerdere gegevens combineert: artikelnummer, batch, houdbaarheidsdatum en soms een serienummer, elk voorafgegaan door een kenmerk dat zegt wat het betekent. Een app die zulke codes moet lezen, moet ze ook kunnen ontleden, en dat is meer werk dan alleen scannen.
Voor eigen toepassingen is een QR-code vaak de praktische keuze. Hij bevat meer tekens, is vanuit elke hoek te lezen en blijft leesbaar als hij deels beschadigd is. Voor eigen etiketten op apparatuur, locaties of dossiers werkt dat beter dan een streepjescode, zeker als de sticker slijtage te verduren krijgt.
- Verzamel echte voorbeelden voordat u ontwerpt. Fotografeer de codes die u werkelijk tegenkomt, inclusief de rommelige exemplaren van leveranciers.
- Bepaal of u de code moet ontleden. Alleen het artikelnummer eruit halen is iets anders dan batch en houdbaarheid apart vastleggen.
- Kies bewust voor eigen etiketten. Als leveranciers geen bruikbare code voeren, drukt u zelf. Dat is een eigen deelproject.
- Test op beschadigde en vuile codes. In een magazijn of werkplaats ziet een etiket er na een maand anders uit dan in een demo.
- Let op codes die op elkaar lijken. Een interne code die toevallig hetzelfde formaat heeft als een EAN, geeft stille verwisselingen.
Telefoon of handscanner
De camera van een moderne telefoon leest codes goed genoeg voor de meeste toepassingen. Voor een monteur die twintig keer per dag een apparaat scant, of een medewerker die een paar dozen afmeldt, is een telefoon de logische keuze: hij is er al, hij heeft internet en hij kan meer dan alleen scannen.
Bij honderden scans per dienst verandert het beeld. Een handscanner leest sneller, vaak op grotere afstand, en ligt anders in de hand: de gebruiker richt en drukt af zonder naar een scherm te kijken. Dat verschil van een halve seconde per scan telt op tot een merkbaar deel van de dag, en het scheelt vermoeidheid.
Er is een tussenvorm die vaak over het hoofd wordt gezien: een ruggedized handterminal met een ingebouwde scankop draait gewoon een app en combineert allebei. En een losse bluetooth-scanner die aan een telefoon hangt, laat uw app op de telefoon draaien terwijl het scannen met echte hardware gebeurt. Dat is doorgaans de goedkoopste manier om snelheid te winnen.
Telefooncamera
Goed genoeg tot enkele tientallen scans per dag, geen extra hardware, en de app kan meer dan scannen.
Bluetooth-scanner
Echte scanhardware gekoppeld aan uw telefoon-app. Vaak de beste verhouding tussen snelheid en kosten.
Handterminal
Één robuust apparaat met scankop en scherm, bedoeld voor de hele dienst in een magazijn.
Vaste scanner
Bij een inpaktafel of lopende band, waar het artikel naar de scanner komt in plaats van andersom.
Offline werken en netwerk dat wegvalt
In een magazijn met stalen stellingen, in een kelder of op een bouwlocatie is de verbinding wisselvallig. Een app die per scan een server moet bevragen, staat dan stil, en juist op die plekken wordt het meest gescand. Offline werken is daarom bij dit type app bijna altijd een voorwaarde en geen extra.
Praktisch betekent dat twee dingen. De gegevens die de app nodig heeft om een code te herkennen, staan op het toestel: de artikelenlijst, de locaties, de openstaande orders. En de scans die iemand doet, worden lokaal opgeslagen en verstuurd zodra er weer verbinding is, zonder dat de gebruiker daar iets voor hoeft te doen.
Dat brengt een vraag mee die u vooraf moet beantwoorden: wat als twee mensen offline hetzelfde artikel boeken. Bij tellen is dat op te lossen door beide tellingen te bewaren en het verschil te laten zien. Bij voorraadmutaties is het lastiger. Kies bewust hoe u met dat soort botsingen omgaat voordat u laat bouwen, want achteraf repareren is duur.
Wat er gebeurt bij een onbekende code
Dit is het onderdeel dat het vaakst wordt overgeslagen en dat het meest bepaalt of uw app wordt gebruikt. Er komt een code voorbij die het systeem niet kent: een nieuw artikel, een leverancier die zijn verpakking veranderde, een interne sticker die iemand ooit heeft gedrukt. Wat doet de medewerker dan.
Het slechtste antwoord is een foutmelding en verder niets. Dan legt de medewerker het artikel apart, schrijft hij iets op een briefje en gaat hij verder. Het beste antwoord hangt af van uw proces, maar het komt er meestal op neer dat de scan wordt vastgelegd als onbekend, met de mogelijkheid om er een foto en een aantal bij te zetten, zodat iemand het achteraf kan koppelen.
Dezelfde redenering geldt voor andere afwijkingen. Een aantal dat niet klopt met de order, een artikel op een locatie waar het niet hoort, een code die twee keer wordt gescand. Elk daarvan is een ontwerpvraag met een antwoord dat uit uw proces komt, en samen vormen ze het grootste deel van het werk.
Onbekende code
Vastleggen als onbekend met foto en aantal, zodat iemand het later kan koppelen in plaats van het kwijt te raken.
Afwijkend aantal
Toestaan maar markeren, met een reden. Blokkeren leidt ertoe dat mensen de app omzeilen.
Dubbele scan
Herkennen en tonen, niet stil negeren. De gebruiker moet zien dat hij al had gescand.
Verkeerde locatie
Melden en registreren waar het werkelijk lag. Dat is de correctie die uw voorraad klopt maakt.
Eigen etiketten drukken
Veel scanprojecten ontdekken halverwege dat er ook etiketten gedrukt moeten worden. Niet alles heeft een bruikbare code: locaties in een magazijn, eigen apparatuur, halffabricaten, dossiers. Zonder eigen etiket valt de helft van het proces buiten de app.
Dat is een deelproject met eigen keuzes. Welk formaat sticker, welk materiaal, en vooral: welke printer. Een thermische labelprinter drukt scherp en snel en is de gangbare keuze in magazijnen. Wat erop komt is een tweede vraag: alleen de code, of ook leesbare tekst voor mensen die niet kunnen scannen.
Let op de omstandigheden. Een etiket in een koelcel, in de buitenlucht of op een machine met olie erop, moet daar tegen kunnen. Een standaardsticker laat na een paar weken los of vervaagt, en een onleesbaar etiket is erger dan geen etiket omdat iemand het toch probeert te scannen.
- Verzamel echte codes uit uw praktijkFotografeer wat u werkelijk tegenkomt, inclusief de rommelige en beschadigde exemplaren.
- Benoem de scanmomentenWelke handeling hoort bij welke scan, en wie doet die handeling waar.
- Kies de hardware per scanmomentTelefoon, bluetooth-scanner of handterminal, afhankelijk van het aantal scans per dienst.
- Ontwerp de foutpadenOnbekende code, afwijkend aantal, dubbele scan en verkeerde locatie. Dit is het meeste werk.
- Regel offline werkenGegevens op het toestel, scans lokaal bewaard en een zichtbare teller van wat nog moet worden verstuurd.
- Bepaal of u etiketten druktFormaat, materiaal en printer, en of er ook leesbare tekst op moet.
- Koppel aan uw voorraad- of ordersysteemZodat een scan iets doet in plaats van alleen wordt vastgelegd.
- Test in de werkelijke omgevingIn het magazijn, met handschoenen, met vuile etiketten en met slecht netwerk.
Wat de kosten bepaalt
Het scannen zelf kost weinig ontwikkeltijd; daar bestaan beproefde bibliotheken voor. De kosten zitten in het aantal processen dat u ondersteunt. Ontvangst, tellen, orderverzamelen en verzending zijn vier verschillende handelingen met elk hun eigen schermen en foutpaden, en dat is vier keer werk in plaats van één keer met een knop erbij.
De tweede post is de koppeling. Een scan die alleen wordt vastgelegd, is een logboek. Een scan die een voorraadmutatie boekt in uw bestaande systeem, vraagt afstemming met dat systeem: welke velden, welke controles, wat als het systeem de boeking weigert. Dat is doorgaans meer werk dan de app zelf.
De derde is hardware. Telefoons heeft iedereen, maar handterminals en labelprinters kosten geld per stuk en vragen beheer: opladen, uitgifte, vervanging bij schade. Dat is geen ontwikkelkost maar het hoort wel in de vergelijking als u afweegt of u een scanner-app laat bouwen.
Aantal processen
Ontvangst, tellen, verzamelen en verzending zijn elk een eigen scherm met eigen foutpaden.
Koppeling met uw systeem
Een scan die iets boekt, vraagt afstemming met het systeem dat de boeking accepteert of weigert.
Offline werken
Gegevens op het toestel en botsingen oplossen kost meer dan een app die altijd online is.
Hardware en beheer
Terminals en labelprinters kosten per stuk, en iemand moet ze opladen en vervangen.
Waar u op let als u dit laat bouwen
Vraag bij het eerste gesprek naar de foutpaden en niet naar de scanfunctie. Iemand die uitgebreid vertelt hoe snel zijn scanbibliotheek is maar geen antwoord heeft op wat er bij een onbekende code gebeurt, heeft dit type app nog niet in productie gezien.
Vraag daarnaast om een test in uw eigen omgeving voordat er veel gebouwd is. Niet in een vergaderruimte maar in het magazijn, met echte etiketten, met werkhandschoenen en op de plek waar het netwerk slecht is. Een half uur daar levert meer ontwerpinformatie op dan een week overleg.
En let op wie de app straks gebruikt. Scannen gebeurt door mensen die er de hele dag mee werken en die geen geduld hebben voor een scherm dat drie keer bevestigt. Elke overbodige tik telt op. Laat daarom de mensen die gaan scannen meekijken bij het ontwerp, niet alleen hun leidinggevende.
- Vraag naar de foutpaden, niet de scanfunctie. Onbekende code, dubbele scan en afwijkend aantal zijn waar het project op staat of valt.
- Test vroeg in de echte omgeving. Met echte etiketten, werkhandschoenen en slecht netwerk, niet in een vergaderruimte.
- Tel de handelingen per scan. Elke overbodige bevestiging kost tijd die honderden keren per dag terugkomt.
- Laat de scanners meekijken. De mensen die het gaan gebruiken zien binnen vijf minuten wat een ontwerper niet ziet.
- Neem hardware en beheer mee in de vergelijking. Terminals en printers kosten per stuk en iemand moet ze onderhouden.
Veelgestelde vragen
Kan een telefoon een handscanner vervangen?
Voor tientallen scans per dag zeker. De camera van een moderne telefoon leest codes goed en het toestel is er al. Bij honderden scans per dienst wint een handscanner op snelheid en op hoe het apparaat in de hand ligt: richten en afdrukken zonder naar een scherm te kijken. Een bluetooth-scanner die aan uw telefoon-app hangt, is vaak de goedkoopste manier om die snelheid te krijgen.
Welke codesoort moeten wij ondersteunen?
Dat bepaalt uw praktijk en niet uw voorkeur. Op consumentenartikelen staat meestal EAN-13, dat alleen zegt welk product het is. In logistiek en zorg komt GS1-128 voor, waarin ook batch en houdbaarheid zitten en die dus ontleed moet worden. Voor eigen etiketten is een QR-code vaak praktischer omdat hij uit elke hoek leesbaar is en beschadiging beter verdraagt.
Moet de app offline kunnen werken?
In magazijnen, kelders en op locatie vrijwel altijd. Een app die per scan een server bevraagt, staat stil op de plekken waar het meest wordt gescand. Zorg dat de artikelen- en locatiegegevens op het toestel staan, dat scans lokaal worden bewaard en dat er zichtbaar is hoeveel er nog niet is verstuurd.
Wat gebeurt er als een code niet bekend is?
Dat moet u vooraf bepalen, want het overkomt u dagelijks. Een foutmelding zonder uitweg leidt ertoe dat de medewerker het artikel apart legt en iets op een briefje schrijft. Beter is de scan vastleggen als onbekend, met een foto en een aantal, zodat iemand het achteraf kan koppelen zonder dat de informatie verloren gaat.
Moeten wij eigen etiketten gaan drukken?
Vaak wel, en het wordt meestal vergeten. Locaties, eigen apparatuur, halffabricaten en dossiers hebben geen bruikbare code van een leverancier. Kies dan formaat, materiaal en printer voordat u de app ontwerpt, en let op de omstandigheden: een etiket in een koelcel of op een machine met olie moet daartegen kunnen.
Wat kost een barcodescanner-app?
Het scannen zelf kost weinig ontwikkeltijd. De kosten zitten in het aantal processen dat u ondersteunt, omdat ontvangst, tellen, verzamelen en verzending elk eigen schermen en foutpaden hebben. Daarnaast telt de koppeling met uw voorraad- of ordersysteem, en bij hardware de aanschaf en het beheer van terminals en labelprinters.
Hoe voorkomen we dat medewerkers de app omzeilen?
Door de foutpaden goed te ontwerpen en het aantal handelingen per scan laag te houden. Mensen omzeilen een app als hij hen tegenhoudt zonder uitweg te bieden, of als elke scan drie bevestigingen vraagt. Laat de mensen die gaan scannen meekijken bij het ontwerp en test in hun eigen omgeving met echte etiketten.