If you need to subcontract the production of a product or just part of it, Odoo provides a complete configuration to manage the process efficiently.

Start by enabling Subcontracting​ in Manufacturing > Configuration > Settings > Subcontracting​. Then, create a Bill of Materials (BoM) for your product and set it up with the following:

  1. BoM Type​: Select Subcontracting.
  2. Subcontractors​: Choose the subcontractors responsible for production.
  3. Manufacturing Lead Time​: Set this for accurate production timelines.

The next steps of the configuration are influenced by two main factors:

  1. How components are supplied to the subcontractor.
  2. Where the final product needs to be delivered.

Based on how components are sourced, Odoo supports three subcontracting options:

  • Base Subcontracting: The subcontractor provides the components. In this case, there is no need to list the components in the BoM.
  • Resupply Subcontractor: Components are sent from your warehouse to the subcontractor. This requires the following routes on each of the components:
    • The Buy​ route for component procurement. Additionally, if you want to automate procurement, use MTO​ route or Reordering Rules.
    • The Resupply Subcontractor on Order​ route to send the components to the subcontractor.
  • Dropship to Subcontractor: Components are purchased and shipped directly to the subcontractor. To set this up:
    • Enable Dropshipping​ in Inventory > Configuration > Settings > Logistics​.
    • Apply the Dropship Subcontractor on Order​ route to the components.

The routes set on the final product mainly depend on its delivery location:

  1. If it is received at your warehouse, enable the Buy​ route on it. Additionally, to automate purchase order (PO) creation, apply the MTO​ route or use Reordering Rules, depending on the company's needs.
  2. If it is sent directly to the customer, use the Dropshipping​ route only.

It is very important that both the final product and components (if applicable) have a Vendor with pricing set so that Odoo can generate POs automatically. Also, ensure that the subcontractor added as a Vendor on the final product is set as a subcontractor in the BoM; otherwise, Odoo will initiate only a purchasing flow instead of subcontracting.

Now, with a few steps, you can automate your subcontracting process in Odoo.


Functional Manufacturing Odoo 18
Posts



In Odoo's Manufacturing app, when defining a Bill of Materials (BoM), you can specify which component will be used for each operation. This should ensure that when a manufacturing order is started, the system allows an operation to begin only if the required components are available.

To set this up, the following steps need to be completed in the Bill of Materials form view:

  1. Define the required operations for the BoM in the Operations​ tab.
  2. In the Components​ section, enable the Consumed in Operation​ column.
  3. Select the corresponding operation for each component.

The next time a Manufacturing Order is created for this BoM, the system will know exactly which components are needed and when, as well as which operations can be executed.

It is important to note that Odoo determines which operations are available to start based on a few parameters. If an operation does not appear in the Shop Floor interface, it could be due to the following reasons:

  1. The required components for the operation are not available.
  2. The required components for the first operation are not available. In such a case, even if the components for the second operation are available and there is no dependency between the operations, it will still be in the "Waiting for Components" state if Work Order Dependencies​ is enabled, or otherwise "Waiting for another WO.”
  3. Another operation is pending before it. By default, Odoo enforces the operation order from the BoM when the Work Order Dependencies​ feature is inactive, treating it as a dependent sequence of operations.
  4. The Manufacturing Readiness​ setting is set to: When all components are available

While these rules are mostly enforced when working from the Shop Floor interface, the statuses of operations in the Work Orders​ tab within the Manufacturing Form view can sometimes be misleading. For example, if the first work order is marked as finished from the Form view, the next work order may incorrectly show as "Ready," even if the required components are still unavailable. Additionally, when Work Order Dependencies​ is enabled, if the components for only the first operation are available, the system will incorrectly show that all operations are "Ready.”

Such inconsistencies can cause confusion. It would be beneficial if Odoo addressed these issues in future versions to ensure that operation statuses are accurately updated.

Functional Manufacturing Odoo 18
Posts

If you have a simple one-step delivery process in Odoo and your product is in stock, but your delivery is still in the "Waiting Another Operation" state, it’s likely that your delivery order is generated by the Replenish on Order (MTO) route.

The MTO route is typically used when each order that creates demand from stock needs to be directly linked to an order that supplies the stock. This creates a strong connection between the order and procurement, making it easier to track the product and its related processes.

To enable the MTO route, you will need to:

  1. Enable the Multi-Routes​ option from Inventory > Configuration > Settings​.
  2. Navigate to Inventory > Configuration > Routes​.
  3. Filter for Archived​, locate the MTO route, and unarchive it.

Once this is done, the MTO route will be available for selection on individual products.

It is important to note that when using the MTO route, even if a product is available in stock, the system will always generate a procurement order for it.

The MTO route always triggers another rule, so for it to work properly, it must be part of a process where another rule is triggered afterward. This is why the MTO route is usually combined with the Buy or Manufacture routes, depending on whether the product is purchased or produced.

While the MTO route can be convenient for products that require strong traceability, especially for high-end or expensive items that should not be kept in stock for long periods, it can be too restrictive for smaller components. In those cases, other replenishment options, such as Reordering Rules, might be more practical and efficient.

Functional Inventory Odoo 18
Posts

In Odoo, you can simplify your sales process by using Quotation Templates. The templates streamline repetitive tasks, making it easier and faster to create sales orders.

Quotation templates can be accessed via Configuration > Sales Orders > Quotation Templates​. A new template can be created by clicking the “New” button.

Each template can include:

  • List of Products/Services: Predefined items typically sold together.
  • Quotation Validity: Number of days the quote is valid from its creation date.
  • Confirmation Mail: Email template sent upon quote confirmation.
  • Company: If the template is company-specific, the company must be set.
  • Invoicing Journal: Custom journal for the sales order. If left empty, the default journal will be used.
  • Quote Calculator: Links to a Sales Order Spreadsheet Template.
  • Online Signature: Option to require a digital signature for confirmation.
  • Online Payment: If selected, the quote can only be confirmed online when the requested percentage of the payment is made.
  • Recurring Plan: Available if the subscription option is enabled. Extra fields used to specify the recurring plan are Last Forever and End After.

Additional features include the ability to suggest optional products with the existing quote and to define custom terms and conditions.

Lastly, but not least, is the Quote Builder, which is used to enhance the visual presentation of the quote and include additional information. Multiple templates can be specified and combined in the print version of the quote. This option is available only if the PDF Quote Builder​ feature is enabled in the sales configuration settings.

Once the template is set up, creating a sales order is simple: select the customer and the relevant template, and all details will be automatically populated.

Functional Odoo 18 Sales
Posts


In Odoo, you can configure default subscription settings to ensure that every new follower added to a document (e.g., Sales Order, Invoice, Task) will receive certain notifications by automatically subscribing them to specific subtypes. To set this up:

  1. Go to Settings > Technical > Discuss > Subtypes​ (Developer Mode required).
  2. Group the records by Model​.
  3. Locate the model where the subtypes need to be updated (e.g., Sales Order).
  4. Expand the group and click on the specific Subtype.
  5. Select the Default​ option.

Save your changes, and from now on, any new follower added to that document type (e.g., Sales Order) will automatically be subscribed to the subtypes marked as default. If you want to remove the default subscription, simply uncheck the Default​ option for that subtype.

Additionally, if a partner is already added as a follower to a document, you can customize their subscription settings. There are two ways to update these settings:

  1. From the document: Open the document, click on Followers​, and use the edit icon next to the follower's name to modify their subscription preferences.
  2. From the Technical settings: Go to Settings > Technical > Discuss > Followers​, search for the follower using filters like Related Document Model Name​, Related Document ID​, or Related Partner​, and update the Subtype​ field. (Developer Mode is required for this method.)

The first method is ideal for quick, individual updates, while the second is better suited for admin management.

Functional Odoo 18
Posts

In manufacturing processes, it is common for one operation to depend on the completion of a previous one. To ensure smooth workflow, it’s crucial to make sure that dependent operations are only started after their prerequisites are completed.

In Odoo, this setup can be configured in a few steps using Work Order Dependencies feature:

  1. Go to the configuration page in Manufacturing: Manufacturing > Configuration > Settings > Operations​, and enable the option Work Order Dependencies​.
  2. Navigate to the specific Bill of Materials (BoM) where you want to apply this setup. In the Miscellaneous tab, enable the Operation Dependencies​setting.
  3. Open the Operations tab of the BoM. Click on the operation that depends on another operation and use the Blocked By​ field to specify the required prerequisite operation(s). An operation can depend on multiple operations, if necessary.
  4. For better visibility, make the Blocked By​ field available in the Operations tab. This helps to provide a clear overview of the dependencies.

Once these changes are saved, any new manufacturing order created for the configured BoM will enforce the operation dependencies. Operations will remain in the state “Waiting for another WO” until all specified prerequisite operations are completed.

It is important to note that on the Shop Floor Control Panel, these dependencies are strictly enforced, ensuring smooth operation flow. In other views, however, operations are in a different state upon order confirmation but can still be started and completed even if their prerequisites are not finished.

Functional Manufacturing Odoo 18
Posts

Do you need to create timesheets for each employee’s Time Off in Odoo? You can enable this functionality in just a few steps:

  1. Navigate to Timesheets > Configuration > Settings > Time Off.
  2. Select the option Time Off​.
  3. Choose a Project and Task to log Time Off timesheets.

Once set up, this feature is automatically enabled for all Time Off Types. However, it can be customized per Time Off Type.

To update the feature for a specific Time Off Type, open the Time Off Type form view. You can access it via Time Off > Configuration > Time Off Types > Select a specific record​. In the form view, locate the Timesheets​ section.

The configuration differs depending on whether a company is selected for the Time Off Type:

  1. No company selected:
    • Use the Generate Timesheets​ checkbox to enable or disable the functionality.
    • The Project and Task settings from the main Timesheet configuration are applied.
  2. Company selected:
    • Project and Task selection fields are available. By default, the Project and Task from the main Timesheet configuration are applied.
    • If no Project and Task are defined, the functionality is considered disabled.

The timing of when timesheets are created depends on the Time Off Type Approval setting:

  • No approval required: Timesheets are generated when the Time Off is created.
  • Approval required: Timesheets are generated once the Time Off is approved.

Possible Improvements: Using different ways to disable the feature for Time Off Types might cause confusion for users. It would be helpful if Odoo standardized this process. For example, keeping the Generate Timesheets​ checkbox for all scenarios and only displaying the Project and Task fields when a company is selected could make the configuration more intuitive.

Functional HR Odoo 18
Posts

Managing a high volume of leads can be challenging, especially when you need to assign them to different sales teams or salespeople based on specific conditions. Did you know that Odoo can automate this process for you with its Rule-Based Assignment feature?

Here’s a simple step-by-step guide to set it up:

  1. Open the CRM settings page using the menu: CRM > Configuration > Settings​.
  2. Activate the Rule-Based Assignment​ option in the settings.
  3. Choose the Running option as "Repeatedly" and set the interval for how often the system should check and assign leads. For example, you can schedule it to run every hour, once a day, or at a frequency that suits your business needs.

Once the feature is activated, you will need to define specific assignment rules for each sales team or salesperson. The configuration steps are very similar for both and generally consist of:

  1. Go to CRM > Configuration > Sales Teams (or Team Members) and select a record.
  2. In the Assignment Rules section, click on the Add Condition button.
  3. Use the Edit Domain button to define the assignment criteria. These conditions can be based on any field in the lead model, such as location, industry, or lead priority.

If you want to exclude a particular sales team or salesperson from auto-assignment, enable the Skip auto-assignment option for them.

A few things to consider:

  1. The auto-assignment is performed only for leads that are not already assigned to a sales team or salesperson.
  2. The maximum number of leads that can be assigned per day to a salesperson is calculated as the monthly maximum divided by 30.
  3. To ensure that salespersons are assigned the appropriate leads, you need to set specific assignment rules for each of them.
Automation CRM Functional Odoo 18
Posts

When offering services that are subcontracted from a third party, it can be convenient to have a purchase order for the service automatically created when the sales order is confirmed.

In Odoo, this is a configurable workflow at the product level. The following steps are required to set it up:

  1. Open an existing service product (product type: Service) or create a new one.
  2. Go to the Purchase​ tab and add a vendor for the product.
  3. In the Reordering section of the Purchase tab, enable Subcontract Service​.

The next time the product is added to a sales order and the sales order is confirmed, a purchase order will be automatically created for the order, using the vendor set for the product.

A few things to consider regarding updates on confirmed sales orders:

  1. If the quantity on the sales order is decreased, the quantity on the request for quotation (not a confirmed purchase order) will not be updated automatically.
  2. If the quantity on the sales order is increased, the quantity on the request for quotation will be updated automatically.
  3. If the quantity on the sales order is increased and the purchase order is already confirmed, a new request for quotation will be created.
  4. If another service product is added to the sales order, it will be automatically added to an existing request for quotation if the vendor is the same; otherwise, a new request for quotation will be created.
Functional Odoo 18 Purchase Sales
Posts