Kort antwoord: standaard Odoo boekt voorraadmutaties en kostprijs keurig, maar een echte fabricageboekhouding - waarbij materiaal, machine-uren en toeslagen per productiestap op onderhanden werk (WIP) worden geboekt en bij gereedmelden sluitend afgewikkeld tegen een vaste verrekenprijs - vraagt om een doordachte boekingsgang bovenop de standaard. In de video hieronder (10 minuten) laten we zien hoe wij dat aanpakken: van kostelementen en dagboeken, via de boekingen per werkorder, tot een proefsaldibalans die glad loopt en een verschilboeking die de nacalculatie per order zichtbaar maakt. Fabrieksboekhouding, productieboekhouding en kostprijsadministratie zijn andere namen voor hetzelfde principe.
Waarom onderhanden werk boeken?
Wie produceert, heeft op elk moment geld “onderweg”: papier dat al van de rol is maar nog geen brochure is, materiaal dat verbruikt is in stap een terwijl stap twee nog moet beginnen. Boek je dat niet, dan klopt je balans alleen op momenten dat er toevallig niets in productie hangt - en ontstaat je resultaat op willekeurige momenten in plaats van bij gereedmelden.
Fabricageboekhouding lost dat op met een vast principe: verbruik wordt tijdens de productie gedebiteerd op een onderhanden werk-rekening, en bij gereedmelden gecrediteerd op de bijbehorende afwikkelingsrekening. Tussen die twee rekeningen hoort het saldo nul te zijn - tenzij er werkelijk iets in productie is. Dat openstaande saldo is je onderhanden werk. Het is dezelfde controlegedachte als een kruispost: een saldo dat niet wegloopt, wijst op werk dat nog loopt (of op een fout). Dit heet ook wel het permanentiebeginsel: kosten en opbrengsten landen in de periode waarin ze horen, niet op het moment dat de factuur toevallig binnenkomt.
De vaktaal: kostensoort, kostenplaats, kostendrager
Wie ooit Boekhouden Geboekstaafd heeft doorgeworsteld, herkent de rode draad van de fabricageboekhouding: kosten stromen in drie stappen door de administratie.
- Kostensoort - wat voor kosten het zijn: papier, materiaal, machine-uren, uitbesteed werk, arbeid. In het grootboek zijn dit je kostenrekeningen.
- Kostenplaats - waar de kosten ontstaan: de drukpers, de couverteermachine, een afdeling. Elke machine of werkplek krijgt een eigen machine-uurtarief, opgebouwd uit afschrijving, onderhoud, ruimte en bezetting.
- Kostendrager - waarvoor de kosten worden gemaakt: de productieorder, en daarmee uiteindelijk het product of de klant. De kostendrager is waar voor- en nacalculatie samenkomen.
De brug tussen kostenplaats en kostendrager is de dekkingsrekening. Bij elke bewerking wordt een vooraf bepaald tarief (het machine-uurtarief of een toeslagpercentage) op de dekkingsrekening gecrediteerd en op onderhanden werk gedebiteerd: zo krijgt de order alvast zijn deel van de indirecte kosten toegerekend. Aan het eind van de periode staan daar de werkelijke kosten tegenover. Blijft er een saldo op de dekkingsrekening, dan is dat het dekkingsverschil, en dat splits je in twee stukken:
- het budgetverschil - waren de werkelijke kosten hoger of lager dan begroot?
- het bezettingsverschil - heb je meer of minder uren gedraaid dan de normale bezetting waarop het tarief is berekend? Draai je onder je normale bezetting, dan blijft een deel van je vaste kosten “ongedekt”.
Dat is precies de informatie waar een productiebedrijf op stuurt: niet alleen of een order verlies gaf, maar waarom - te duur ingekocht (budget) of te weinig gedraaid (bezetting).
Continentaal vs. Angelsaksisch. De boekingsgang in de video volgt de continentale (Europese) traditie: eerst alle kosten op kostensoort in het grootboek, dan doorverdelen via kostenplaatsen naar de kostendrager. Standaard Odoo leunt van huis uit meer richting de Angelsaksische methode (kosten direct aan de kostprijs van het product), aangevuld met analytische boekingen. Voor een echte fabricageboekhouding op vaste verrekenprijs richt je de continentale gang expliciet in - dat is wat deze aanpak toevoegt.
De bouwstenen: kostelementen, dagboeken en koppelingen
In de inrichting die we in de video tonen, draait alles om kostelementen: per kostensoort (papier, machine-uren, toeslagen) leg je vast op welke rekeningen gedebiteerd en gecrediteerd wordt, in welk dagboek. Die kostelementen koppel je vervolgens op twee plekken aan de operatie:
- Productcategorieen (Inventory): alle papiersoorten vallen bijvoorbeeld in de categorie “papier”, en die categorie verwijst naar de boekingsgang voor onderhanden werk papier.
- Werkplekken (Manufacturing): de drukpers en de couverteermachine hebben elk hun eigen kostelement (hun eigen kostenplaats), zodat machinekosten per bewerking op de juiste rekening landen.
Bijzonder is het toeslag-kostelement: daar definieer je een opslagpercentage op een basis - in de demo 10% op het papierverbruik, als dekking voor indirecte kosten. Die toeslag wordt automatisch berekend en op de dekkingsrekening geboekt op het moment dat de bijbehorende stap gereed wordt gemeld. Geen handmatige journaalposten, geen vergeten opslagen.
Een detail bepaalt wanneer er geboekt wordt: in de stuklijst leg je per component vast in welke bewerking het verbruikt wordt (de kolom “consumed in operation”). Het papier wordt verbruikt in de stap drukken - dus daar ontstaat de onderhanden werk-boeking, niet pas aan het eind.
De boekingsgang, stap voor stap
In de video volgen we een productieorder van 1.000 stuks door twee bewerkingen (drukken en couverteren) - een drukkerij-voorbeeld, maar het principe is voor elke productievloer hetzelfde:
- Werkorder “drukken” gereed - er ontstaan direct drie boekingen: onderhanden werk papier aan papier (de materiaalwaarde), de automatische 10%-toeslag op de dekkingsrekening, en onderhanden werk productie aan dekking productie (de machinekosten tegen machine-uurtarief). Alles is meteen zichtbaar in de proefsaldibalans.
- Werkorder “couverteren” gereed - zelfde principe voor de tweede stap: materiaal, halffabricaat en productiekosten erbij geboekt.
- Productieorder afronden (“produce all”) - het gereed product wordt tegen de vaste verrekenprijs (de voorcalculatie) op voorraad geboekt, en het verschil met de werkelijke productiekosten gaat naar een verschillenrekening. In de demo een negatief verschil: de productie was duurder dan de calculatie - de nacalculatie in een enkele boeking, per order.
- Leveren en factureren - de levering wordt gevalideerd, de factuur bevestigd, en de omzet verschijnt in de balans.
Het bewijs zit in de proefsaldibalans aan het eind: elke onderhanden werk-rekening valt weg tegen zijn afwikkelingsrekening (debet 50, credit 50), en wat overblijft is het resultaat - opgebouwd uit omzet, kostprijs tegen verrekenprijs en het efficiency-verschil. Loopt er nog een order, dan zie je exact voor welk bedrag. Zo wordt het grootboek een spiegel van de fabriek: wat op de vloer gebeurt, staat op datzelfde moment in de cijfers.
Analyseren: van proefsaldibalans naar nacalculatie per klant
Dezelfde cijfers zijn ook vanuit productieperspectief te bekijken: Manufacturing → Reporting → Cost analysis toont wat er in de boekhouding staat, maar dan met doorklik naar de onderliggende productieorders. Daarmee is een nacalculatie per productieorder te bouwen, en zelfs per klant - handig als je wilt weten aan welke orders of klanten je werkelijk verdient. De voorcalculatie zit al in de verrekenprijs; het verschil is je nacalculatie, zonder een aparte urenadministratie naast je boekhouding.
Eerlijk over de status en over standaard Odoo
Twee eerlijkheden horen hierbij.
Over standaard Odoo. Odoo werkt van huis uit met een centrale WIP-rekening per productieorder en boekt de kostprijs bij gereedmelden. Dat is voor veel bedrijven prima. Wil je fijnmazig onderhanden werk per bewerkingsstap, met aparte dekkingsrekeningen per kostensoort en een expliciete verschilanalyse op vaste verrekenprijs, dan is dat geen standaardknop. De kostensplitsing naar kostensoort en kostenplaats is in standaard Odoo vooral een rapportage- en analytische vraag, niet een grootboekvraag - de aanpak in de video verlegt een deel daarvan bewust naar het grootboek, omdat sommige bedrijven (en accountants) dat nu eenmaal in de boeking zelf willen zien.
Over deze demo. Wat de video toont is een eerste versie van deze inrichting, gebouwd als demonstratie van het principe. Arbeidskosten en uitbesteed werk zitten nog niet in de demo (beide zijn met standaard-Odoo-middelen in te richten - voor uitbesteding zie ook uitbesteding met behoud van traceability), en randgevallen zoals het annuleren of onderbreken van een productieorder vragen nog afwerking. De definitieve inrichting - welke kostelementen, welke toeslagen, welk rekeningschema - bepalen we per bedrijf tijdens de implementatie, fit-gap eerst. Zo hoort maatwerk op de boekhouding ook te ontstaan: eerst het principe bewijzen, dan pas bouwen voor productie.
Veelgestelde vragen
Wat is fabricageboekhouding? De administratieve kant van produceren: materiaalverbruik, machine-uren en toeslagen worden tijdens de productie op onderhanden werk geboekt en bij gereedmelden afgewikkeld naar voorraad gereed product. Je balans toont op elk moment wat er in productie zit. Fabrieksboekhouding, productieboekhouding en kostprijsadministratie zijn andere namen voor hetzelfde.
Wat is het verschil tussen voorcalculatie en nacalculatie? Voorcalculatie is de vooraf berekende kostprijs (waarmee je offreert en die je als vaste verrekenprijs gebruikt); nacalculatie is wat de order werkelijk kostte. Het verschil tussen beide - het budget- en bezettingsverschil - komt in deze boekingsgang automatisch op een verschillenrekening, per order.
Wat is een dekkingsrekening en een bezettingsverschil? De dekkingsrekening vangt de vooraf toegerekende indirecte kosten (via toeslag of machine-uurtarief) op. Het saldo dat overblijft is het dekkingsverschil, te splitsen in een budgetverschil (werkelijke kosten vs. begroot) en een bezettingsverschil (gedraaide uren vs. normale bezetting).
Doet Odoo standaard onderhanden werk-boekingen per productiestap? Standaard boekt Odoo voorraadmutaties en kostprijs bij gereedmelden, met een centrale WIP-rekening per order. Fijnmazig onderhanden werk per bewerkingsstap met toeslagen en dekkingsrekeningen richt je in met een aanvullende module, zoals in de video.
Hoe werkt een vaste verrekenprijs in Odoo-productie? Gereed product wordt tegen de vaste verrekenprijs op voorraad geboekt; het verschil met de werkelijke productiekosten komt op een verschillenrekening. Zo zie je per periode en per order of je calculatie klopt.
Kan ik toeslagen automatisch laten meeboeken? Ja - per kostelement definieer je een percentage op een basis (bijvoorbeeld 10% op materiaalverbruik als dekking). De boeking gebeurt automatisch bij gereedmelden van de stap.
Kan ik het productieresultaat per order of per klant analyseren? Ja, via manufacturing cost analysis, met doorklik naar de onderliggende productieorders - de basis voor een nacalculatie per order en per klant.
Waarom vallen de onderhanden werk-rekeningen tegen elkaar weg? Elke debitering tijdens productie wordt bij gereedmelden gecrediteerd op de afwikkelingsrekening. Saldo nul betekent: niets meer in productie. Een openstaand saldo is je onderhanden werk - de ingebouwde controle van deze boekingsgang.
Wil je weten hoe fabricageboekhouding er voor jouw productie uit zou zien? Plan een gratis Odoo-scan - dan lopen we je productiestappen, kostenplaatsen en calculatie door en zijn we eerlijk over wat standaard kan en waar inrichting of maatwerk nodig is.
Meer lezen: Nacalculatie: van voorcalculatie naar werkelijke kostprijs · Odoo voor productiebedrijven · Kan Odoo je productievloer aansturen? · Uitbesteding met behoud van traceability · Software voor bouwbedrijven · Software voor installatiebedrijven · Wat kost een Odoo-implementatie? · De TARGET-methode