Direct naar inhoud
LightInventory

Met AI vertaald uit de Engelse versie van 28 oktober 2026. Lees het origineel

Voorraadbeheer in Google Spreadsheets

Voorraad beheren in Google Spreadsheets met een mutatielogboek, werkende formules, lage-voorraadsignalen, beveiliging en geschiedenis, plus de limieten.

Laatst bijgewerkt: 28 oktober 2026

Je kunt je voorraad betrouwbaar bijhouden in Google Spreadsheets als je nooit een voorraadaantal overschrijft. Leg elke ontvangst, uitgifte, correctie en overboeking vast als nieuwe rij in een mutatielogboek, en laat formules berekenen wat er op voorraad is. Die ene ontwerpkeuze geeft je voorraad per locatie, signalen bij lage voorraad en een leesbare geschiedenis, allemaal met ingebouwde functies.

Deze gids behandelt de opzet van de spreadsheet, de formules, gegevensvalidatie, beveiliging, geschiedenis en de limieten van Google Spreadsheets die ertoe doen. Hij sluit af met een eerlijke blik op waar Google Spreadsheets alleen niet meer genoeg is.

De spreadsheet opzetten

Gebruik één spreadsheet met drie tabbladen. Elk tabblad heeft één taak.

TabbladEén rij isJe bewerkt het als
ItemsEén product of onderdeelJe een artikel toevoegt of de gegevens ervan wijzigt
LocationsEén magazijn, ruimte, schap of busJe een locatie toevoegt of hernoemt
MovementsEén voorraadwijzigingEr iets binnenkomt, uitgaat of verplaatst wordt

De tabbladnamen blijven hier Engels, omdat de formules verderop precies deze namen gebruiken. Hernoem je de tabbladen, pas de formules dan op dezelfde manier aan.

Items

KolomKopVoorbeeldOpmerkingen
ASKUBOLT-M8-40Uniek, nooit hergebruikt. Stel de kolom in als platte tekst
BNaamZeskantbout M8 × 40 mm
CEenheiddoosDe eenheid die elke mutatie gebruikt
DBestelpunt20Bereikt de voorraad dit niveau, bestel dan bij
EOp voorraad(formule)Nooit met de hand ingevuld
FStatus(formule)Reorder of OK

Locations

KolomKopVoorbeeld
ALocatieWH1
BNaamHoofdmagazijn

Movements: het logboek

KolomKopVoorbeeldOpmerkingen
ADatum2026-10-28Een echte datumwaarde, geen tekst
BSKUBOLT-M8-40Dropdownmenu uit Items
CLocatieWH1Dropdownmenu uit Locations
DAantal-5Positief verhoogt de voorraad, negatief verlaagt hem
ETypeIssueReceive, Issue, Adjust of Transfer
FReferentiePO-1042Inkooporder, opdracht of tellijst
GIngevoerd doorSamWie de mutatie heeft vastgelegd
HNotitieBeschadigd tijdens transportWaarom, als dat niet vanzelf spreekt

Een overboeking bestaat uit twee rijen: -5 op de bronlocatie en +5 op de bestemming, allebei met type Transfer en dezelfde referentie. Een telling die 3 minder vindt dan verwacht, is één Adjust-rij met -3.

Waarom een logboek waaraan je alleen toevoegt beter werkt dan een aantalkolom

De meest gebruikte voorraadspreadsheet heeft één kolom “Aantal” die mensen overschrijven. Dat werkt tot er iets misgaat, en dan kan de spreadsheet je niet vertellen wat er is gebeurd.

  • Een overschreven getal vertelt niets. Wordt 40 ineens 25, dan zegt de spreadsheet niet of er 15 zijn verkocht, kwijtgeraakt of verkeerd geteld. Een logboekrij zegt -15, Issue, JOB-311, met een datum en een naam.
  • Twee mensen kunnen niet veilig één getal bewerken. Pakken twee mensen elk 5 dozen en overschrijven ze allebei 40 met 35, dan raak je een mutatie kwijt. Twee toegevoegde rijen van -5 tellen correct op.
  • Fouten herstel je door toe te voegen, niet door te wissen. Een verkeerde rij corrigeer je met een tegengestelde rij, zodat de fout en de correctie allebei zichtbaar blijven.
  • De voorraad op elke datum is één formule verwijderd. Tel de mutaties tot die datum op.
  • Voorraad per locatie krijg je er gratis bij. Dezelfde rijen geven totalen per artikel, per locatie of allebei.

De regel voor iedereen die de spreadsheet gebruikt, is simpel: voeg rijen toe aan Movements, en bewerk of verwijder nooit oude rijen.

Formules voor de actuele voorraad

Alle formules hieronder gaan uit van de indeling van tabbladen en kolommen hierboven, met koppen in rij 1.

Voorraad per artikel

In Items!E2, en dan doorvoeren naar beneden:

=SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2)

SUMIFS telt elk aantal in het logboek op waarvan de SKU overeenkomt met het artikel in die rij.

Wil je de hele kolom liever met één formule vullen, zet dan deze in Items!E2 en laat de cellen eronder leeg:

=ARRAYFORMULA(IF(A2:A="", "", SUMIF(Movements!B:B, A2:A, Movements!D:D)))

Voorraad per artikel en locatie

Voor één artikel op één locatie, bijvoorbeeld de locatie die in cel H1 van Items staat:

=SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2, Movements!$C:$C, $H$1)

Voor een volledige voorraadtabel op een eigen tabblad gebruik je QUERY. Deze formule toont elke combinatie van artikel en locatie waarvoor mutaties bestaan:

=QUERY(Movements!A1:H, "select B, C, sum(D) where B is not null group by B, C label sum(D) 'On hand'", 1)

Deze maakt van de locaties kolommen, met één rij per artikel:

=QUERY(Movements!A1:H, "select B, sum(D) where B is not null group by B pivot C", 1)

Voorraad op een eerdere datum

Om te zien wat er aan het eind van een bepaalde dag op voorraad was, bijvoorbeeld de datum in Items!H2:

=SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2, Movements!$A:$A, "<="&$H$2)

Negatieve voorraad opsporen

Een locatie kan niet minder dan nul bevatten. Deze formule toont elke combinatie van artikel en locatie onder nul, wat meestal wijst op een ontbrekende ontvangst of een typefout:

=QUERY(QUERY(Movements!A1:H, "select B, C, sum(D) where B is not null group by B, C", 1), "select * where Col3 < 0", 1)

De binnenste QUERY berekent de totalen per locatie; de buitenste houdt alleen de negatieve rijen over. Een leeg resultaat betekent dat geen enkele locatie onder nul staat.

Signalen bij lage voorraad en bestelpunten

Een statuskolom

In Items!F2, en dan doorvoeren naar beneden:

=IF(D2="", "", IF(E2<=D2, "Reorder", "OK"))

De status blijft leeg als er geen bestelpunt is ingesteld, zodat nieuwe artikelen geen vals alarm geven.

De rijen markeren die besteld moeten worden

  1. Selecteer A2:F op het tabblad Items.
  2. Klik op Opmaak → Conditionele opmaak.
  3. Kies onder Cellen opmaken als de optie Aangepaste formule is.
  4. Voer =AND($D2<>"", $E2<=$D2) in.
  5. Kies een opvulkleur en klik op Gereed.

De dollartekens zetten de kolommen vast terwijl de rij verandert, zodat de hele rij kleurt. Google merkt op dat formules voor conditionele opmaak alleen naar hetzelfde blad kunnen verwijzen, tenzij je INDIRECT gebruikt. Daarom staan de voorraad en het bestelpunt naast elkaar op het tabblad Items.

Met dezelfde functie kun je logboekrijen markeren waarvan het teken niet past bij het type. Selecteer A2:H op Movements en gebruik:

=OR(AND($E2="Receive", $D2<0), AND($E2="Issue", $D2>0))

De basis van een bestelpunt

Een bestelpunt beantwoordt één vraag: hoe laag mag de voorraad worden voordat je moet bestellen, zodat de nieuwe levering binnen is voordat je zonder zit? De basisformule is:

Bestelpunt = gemiddeld dagverbruik × levertijd in dagen + veiligheidsvoorraad

  • Gemiddeld dagverbruik haal je uit je logboek.
  • Levertijd is het aantal dagen tussen bestellen en de voorraad op het schap hebben.
  • Veiligheidsvoorraad is de buffer voor trage leveringen of drukke weken.

Voeg drie hulpkolommen toe aan Items: G “Gem. dagverbruik (30 dagen)”, H “Levertijd (dagen)” en I “Veiligheidsvoorraad”. In G2:

=-SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2, Movements!$E:$E, "Issue", Movements!$A:$A, ">="&(TODAY()-30))/30

Het minteken maakt van de negatieve Issue-aantallen een positief verbruik. Stel daarna het bestelpunt in D2 in:

=ROUNDUP(G2*H2 + I2, 0)

Een voorbeeld: een artikel waarvan je 4 dozen per dag gebruikt, met een levertijd van 5 dagen en 10 dozen veiligheidsvoorraad, heeft een bestelpunt van 4 × 5 + 10 = 30. Bekijk levertijden en veiligheidsvoorraad opnieuw als leveranciers of seizoenen veranderen; de formule is maar zo goed als die twee invoerwaarden.

Gegevensvalidatie en dropdownmenu's

Dropdownmenu's voorkomen de typefouten waar SUMIFS en QUERY op stuklopen: een SKU met een spatie aan het eind of een locatie die op twee manieren is geschreven, levert nooit een overeenkomst op.

Een dropdownmenu uit een bereik toevoegen

  1. Selecteer op Movements het bereik B2:B.
  2. Klik op Gegevens → Gegevensvalidatie → Regel toevoegen.
  3. Kies onder Criteria de optie Dropdownmenu (van een bereik) en voer Items!A2:A in.
  4. Klik op Gereed.

Herhaal dit voor C2:C met Locations!A2:A. Kies voor E2:E de optie Dropdownmenu en voeg de items Receive, Issue, Adjust en Transfer toe. Google biedt ook Invoegen → Dropdownmenu en via de rechtermuisknop de optie Dropdownmenu; ze openen allemaal hetzelfde deelvenster Regels voor gegevensvalidatie.

Weigeren of waarschuwen

Standaard weigert Google Spreadsheets een invoer die niet in de lijst staat. Wil je die toch toestaan met een waarschuwing, open dan Geavanceerde opties en selecteer onder Als de gegevens ongeldig zijn, het volgende doen: de optie Een waarschuwing tonen. Laat bij een voorraadlogboek het weigeren aan staan: een mutatie met een onbekende SKU is bijna altijd een fout.

Voeg ook een validatieregel toe op D2:D die alleen getallen accepteert, en op A2:A die alleen datums accepteert. Een aantal dat als tekst is ingevoerd, wordt door SUMIFS genegeerd, zodat de voorraad ongemerkt fout blijft.

Bereiken beveiligen en zorgvuldig delen

Rechten in Google Spreadsheets hebben twee lagen, en allebei zijn ze belangrijk.

  1. Delen bepaalt wie het bestand kan openen en of iemand Kijker, Reageerder of Bewerker is. Je stelt het in via Delen, en het geldt voor het hele bestand.
  2. Beveiligde bladen en bereiken beperken wat bewerkers binnen het bestand kunnen wijzigen.

Beveilig wat niemand mag overschrijven

  1. Klik op Gegevens → Bladen en bereiken beveiligen.
  2. Klik op Een blad of bereik toevoegen.
  3. Kies Bereik en selecteer Items!E2:F (de formulekolommen).
  4. Klik op Rechten instellen.
  5. Selecteer Beperken wie dit bereik kan bewerken, kies Alleen jij en klik op Klaar.

Beveilig het hele tabblad Locations op dezelfde manier als de lijst zelden verandert. Op Movements moeten mensen rijen kunnen toevoegen, dus daar past een strikte beveiliging niet. Gebruik in plaats daarvan Een waarschuwing weergeven wanneer dit bereik wordt bewerkt op de bestaande rijen; dan moeten mensen bevestigen voordat ze de geschiedenis wijzigen.

Weet wat beveiliging niet doet. Google schrijft: “Gebruik deze functionaliteit niet als beveiligingsmaatregel.” en “Mensen kunnen kopieën van een beveiligde spreadsheet afdrukken, kopiëren en plakken, importeren en exporteren.” De eigenaar kan een beveiligd bereik altijd bewerken, en je kunt gegevens niet met een wachtwoord beveiligen. De stappen in detail vind je in Een blad of bereik beveiligen.

Deel met de kleinst mogelijke rol

  • Geef Kijker aan mensen die alleen de voorraad hoeven op te zoeken.
  • Geef Bewerker alleen aan mensen die mutaties vastleggen.
  • In de deelinstellingen van Google kun je voorkomen dat bewerkers het bestand verder delen, zoals beschreven in Bestanden delen vanuit Google Drive.

Versiegeschiedenis en bewerkingsgeschiedenis van cellen

Google Spreadsheets houdt twee soorten geschiedenis bij: versies van het hele bestand en de bewerkingsgeschiedenis van één cel. Je kunt de versiegeschiedenis niet zien zonder rechten om het bestand te bewerken.

Versiegeschiedenis

Klik rechtsboven in de spreadsheet op Laatste bewerking om eerdere versies te zien. Kies een versie in het deelvenster rechts om te zien wie wat heeft gewijzigd. Standaard verbergt Google Spreadsheets ongewijzigde rijen; klik op Ongewijzigde rijen tonen om alles te zien.

Je kunt een versie herstellen of er een kopie van maken. Als je een versie van een spreadsheet herstelt, wordt de bewerkingsgeschiedenis per cel gewist voor wijzigingen van vóór het herstel. Voor een druk gebruikt voorraadbestand is een kopie dus meestal de veiligere keuze. Zie Een eerdere versie herstellen.

Je kunt tot 15 versies per spreadsheet een naam geven, en versies met een naam worden niet samengevoegd. Geef na elke telling een versie een naam, bijvoorbeeld “Telling 2026-10-31”, zodat je er altijd naar terug kunt.

Bewerkingsgeschiedenis van een cel

Klik met de rechtermuisknop op een cel en kies Bewerkingsgeschiedenis tonen om te zien wie die cel heeft gewijzigd. Google noemt wijzigingen die daar mogelijk niet verschijnen:

  • toegevoegde of verwijderde rijen en kolommen;
  • wijzigingen in de celopmaak;
  • wijzigingen van vóór het herstellen van een eerdere versie;
  • wijzigingen door formules.

Dat laatste punt is belangrijk voor een spreadsheet die op formules draait: de cellen in de kolom “Op voorraad” veranderen via formules, dus hun bewerkingsgeschiedenis verklaart geen nieuw getal. De logboekrijen doen dat wel. Meer details vind je in Zien wie een cel heeft gewijzigd.

Meldingen bij wijzigingen

Klik op Tools → Instellingen voor meldingen → Meldingen bewerken om een e-mail te krijgen als anderen de spreadsheet wijzigen, direct of als dagelijks overzicht. Google merkt op dat je alleen voor jezelf meldingen kunt instellen.

Limieten van Google Spreadsheets om rekening mee te houden

Dit zijn de limieten die Google documenteert, gecontroleerd op 28 oktober 2026. De volledige lijst, met wat je kunt doen als je in de buurt van een limiet komt, staat in Limieten van Google Spreadsheets voor voorraadbeheer.

LimietWat Google documenteert
Cellen per spreadsheetTot 20 miljoen cellen of 100 MB voor spreadsheets die in Google Spreadsheets zijn gemaakt of ernaar zijn geconverteerd (bestandslimieten van Drive). Google verhoogde dit in september 2026 van 10 miljoen (Workspace Updates)
Mensen die tegelijk bewerkenEen Google-bestand kan via maximaal 100 geopende tabbladen of apparaten tegelijk actief worden bewerkt (limieten voor delen)
DelenTot 600 afzonderlijke e-mailadressen per bestand (limieten voor delen)
Versies met een naamTot 15 per spreadsheet (versiegeschiedenis)
IMPORTRANGEMaximaal 10 MB ontvangen gegevens per verzoek; controleert elk uur op updates zolang het document open is (IMPORTRANGE)

Een logboek groeit met één rij per mutatie. Bij 8 kolommen voegen 1.000 mutaties per maand 8.000 cellen per maand toe, ongeveer 96.000 per jaar. De meeste kleine teams halen de cellimiet nooit, maar grote bestanden worden al lang daarvoor traag. Archiveer afgesloten jaren in een apart bestand en neem het eindsaldo over als één Adjust-rij per artikel en locatie.

Wanneer Google Spreadsheets alleen niet meer genoeg is

De opzet hierboven werkt goed voor een paar zorgvuldige mensen. Groeit het team, dan gaan deze gaten tijd of geld kosten.

  • Gelijktijdige bewerkingen. Google Spreadsheets toont bewerkingen live, maar niets houdt twee mensen tegen die dezelfde rij wijzigen, of iemand die het logboek sorteert terwijl een ander typt. Niets controleert een wijziging voordat ze wordt doorgevoerd.
  • Geen goedkeuringen. Elke bewerker kan een correctie van 500 stuks vastleggen of een bestelpunt wijzigen. Er is geen stap waarin een tweede persoon dat eerst beoordeelt.
  • Geschiedenis die lastig te controleren is. Versiegeschiedenis wordt gegroepeerd en revisies worden soms samengevoegd. De bewerkingsgeschiedenis van cellen slaat formuleresultaten, ingevoegde en verwijderde rijen en opmaakwijzigingen over, en een herstel wist haar. De eigenaar van een bestand in een persoonlijk Google-account kan de versies zonder naam definitief verwijderen. Niets bewijst dat de geschiedenis die je ziet volledig is.
  • Per ongeluk overschrijven. Eén keer plakken over het verkeerde bereik of te ver doorvoeren naar beneden, en honderden logboekrijen veranderen tegelijk. Versiegeschiedenis kan het herstellen, als iemand het opmerkt.
  • Rechten gelden per bestand. Een bewerker kan elk tabblad en elke locatie bewerken, tenzij je met de hand beveiligingen instelt, en beveiliging is volgens Google zelf geen beveiligingsmaatregel. Je kunt niet zeggen: “Deze persoon legt alleen mutaties vast voor het magazijn Noord.”
  • Regels bestaan alleen in hoofden. “Bewerk nooit oude rijen” en “vul altijd een referentie in” zijn afspraken. De spreadsheet dwingt ze niet af.

Klinkt dit bekend, dan heb je drie opties: het risico accepteren, overstappen op een apart voorraadsysteem, of de spreadsheet houden en er controle bovenop zetten.

Hoe LightInventory controle toevoegt aan dezelfde spreadsheet

LightInventory is een voorraadapp die bovenop een Google-spreadsheet van jezelf draait. De app is in ontwikkeling en nog niet algemeen beschikbaar. Hij gebruikt dezelfde logboekopzet als deze gids en dwingt de regels hierboven af, in plaats van ze aan afspraken over te laten.

  • Je gegevens blijven in je spreadsheet. Artikelen, locaties, mutaties en het wijzigingslogboek zijn tabbladen in je eigen spreadsheet. Stop je met LightInventory, dan houd je het bestand.
  • Elke wijziging wordt vastgelegd. Elke wijziging wordt naar een tabblad Log geschreven, met wie hem deed, wanneer, de waarde ervoor en de waarde erna. Fouten worden hersteld met een compenserende regel, nooit door geschiedenis te wissen.
  • Geschiedenis waarin geknoei opvalt. Een hashketen met geheime sleutel over het logboek, zonder je waarden, wordt buiten je bestand opgeslagen en extern verankerd, zodat een stiekem bewerkte of verwijderde logboekrij bij de controle opvalt. Zie de audittrail.
  • Goedkeuringen. Je kiest welke wijzigingen goedkeuring nodig hebben, bijvoorbeeld prijswijzigingen. De beoordelaar kan niet dezelfde persoon zijn als degene die de wijziging aanvroeg.
  • Rollen. Eigenaar, Beheerder, Goedkeurder, Bewerker en Lezer, met een optionele beperking tot bepaalde locaties voor Bewerkers en Lezers. Teamleden werken in de app en worden niet aan het bestand toegevoegd, tenzij de eigenaar hun directe bewerkrechten geeft.
  • Detectie van directe bewerkingen. Bewerkt iemand de spreadsheet rechtstreeks, dan merkt LightInventory de wijziging op en handelt die af volgens jouw beleid: blokkeren tot een eigenaar haar overneemt of de vorige stand herstelt, automatisch vastleggen, of doorsturen voor goedkeuring.

Er is een Free-abonnement voor 1 gebruiker en 1 spreadsheet. Team kost € 2,99 per gebruiker per maand bij maandelijkse facturering, of € 2,49 bij jaarlijkse facturering, exclusief belasting. De details staan bij prijzen, en hoe we met je gegevens en toegang omgaan, lees je bij beveiliging.

Meld je aan voor de wachtlijst

Probeer LightInventory als een van de eersten. We mailen je zodra de vroege toegang opengaat.

We gebruiken je e-mailadres alleen om je te informeren over LightInventory. In elke e-mail kun je je met één klik afmelden. Zo gaan we om met je e-mailadres