Een inventarisbeheer app bouwen met AppSheet is een ideaal eerste serieus project. Voorraad bijhouden in een spreadsheet wordt al snel rommelig, terwijl een app het overzichtelijk en betrouwbaar maakt. In dit artikel bouw je een complete voorraad-app op met scannen, automatische voorraadberekening en waarschuwingen.
Het datamodel opzetten
Een goede voorraad-app begint met het juiste datamodel. Je werkt met twee tabellen: een tabel Producten met de basisgegevens en een tabel Mutaties die elke voorraadwijziging vastlegt. Door mutaties apart bij te houden, behoud je een volledige geschiedenis in plaats van alleen een actueel getal.
| Onderdeel | Wat het bevat |
|---|---|
| Producten | Naam, barcode, categorie en minimumvoorraad |
| Mutaties | Elke in- of uitboeking met aantal en datum |
| Koppeling | Mutatie verwijst via een Ref-kolom naar een product |
| Voorraad | Berekend uit de som van alle mutaties van een product |
De tabel Producten bevat per product een naam, een barcode, een categorie en een minimumvoorraad. De tabel Mutaties bevat per regel een verwijzing naar een product, een aantal dat erbij of eraf gaat, en een datum. De Ref-kolom in Mutaties zorgt dat AppSheet beide tabellen automatisch aan elkaar koppelt en een lijst met gerelateerde mutaties per product genereert.
De actuele voorraad berekenen
De huidige voorraad sla je niet hard op, maar bereken je uit de mutaties. In de producten-tabel maak je een virtuele kolom Voorraad die de som van alle bijbehorende mutaties optelt. Zo klopt het getal altijd, ongeacht hoeveel boekingen er zijn geweest.
Voorraad berekenen
- Open de tabel Producten in het tabblad Data.
- Voeg een virtuele kolom toe met de naam
Voorraad. - Gebruik een app-formule die de gekoppelde mutaties optelt, bijvoorbeeld
SUM([Related Mutaties][Aantal]). - De koppeling
Related Mutatiesontstaat automatisch door de Ref-kolom in de mutatietabel. - Sla op en controleer of de voorraad klopt na een testmutatie.
- Toon de Voorraad-kolom prominent in de productweergave.
Werk altijd met mutaties
Pas de voorraad nooit direct aan, maar boek elke wijziging als losse mutatie. Zo heb je altijd een controleerbaar logboek van wie wanneer hoeveel heeft in- of uitgeboekt. Dat is goud waard bij een telverschil, omdat je precies kunt nazoeken waar het misging.
Scannen en snel boeken
Voorraad boeken moet snel gaan. Door barcodes te scannen vindt een medewerker direct het juiste product zonder te zoeken. Zet de barcode-kolom op scanbaar via Data en Kolommen, zodat de camera opent bij een nieuwe mutatie en het product automatisch wordt herkend.
In de praktijk gebruik je drie manieren van boeken:
- Inboeken: bij een levering scant de medewerker het product en voert het aantal in dat erbij komt. De mutatie wordt vastgelegd en de voorraad werkt direct bij.
- Uitboeken: bij een verkoop of gebruik scant de medewerker het product en voert een negatief aantal in. De voorraad daalt automatisch.
- Tellen: bij een inventarisatie tel je de werkelijke voorraad en boek je het verschil, zodat de app weer overeenkomt met de werkelijkheid.
Lees meer over scannen in het artikel over barcodes scannen. Het maakt het verschil tussen een trage en een vlotte voorraad-app.
Waarschuwen bij lage voorraad
De grote winst van een app is dat hij meedenkt. Met een bot stuur je automatisch een melding zodra de voorraad van een product onder de minimumvoorraad zakt. Zo bestel je op tijd bij en sta je nooit onverwacht zonder. Je maakt de bot aan in het tabblad Automation: een event dat reageert op een gewijzigde mutatie, een conditie die de voorraad vergelijkt met de minimumvoorraad, en een taak die een e-mail of melding verstuurt.
Voorkom een stortvloed aan meldingen
Stel de waarschuwingsbot zo in dat hij maar één melding stuurt per keer dat de voorraad onder de grens zakt, niet bij elke mutatie daaronder. Anders krijgt de inkoper een stroom aan mails voor hetzelfde product, en gaan de echte signalen verloren in de ruis.
Waarom een aparte mutatietabel en niet gewoon een voorraadgetal?
Met mutaties behoud je de volledige geschiedenis en kun je elk telverschil herleiden. Een enkel voorraadgetal aanpassen wist die geschiedenis en maakt fouten onzichtbaar.
Kan ik meerdere locaties bijhouden?
Ja. Voeg een kolom Locatie toe aan de mutaties en bereken de voorraad per locatie. Zo zie je waar elk product ligt en kun je per magazijn of schap apart tellen.
Werkt de app offline in het magazijn?
Ja. Met offlinegebruik kunnen medewerkers boeken zonder verbinding. De mutaties synchroniseren zodra er weer dekking is. Lees meer over offline gebruik.
Hoe voorkom ik dat de voorraad negatief wordt?
Bouw een Valid If-regel in op de mutatie die controleert dat een uitboeking niet meer is dan de huidige voorraad. AppSheet weigert dan een boeking die de voorraad onder nul zou brengen.
Welke kolom gebruik ik voor de barcode?
Gebruik een tekstkolom voor de barcode en zet daarop de scaninstelling aan. Markeer de kolom ook als zoekbaar, zodat een gescande code direct het juiste product vindt.
Kan ik historische verbruikscijfers zien?
Ja. Omdat elke mutatie met datum bewaard blijft, kun je per product of categorie rapporteren over verbruik per week of maand en zo je minimumvoorraad onderbouwen.
Volgende stappen
Met deze opzet heb je een werkende voorraad-app. Breid hem uit met locatieregistratie voor magazijnen op meerdere plekken, regel de beveiliging zodat iedereen alleen de eigen voorraad ziet, en deploy de app naar je team. Zo wordt voorraadbeheer een soepel, betrouwbaar proces.