Alle artikelen

23 september 2026 · Productie

Inkoop van componenten met lange levertijden plannen in Odoo.

Met het Master Production Schedule in Odoo kun je componentinkoop vooruitplannen terwijl de assemblagevraag nog verandert. Je moet de prognose wel zelf afstemmen op werkelijke orderbehoefte en bestaande aanvulling. Dit artikel laat zien hoe je dat doet en waarom het MPS-getal Replenishment iets anders kan zijn dan de hoeveelheid die je nog moet bestellen.

Voedingsmodules in onderdelenbakken naast twee gedeeltelijk geassembleerde elektronische apparaten op een werkbank.

Een leverancier vraagt veertien weken levertijd, terwijl klanten hun apparaatconfiguratie nog wijzigen. Wachten op de definitieve assemblageorders kan dan te laat zijn. Alles alvast inkopen legt juist voorraad vast die misschien niet meer past.

Een bruikbare aanpak is om vooruit te plannen op de componenten die je vroeg moet bestellen. Maak daarbij onderscheid tussen onderdelen die in meerdere uitvoeringen passen en onderdelen die aan één specifieke uitvoering of revisie vastzitten. Bepaal per component hoeveel onzekerheid je wilt dragen voordat je de bestelling bevestigt.

Voor die vooruitblik biedt Odoo het Master Production Schedule (MPS): planning op basis van verwachte vraag en voorraadniveaus. De uitleg hieronder gaat over Odoo 19.0 Enterprise, met Productie (Manufacturing), Voorraad (Inventory) en Inkoop (Purchase). MPS is Enterprise-functionaliteit. Odoo: MPS, Odoo: edities.

Kies per component hoe je aanvult

Gebruik niet voor alle onderdelen dezelfde aanpak. Onderstaande keuzes zijn inrichtingsadvies, geen automatische classificatie door Odoo.

SituatiePassende afweging
Lange levertijd, bruikbaar in verschillende apparatenOverweeg MPS met een componentprognose en bewuste vrijgave van de inkoop.
Goed verkrijgbaar standaardonderdeel met een gewenste voorraadbufferOverweeg minimum- en maximumvoorraad via aanvulregels.
Kostbaar onderdeel voor één specifieke klantconfiguratieOverweeg inkopen op order, als de klant de bijbehorende doorlooptijd accepteert.

Odoo ondersteunt aanvulregels, aanvullen op order (Make to Order, MTO) en MPS. MTO reageert via de ingestelde routes op concrete orderbehoefte: bijvoorbeeld een verkooporder of componentbehoefte uit een bevestigde productieorder. Het maakt zelf geen prognose voor nog onbekende toekomstige vraag. Alleen voor de hier genoemde verkoopordergestuurde variant gebruik je ook Verkoop (Sales). Odoo: inkopen op order, Odoo: aanvulling vanuit productieorders.

Gebruik geen aanvulregels naast MPS voor hetzelfde product: Odoo waarschuwt voor onjuiste prognoses en onnodige aanvulling. Controleer ook aanwezige MTO-routes voordat je een component via MPS gaat plannen. Odoo: MPS-waarschuwing, Odoo: aanvullingsmethoden.

Richt een beperkte componentplanning in

Begin bijvoorbeeld met de vijf componenten die de assemblagestart het vaakst bepalen. Je hoeft daarvoor nog niet de volledige toekomstige productmix vast te zetten.

  1. Gebruik voor MPS de standaardrol Productie / Administrator en zorg voor passende Inkooprechten om de aanvragen te beoordelen en te bevestigen. Odoo-broncode: MPS-rechten. Laat iemand met Instellingenrechten via Productie → Configuratie → Instellingen Master Production Schedule activeren en de standaardperiode en het aantal perioden instellen. Neem als werkafspraak een horizon die verder reikt dan de langste inkoopdoorlooptijd, inclusief je eigen beslisruimte.
  2. Gebruik componenten van type Goods met Track Inventory ingeschakeld; voor het telvoorbeeld volstaat By Quantity. Controleer de beginvoorraad in het juiste magazijn. Vink Purchase aan en leg op het tabblad Purchase leverancier en prijs vast. Open Productie → Planning → Master Production Schedule. Kies bij Add a Product de component, Route → Buy, de leverancier en, indien zichtbaar, het juiste magazijn. Odoo: voorraadregistratie.
  3. Kies voor deze aanpak Replenishment Trigger → Manual. Stel een bewuste Safety Stock Target in en voer de verwachte componentvraag per periode in bij Forecasted Demand.
  4. Toon via het zoekmenu ook Actual Demand, Indirect Actual Demand en Actual Replenishment. Voer vóór bestellen de controles hieronder uit. Zet de weergave op de bij de inrichting gekozen Default Time Range; bij een andere periodeschaal zijn de Order-knoppen verborgen. Odoo-broncode: periodekeuze, algemene Order-knop. Gebruik voor één component Order op de productregel: die vult de eerste periode met een aanvullend tekort aan. Controleer welke periode wordt gemarkeerd en of eerdere perioden nog behoefte hebben. De algemene Order-knop bovenaan selecteert op doorlooptijd en kan meerdere producten en perioden aanvullen. Bij Buy wordt een offerteaanvraag (RFQ) aangemaakt of een passende bestaande aanvraag aangevuld. Controleer de toename van de aangevraagde hoeveelheid, ook als een bestaande RFQ wordt aangevuld; bevestigen is een afzonderlijke stap. Is aanvullende inkoopgoedkeuring ingesteld en voor deze order vereist, dan volgt de ontvangstorder pas na die goedkeuring. Odoo-broncode: inkoopgoedkeuring, aanmaken ontvangst. Odoo: MPS-inrichting, Odoo: offerteaanvragen, Odoo-broncode: knopkeuze.

Laat prognose en werkelijke vraag op elkaar aansluiten

Kies bewust waar je de verwachte assemblagevraag vastlegt. Plan je alleen de component, dan kun je de verwachte aantallen apparaten naar componenten omrekenen en als Forecasted Demand invoeren. Plan je ook bovenliggende producten in MPS, dan kan hun geplande aanvulling via de stuklijst en doorlooptijden doorwerken als Indirect Demand Forecast. Voeg dezelfde behoefte niet nogmaals als zelfstandige componentprognose toe.

Vergelijk per periode de totale prognose met Actual Demand en Indirect Actual Demand. Bij zelfstandige componentplanning staat jouw invoer bij directe prognose, terwijl echte componentvraag uit productieorders bij indirecte werkelijke vraag staat. Controleer daarom de totalen én hun herkomst. Het filter Forecast Too Low vergelijkt beide soorten vraag afzonderlijk; het vervangt deze aansluiting niet.

Een bevestigde productieorder verhoogt de ingevoerde prognose niet vanzelf. Staat er 180 als componentprognose en vragen nog uit te voeren productieorders 240, dan moet je die afwijking beoordelen en de prognose zo nodig aanpassen. Tel orders die al in de prognose zaten niet nogmaals erbij. Hanteer een totale periodeprognose, inclusief reeds gerealiseerde en nog verwachte vraag; trek gerealiseerd verbruik daar niet opnieuw van af. Uitgevoerd verbruik en periodeovergangen werken wel door in de voorraad.

Deze uitleg over vraagverrekening en de schermberekening hieronder is gecontroleerd in de Odoo 19.0 Enterprise-broncode (repositorytoegang vereist). Het zijn code-afleidingen, geen uitkomsten van een uitgevoerde Odoo-praktijktest.

Rekenvoorbeeld: wat gebeurt er als de vraag daalt?

Dit voorbeeld is illustratief. Twee apparaatvarianten gebruiken elk twee dezelfde voedingsmodules. Je plant alleen de component in MPS. Aan het begin van de bekeken periode zijn er 35 bruikbare modules; binnen diezelfde periode arriveren 45 reeds bestelde modules, vóór het verbruik. De gewenste eindvoorraad is 20. Er is geen andere of indirecte prognosevraag, geen handmatige overschrijving en geen afronding door minimumafname, verpakking of batchgrootte. Beide kolommen hieronder beginnen met dezelfde voorraad en dezelfde bestaande bestelling van 45. De bekeken periode is de eerste met een aanvullend tekort; we gebruiken Order op de componentregel.

Berekening voor die periode120 apparaten90 apparaten
Componentprognose: apparaten × 2240180
Beginvoorraad3535
Gewenste eindvoorraad2020
Replenishment: prognose + eindvoorraad − beginvoorraad225165
Bestaande aanvulling in dezelfde periode4545
Aanvullend bestellen: Replenishment − bestaande aanvulling180120

Neem ‘aanvullend bestellen’ niet rechtstreeks over in Replenishment. Vul je daar 180 in terwijl 45 al meetelt als inkomend, dan resteert onder deze voorwaarden slechts 135 om extra aan te vragen. Controleer Actual Replenishment en de bijbehorende documenten. Valt de ontvangst in een eerdere periode, dan werkt die door in de beginvoorraad en ziet de berekening er anders uit. Odoo-broncode: aanvullende bestelhoeveelheid.

Ook onbevestigde offerteaanvragen kunnen al als inkomende aanvulling meetellen en daardoor de aanvullende aanvraag verlagen. Actual Replenishment is dus geen bewijs van een bevestigde leverancierslevering. Controleer per document status, hoeveelheid en verwachte ontvangstdatum. Odoo-broncode: inkomende aanvulling en RFQ's.

Daalt de verwachting van 120 naar 90 apparaten nadat de aanvullende 180 modules al besteld zijn, dan is de actie anders: bespreek of je 60 modules kunt uitstellen of verminderen, of bewust voor een latere periode houdt. Een aangepaste prognose is op zichzelf geen gewijzigde afspraak met de leverancier. Controleer en verwerk de uitkomst op de betrokken order.

Verandert alleen de verhouding tussen de twee apparaatvarianten, terwijl het totaal 120 blijft, dan blijft de modulebehoefte 240. Voor een variantspecifieke behuizing moet je de gewijzigde mix wél opnieuw doorrekenen.

Controleer handmatig aangepaste aanvulhoeveelheden

Wie Replenishment zelf overschrijft, zet de automatische hoeveelheidsberekening voor die cel opzij. Een gewijzigde prognose verwijdert die overschrijving niet. Controleer daarom na een vraagwijziging of het aanvulgetal handmatig is aangepast. Herzie het bewust, of gebruik het resetkruisje om de berekende hoeveelheid terug te krijgen. Replenishment Trigger → Manual betekent iets anders: dat bepaalt de handmatige vrijgave van aanvulling. Odoo: handmatige aanpassing en reset, Odoo-broncode: voorrang van de overschrijving.

Plan terug vanaf het moment dat de component nodig is

Leg de leverancierslevertijd vast op de leveranciersregel bij het product. Odoo definieert die als de tijd tussen bevestiging van de inkooporder en ontvangst. De assemblagedoorlooptijd staat afzonderlijk op de stuklijst als Manuf. Lead Time. Odoo: levertijden.

Bij veertien weken leverancierslevertijd en één week eigen ruimte voor ontvangst en controle moet de bestelling vijftien weken vóór de assemblagestart bevestigd zijn. Rond je interne beoordeling dus eerder af. Dit is een eigen planningsafspraak, geen formule die je zonder controle aan een MPS-veld kunt gelijkstellen. Reken vanaf de benodigde componentdatum, niet pas vanaf de leverdatum van het complete apparaat.

Controleer of de voorgestelde order- en ontvangstdatums daarbij passen. De beschreven Odoo-doorlooptijden rekenen in kalenderdagen en houden op zichzelf geen rekening met weekenden, feestdagen of werkplekcapaciteit. Een berekende datum bewijst dus nog geen haalbare assemblageplanning. Odoo: doorlooptijden en beperkingen.

Maak vraagwijzigingen onderdeel van de inkoopronde

Spreek bijvoorbeeld wekelijks af welke prognose leidend is en wie inkoop mag vrijgeven. Beoordeel bij iedere wijziging:

  • Hoeveelheid en mix: verandert de totale componentbehoefte, of alleen de verdeling over apparaten?
  • Datum: is een ontvangst nog op tijd als assemblage naar voren schuift? Betrek bij uitstel ook latere perioden, zodat je verplaatste vraag niet als nieuwe vraag behandelt.
  • Bestaande verplichtingen: welke offerteaanvragen kun je aanpassen en voor welke bevestigde orders moet je eerst met de leverancier overleggen?
  • Technische bruikbaarheid: blijft het bestelde onderdeel geschikt voor de geplande uitvoering en revisie? Laat engineering dat bevestigen bij een ontwerpwijziging.

Wil je de eigen inrichting aanvullend toetsen, controleer dan in een testomgeving zowel de schermgetallen als de aangevraagde hoeveelheden. Herstel telkens dezelfde beginsituatie en probeer: meer productiebehoefte bij ongewijzigde prognose, een lagere prognose na een handmatige overschrijving, en de 45 modules achtereenvolgens als RFQ, bevestigde order en ontvangst in een eerdere periode. Controleer ook een verschuiving van de vraag naar een latere periode en het verschil tussen beide Order-knoppen, inclusief een eerdere tekortperiode en een periode buiten de doorlooptijd. De beschreven basis gebruikt standaardfunctionaliteit; voorraad aanhouden, orders wijzigen en technische alternatieven vrijgeven blijven bewuste beslissingen.

Branche: Productie

Benieuwd of we jouw vraagstuk kunnen beantwoorden?

Plan een vrijblijvend gesprek met een van onze consultants.