Sous-traiter votre fabrication

Outsourcing a portion of some or all your company’s manufacturing needs is not easy. To make it work right, you have to:

  • Manage the inventory of raw materials at your subcontractor;

  • Ship new materials to your subcontractors based on your forecasted demand;

  • Keep track of manufacturing operations done at the subcontractor location;

  • Control incoming goods quality;

  • Control subcontractors bills.

Voici un exemple de la sous-traitance de la fabrication de « C », produit à partir des matières premières « A » et « B ».

With its subcontracting feature, Odoo helps you handle this flow easily.


Pour utiliser la fonctionnalité de sous-traitance, allez à Fabrication ‣ Configuration ‣ Paramètres et cochez la case Sous-traitance.

Pour définir si un produit doit être sous-traité, utilisez une nomenclature de type sous-traitance.

To create a new BoM, go to Manufacturing ‣ Master Data ‣ Bill of Materials and hit create. Then, list the components your subcontractor needs to manufacture the product. For costing purposes, you might want to register all the components, even the ones that are sourced directly from the subcontractor.

Une fois que vous avez défini le type de nomenclature sur sous-traitance, indiquez un ou plusieurs sous-traitants.

Flux de sous-traitance de base

To let your subcontractor know how many products you need, create and send them purchase orders (PO). To do so, open the Purchase app and create a new one. Be sure to send the PO to a vendor that is defined as a subcontractor on the BoM.

Once the PO is validated (1), a pending receipt is created. When the products are received, validate the receipt (2), with the actual quantity received. Then Odoo automatically created several inventory moves:

  • Consume the components at the subcontractor’s location, based on the BoM (3);

  • Produce finished goods at the subcontractor’s location (4);

  • Move products from the subcontractor’s location to YourCompany through the validated receipt (5).

Of course, Odoo does all the transactions for you, automatically. Simply control the vendor bill with the usual matching process with the purchase order.


The PO is optional. If you create a receipt manually, with the right subcontractor, Odoo still performs all the moves. Useful if the subcontractor does not bill a fixed price per item, but rather the time and materials used.

Valorisation de l’inventaire

Le coût du produit fabriqué « C » est défini comme suit :

C = A + B + s

Avec :

  • A : Coût des matières premières venant de YourCompany ;

  • B : Coût des matières premières venant directement du

    sous-traitant ;

  • s : Coût du service sous-traité.

Sending raw materials to your subcontractors (A) does not impact the inventory valuation, the components still belonging to your company. To manage this, the Subcontracting Location is configured as an Internal Location so that the components are still valued in the inventory.

Ensuite, le prix fournisseur défini sur la fiche du produit C doit correspondre à ce qui doit être payé au sous-traitant pour ses pièces et son temps de service : B + s. Le coût du produit doit être : A + B + s, c’est-à-dire la valeur du produit dans la comptabilité.

Finally, the subcontractor bill matches the purchase order, with the proposed price coming from the finished products C.


S’il n’est pas nécessaire de gérer le réassort des matières premières B chez votre sous-traitant, il suffit d’inclure le coût de B dans le prix du sous-traitant s et de supprimer les produits B de la nomenclature.


In case the products received from the subcontractor contain tracked components, their serial or lot numbers need to be specified during the receipt.

On the receipt of the subcontracted product, a Record Components button appears when necessary. Click on it to open a dialog and record the serial/lot numbers of the components. If the finished product is also tracked, its serial/lot number can be registered here too.

À des fins d’audit, il est possible de vérifier les numéros de lot enregistrés sur une réception en utilisant l’icône située à droite des produits finis :

Automatiser le réapprovisionnement des sous-traitants

To manage the resupply of your subcontractor, activate Multi-locations in Inventory ‣ Configuration ‣ Configuration. Then, the inventory at the subcontractor location can be tracked.

It is possible to resupply subcontractors by sending products from the company locations, or by sending products from another supplier to the subcontractors.

Replenishment from the warehouse

Resupplying subcontractors manually is the simplest approach. To do so, create delivery orders in which the subcontractor is set as a delivery address and fill the components to deliver.

To automate the subcontractors’ replenishment propositions, there are two approaches:

  • Reordering rules;

  • Replenish on order flow.

For the first one, just define a reordering rule on the subcontracting location, with a minimum and maximum inventory level. When the reordering rule is triggered, a delivery order is created to ship the components to the subcontractor.

The second approach is to use a “pull” flow. Here, the demand in the finished product (real demand or forecasted one through the Master Production Schedule) triggers the replenishment of the subcontractor. To do so, select the route Resupply Subcontractor on Order on the wanted components.

Replenishment from another supplier

When purchasing items to another supplier, it is possible to ask him to deliver the subcontractor directly. To do so, activate the Drop Shipping feature in Purchase ‣ Configuration ‣ Configuration.

Now, set the Dropship option in the Deliver To field of the Other Information tab. Then, provide the address of the subcontractor for the shipping.

That way, the supplier can ship items directly and you simply receive and pay the bill. However, it is still required to validate receipts for the subcontractor.

Contrôle qualité

Controlling the quality of the products manufactured by subcontractors is possible thanks to the Odoo Quality app. Quality checks can be made on a manufacturing step but, because the manufacturing process is handled by an external party, it can be defined on the product reception.

To create a quality check at the receipt, open the Quality app and create a new Control Point on the reception.

By doing so, a quality check is automatically created each time a finished product is received.