Voorraadwaardering FIFO voor webshops: live laagjes
Eind december. De accountant vraagt om een voorraadlijst per artikel, met inkoopwaarde per stuk. Je opent het exportscherm van het WMS, plakt het in Excel, en begint met VLOOKUPs naar inkoopfacturen van de afgelopen acht maanden. Drie dagen later klopt het ongeveer — en dat "ongeveer" is precies waarom FIFO als eindejaar-exercitie geen werkbaar systeem is.
Onderstaand een praktische handleiding voor controllers die FIFO live willen bijhouden via voorraadlaagjes uit ontvangsten, in plaats van achteraf reconstructie. We gaan in op de boekhoudkundige logica, de datavereisten, en wat dit concreet betekent voor je maandafsluiting.
Waarom FIFO bij webshops vrijwel altijd de juiste keuze is
FIFO (First In, First Out) gaat ervan uit dat de oudste voorraad als eerste verkocht wordt. Voor fysieke producten met een houdbaarheidsdatum, modecollecties of elektronica met snelle prijsdaling sluit dat aan op de werkelijkheid. Voor andere goederen is het op zijn minst een verdedigbare benadering.
De Belastingdienst accepteert FIFO als bestendige gedragslijn voor de jaarrekening, mits je consequent toepast. Wisselen tussen FIFO, gemiddelde inkoopprijs (GIP) of LIFO van jaar tot jaar is geen optie zonder gegronde reden.
Voor webshops met inkopen in vreemde valuta of fluctuerende inkoopprijzen levert FIFO bovendien een nauwkeuriger beeld van de marge. Een voorbeeld: koop je 1.000 stuks van een artikel in maart à €4,20 en 1.000 stuks in september à €5,80, dan is de gemiddelde inkoopprijs €5,00 — maar als je in oktober nog uit de maart-batch verkoopt, is je werkelijke COGS €4,20. Het verschil van €0,80 per stuk is geen ruis, dat is je marge.
Het probleem met de eindejaar-aanpak
De gangbare praktijk in veel MKB-webshops: een keer per jaar, vaak onder druk van de accountant, wordt de voorraad geteld en gewaardeerd. Inkoopfacturen worden teruggezocht, FIFO-lagen worden gereconstrueerd, een eindwaarde rolt eruit.
Wat hier misgaat:
- Tussentijdse marge is een schatting. Maandcijfers werken met een gemiddelde inkoopprijs of zelfs een vaste kostprijs, waardoor je werkelijke brutomarge pas in januari zichtbaar wordt.
- Voorraadafboekingen zijn niet traceerbaar. Een breuk, retour of weggegooid product wordt afgeboekt tegen "de" inkoopprijs — welke laag dat raakt is onduidelijk.
- De accountantscontrole is duur. Reconstructie achteraf kost uren tegen een uurtarief van €110-€140. Voor een webshop met 800 SKU's loopt dat snel op.
- Fouten in de openingsbalans planten zich voort. Een verkeerd ingeschatte voorraadwaarde van €15.000 verandert je winst met datzelfde bedrag — en daarmee je VPB-aanslag.
Wat een live FIFO-laagjes-systeem precies doet
In een live systeem ontstaat bij elke goederenontvangst een nieuwe voorraadlaag. Die laag bevat: SKU, aantal ontvangen, inkoopprijs per stuk (inclusief eventuele invoerkosten), datum, en referentie naar de inkoopfactuur.
Bij elke verkoop wordt vervolgens van de oudste nog niet leeggehaalde laag afgeboekt, totdat het verkochte aantal bereikt is. Klinkt simpel — en dat is het ook, mits de data klopt.
Een vereenvoudigd voorbeeld voor SKU "T-shirt-zwart-M":
| Datum | Type | Aantal | Prijs/stuk | Laagsaldo |
|---|---|---|---|---|
| 04-03 | Ontvangst | +200 | €6,20 | Laag A: 200 × €6,20 |
| 18-04 | Verkoop | -50 | (uit A) | Laag A: 150 × €6,20 |
| 02-06 | Ontvangst | +300 | €6,80 | Laag A: 150, Laag B: 300 × €6,80 |
| 12-07 | Verkoop | -180 | (150 uit A + 30 uit B) | Laag B: 270 × €6,80 |
De COGS van de verkoop op 12-07: (150 × €6,20) + (30 × €6,80) = €1.134. Voorraadwaarde na deze verkoop: 270 × €6,80 = €1.836. Geen schatting, geen reconstructie.
Wat je nodig hebt om dit werkend te krijgen
Vier datapunten moeten op orde zijn. Laat er één weg, en het systeem produceert onzin.
1. Inkoopprijs per ontvangst, niet per artikel. Veel webshop-systemen onthouden alleen de "huidige" inkoopprijs. Voor FIFO moet je per ontvangst de prijs vastleggen die op die specifieke factuur stond. Inclusief koersverschil bij vreemde valuta.
2. Bijkomende kosten in de inkoopprijs. Vrachtkosten, invoerrechten, inklaringskosten en eventuele anti-dumpheffingen horen bij de kostprijs van de voorraad. De richtlijnen voor jaarverslaggeving (RJ 220) zijn hier expliciet over: alle kosten om het product op locatie en in verkoopbare staat te krijgen tellen mee. Een container uit China van €4.200 over 8.000 stuks is €0,525 per stuk — niet verwaarloosbaar.
3. FIFO-volgorde gekoppeld aan ontvangstdatum, niet besteldatum. Een PO van februari die pas in mei binnenkomt, vormt een mei-laag. Wat boekhoudkundig telt is wanneer het risico op de voorraad overgaat.
4. Synchronisatie tussen voorraadbewegingen en grootboek. Elke laag-mutatie moet een corresponderende grootboekboeking hebben — debet voorraad / credit crediteuren bij ontvangst, debet COGS / credit voorraad bij verkoop. Loopt dat uit de pas, dan klopt je balans niet meer.
Speciale gevallen die controllers vaak vergeten
Retouren. Een teruggekomen product moet idealiter terug naar de laag waaruit het kwam. In de praktijk is dat vaak niet meer te achterhalen, dus pragmatisch: terug naar de oudste nog actieve laag, of een aparte retour-laag tegen laatst-bekende kostprijs.
Bundels en kits. Verkoop je een set van drie producten als één SKU, dan moet de FIFO-afboeking op componentniveau gebeuren. Anders waardeer je de set tegen een verzonnen kostprijs.
Voorraadcorrecties na telling. Een tekort van 12 stuks bij de jaartelling: tegen welke laag boek je dat af? Beste praktijk is naar rato over de aanwezige lagen, gewogen naar aantal. Documenteer de keuze in je grondslagen-paragraaf.
Demo-, marketing- en weggeefvoorraad. Producten die uit voorraad gaan zonder verkoop (influencer-pakketten, beurssamples) zijn ook een uitboeking. Tegen FIFO-prijs, geboekt op een aparte grootboekrekening voor marketingkosten — niet stilletjes uit de voorraadtelling laten verdwijnen.
De link met je BTW-aangifte en winstbepaling
FIFO-laagjes hebben directe doorwerking op meer dan alleen je voorraadwaarde. Je COGS-cijfer per maand wordt nauwkeurig, wat de basis vormt voor reële tussentijdse winstberekeningen. Voor de BTW-aangifte op kwartaalbasis is dit indirect relevant: hoewel BTW per factuur wordt aangegeven, helpen kloppende voorraadwaardes bij het detecteren van ontbrekende inkoopfacturen — een voorraadlaag zonder onderliggende factuur is een rode vlag.
Voor de aangifte vennootschapsbelasting telt de voorraadwaarde per 31-12 als balanspost. Een afwijking van 5% op een voorraad van €400.000 betekent €20.000 verschil in winst, en bij 25,8% VPB tarief €5.160 verschil in belasting. Dit is geen detail.
Hoe Cloutyx hierbij helpt
In de <a href="https://cloutyx.com/finance">finance-module</a> van Cloutyx ontstaat bij elke goederenontvangst automatisch een FIFO-laag, gekoppeld aan de inkoopfactuur en eventuele bijkomende kostenregels. Bij elke verkoop wordt direct afgeboekt van de oudste laag, en de COGS-boeking loopt synchroon mee in het grootboek. Voor inkopers en magazijn-collega's is dit zichtbaar in de <a href="https://cloutyx.com/purchasing">purchasing-module</a>, waar inkooporders, ontvangsten en de resulterende voorraadlagen in één weergave staan. Geen export naar Excel meer, geen reconstructie in januari.
Conclusie
Drie dingen om volgende week te doen, ongeacht welk systeem je nu gebruikt:
- Controleer of je huidige systeem inkoopprijs per ontvangst vastlegt of alleen "current cost" per SKU. In het laatste geval reconstrueer je elk jaar opnieuw.
- Maak een lijst van bijkomende kosten die je nu níet in de voorraadwaarde meeneemt. Vracht, invoerrechten, inklaringskosten — bereken het totaal over 2025 en deel dat op je COGS. Daar zit vaak 3-7% margedistortie.
- Stem met je accountant af welke FIFO-grondslag je hanteert voor retouren, breuk en marketingvoorraad. Leg dit vast als bijlage bij je grondslagen, niet ergens in een mail-thread.
Veelgestelde vragen
Mag ik halverwege het boekjaar overstappen van gemiddelde inkoopprijs naar FIFO?
In principe niet zonder toestemming van de Belastingdienst. Een overstap moet bestendig zijn en gemotiveerd; de gangbare route is per nieuw boekjaar overstappen en dit toelichten in de jaarrekening en grondslagen.
Wat is het verschil tussen FIFO en GIP voor de winstbepaling?
FIFO rekent oudste voorraad eerst af, GIP (gewogen gemiddelde inkoopprijs) middelt elke ontvangst opnieuw uit. Bij stijgende inkoopprijzen geeft FIFO een hogere voorraadwaarde en hogere winst dan GIP; bij dalende prijzen omgekeerd.
Tellen invoerrechten en vrachtkosten mee in de FIFO-inkoopprijs?
Ja. Volgens de Richtlijnen voor de Jaarverslaggeving horen alle kosten om het product op locatie en verkoopbaar te krijgen tot de kostprijs van de voorraad. Dat omvat vracht, invoerrechten, inklaring en directe inkomende handling.
Hoe ga ik om met retouren in een FIFO-systeem?
Idealiter terug naar de oorspronkelijke laag, maar in de praktijk vaak niet traceerbaar. Pragmatische aanpak: terugplaatsen in de oudste actieve laag tegen die laag-prijs, of een aparte retour-laag aanmaken tegen de laatst bekende kostprijs. Documenteer de keuze.
Hoeveel SKU's kun je realistisch met FIFO bijhouden zonder geautomatiseerd systeem?
Onder de 50 SKU's met weinig ontvangsten per maand is een spreadsheet behapbaar. Boven de 200 SKU's of bij meer dan twee ontvangsten per SKU per maand wordt handmatig FIFO foutgevoelig en kost het structureel meer dan een geïntegreerde oplossing.