Skip to content

Revolutionize Your Sales: The Ultimate Odoo Consumable Product Reminder Guide (2025)

odoo consumable product reminder

Welcome to this in-depth guide, inspired by insights from Odoo experts in a recent Q&A session (watch the full session here: https://www.youtube.com/watch?v=s5ejktfvOHU). In the fast-paced world of business, ensuring that every sale is fulfilled promptly and efficiently is paramount. For many businesses, particularly those dealing with items not traditionally “stocked” in a warehouse, managing procurement can be a hidden challenge. This is where an effective Odoo Consumable Reminder system becomes not just helpful, but absolutely essential.

This guide will walk you through setting up robust reminder systems in Odoo 18.4, focusing on consumable products that require special attention post-sale. We’ll explore powerful automation tools, discuss crucial best practices to avoid common pitfalls, and touch upon other vital Odoo functionalities that streamline your operations.


Understanding the Odoo Consumable Reminder Product Challenge 

Many businesses sell products that aren’t stored in a traditional warehouse. These are often “one-time products” or items that are purchased only after a customer order is confirmed. Think of custom-printed merchandise, specific components sourced per project, or bespoke services that require unique materials. While these non-stockable items simplify inventory management by not tracking on-hand quantities, they introduce a critical sales-to-procurement gap: how do you ensure the sales team or procurement department remembers to buy these items before they’re due for delivery? Without a proper alert, you risk delays, unhappy customers, and a fractured workflow.

This is precisely where an Odoo Consumable Product Reminder becomes indispensable. It bridges that gap, ensuring a seamless flow from sales order creation to vendor purchase, ultimately safeguarding your delivery commitments.

Configuring Consumable Products in Odoo

First, let’s ensure your products are correctly set up as consumables. This foundational step dictates how Odoo handles these items in your inventory and sales modules.

Step-by-Step Tutorial: Setting Up a Consumable Product

  1. Navigate to Products: In your Odoo instance, go to the Inventory module, then select Products from the main menu.

  2. Create or Edit a Product: Click Create to add a new product or select an existing one that fits the “consumable” definition.

  3. Define Product Type: On the product form, locate the “Product Type” field.

    • Set this to Consumable. This tells Odoo not to track inventory levels for this item.
    • Ensure the overarching “Product Category” (if applicable) is set to Goods.
    • Historical Note: In earlier Odoo versions (e.g., Odoo 17), the “Product Type” selection might have been located in a different section of the product form, but the core functionality remains.

Once configured, when you create a sales order with a consumable product, Odoo will correctly reflect that it doesn’t track stock, providing a clear indication that a manual or automated procurement action is needed.


Powerful Automation: Setting Up an Odoo Consumable Product Reminder via Automated Actions

Automated actions in Odoo are incredibly versatile tools for triggering follow-ups based on specific criteria. For our Odoo Consumable Product Reminder, we’ll leverage them to create activity alerts for your sales or procurement teams.

Step-by-Step Tutorial: Creating an Activity Reminder

  1. Access Automated Actions: Go to Settings > Technical > Automation > Automated Actions. (You’ll need developer mode enabled to see the Technical menu).

  2. Create a New Action: Click Create.

  3. Basic Configuration:

    • Name: Give your action a clear name, like “Consumable Product Purchase Reminder.”
    • Model: Select Sale Order (the object on which the reminder will be triggered).
    • Trigger: Choose On Creation. This means the action will fire as soon as a new sales order is saved.
  4. Set Time Condition:

    • In the “When to Run” section, set a Time Condition. For instance, “12 Hours After Creation.” This allows a grace period after the sales order is made before the reminder appears.
  5. Define the Action:

    • Click Add an Action.
    • Action Type: Select Create Activity.
    • Activity Type: Choose To-Do.
    • Summary: Enter a concise title, such as “Procure Consumable: [Sales Order Reference] – [Product Name].” You can dynamically pull information using placeholders.
    • Due Date: Set to 0 Days if you want the activity to appear immediately after the time condition is met.
    • Assigned To: Choose Specific User or Dynamic User. For a dynamic user, you can often select Salesperson to assign it directly to the person responsible for that sales order. Alternatively, you might assign it to a dedicated ‘Procurement Team’ user.

By following these steps, you’ve established a basic yet effective Odoo Consumable Product Reminder system. However, there’s a critical consideration to address to truly optimize this setup.


The Critical Safeguard: Preventing Duplicate Odoo Consumable Product Reminders

One of the most common pitfalls with automated actions is generating redundant reminders. Without proper filtering, Odoo’s automated actions can re-trigger repeatedly, leading to notification fatigue and undermining the system’s value. Imagine receiving the same “Procure Item” alert every hour for a sales order that has already been dealt with!

To ensure your Odoo Consumable Product Reminder is truly efficient and user-friendly, you must implement a mechanism to prevent duplicates.

Why Filters Are Essential

Odoo continuously checks if the conditions of an automated action are met. If a sales order remains in a state that satisfies your “On Creation / 12 Hours After Creation” rule, Odoo will execute the action (e.g., send an email or create an activity) every time the rule is processed (typically every 72 minutes or so, depending on server configuration).

Solution: The “Reminder Sent” Checkbox Method

The most robust way to prevent duplicate Odoo Consumable Product Reminder notifications is to introduce a custom field that acts as a flag.

Step-by-Step Tutorial: Implementing the “Reminder Sent” Flag

  1. Create a Custom Checkbox Field:

    • Go to the Sale Order form (e.g., open any existing sales order).
    • Activate Developer Mode (if not already active).
    • Click the Studio icon (the paintbrush) in the top right corner.
    • Drag a Checkbox field from the “New Fields” section onto your Sale Order form.
    • Label: Name it something like “Reminder Sent.”
    • Technical Name: Odoo will generate a technical name (e.g., x_studio_reminder_sent). Make a note of this.
    • Save your changes in Studio.
  2. Update the Automated Action:

    • Go back to your “Consumable Product Purchase Reminder” automated action (Settings > Technical > Automation > Automated Actions).
    • Add a Domain (Filter): In the “Apply on” section, add a filter that ensures the reminder only triggers if our new checkbox is False.
    • x_studio_reminder_sent (or your technical field name) is false.

    • You might also add filters for State to exclude “Sales Order” or “Cancelled” orders: State is not Sales Order and State is not Cancelled.
    • Add a Second Action (Update Record): After the “Create Activity” action, add another action:
    • Action Type: Select Update the Record.
    • Field: Find your custom checkbox field (x_studio_reminder_sent).
    • Value: Set it to True.

How it works:
When a sales order is created, 12 hours pass, and the x_studio_reminder_sent checkbox is False, the automated action will:

  1. Create the “To-Do” activity.
  2. Immediately update the x_studio_reminder_sent checkbox to True.

Now, because the checkbox is True, the sales order no longer meets the condition x_studio_reminder_sent is false, and the automated action will not trigger again for that specific sales order. This ensures a single, effective Odoo Consumable Product Reminder.


Beyond Basic Alerts: Leveraging Marketing Automation for Odoo Consumable Product Reminders

While automated actions are excellent for internal alerts, Odoo’s Marketing Automation app offers a more sophisticated way to manage outbound communications, especially when tracking sent notifications is crucial. It’s particularly useful for Odoo Consumable Product Reminder emails to external stakeholders or for complex follow-up sequences.

Advantages of Marketing Automation for Reminders:

  • Built-in Logging: Marketing Automation inherently tracks which actions have been performed for each record, preventing duplicates by default.
  • Visual Workflow: Design multi-step campaigns with delays, conditional branches, and various communication types (emails, activities).
  • Templates & Personalization: Easy integration with email templates for professional, personalized messages.

Step-by-Step Tutorial: Setting Up an Email Reminder with Marketing Automation

  1. Install Marketing Automation: Ensure the Marketing Automation app is installed in your Odoo instance.

  2. Create a New Campaign:

    • Go to the Marketing Automation module.
    • Click Create to start a new campaign.
    • Campaign Name: Give it a descriptive name, e.g., “Consumable Order Procurement Follow-up.”
    • Target: Select Sale Order as the object you want to target.
  3. Define Enrollment Filter:

    • Add a filter to specify which sales orders should enter this campaign. This would be similar to your automated action filter, focusing on orders containing consumable products and perhaps specific states. Note: Date-based filtering options in Marketing Automation might require a bit more creativity compared to automated actions.
  4. Add an Activity (Send Email):

    • In your campaign workflow, add an activity of type Send Email.
    • Email Template: Create a new email template (or use an existing one) specifically for this reminder.
    • Go to Settings > Technical > Email > Templates.

    • Create a template like “Consumable Order Reminder.”
    • Use dynamic placeholders (e.g., ${object.name} for sale order reference, ${object.order_line.product_id.name} for product names).
    • Craft a persuasive message reminding the recipient (e.g., “Urgent: Please procure the following items for Sale Order [X] immediately.”).
    • Trigger: Set the trigger for this email, for example, “12 Hours after Beginning of Workflow.”
  5. Assign and Track:

    • Specify who the email should be sent to (e.g., a specific procurement manager, or the sales manager).
    • The Marketing Automation app will automatically log when the email is sent, preventing further dispatches for that specific sales order within the campaign.

By adopting Marketing Automation for your Odoo Consumable Product Reminder emails, you gain enhanced control, better tracking, and a more professional communication flow, especially for crucial procurement alerts.


Other Essential Odoo Q&A Highlights

Beyond managing consumable product reminders, the Odoo expert session covered a range of other critical functionalities that contribute to an efficient ERP system. Let’s briefly explore these to provide a comprehensive understanding of Odoo’s capabilities.

Scalability and Customization of Odoo

Odoo stands out for its remarkable scalability and flexibility. It’s not just for small businesses; large enterprises with thousands of employees (like Odoo itself, which uses its platform for over 6,400 staff) leverage it daily.

  • Scalability: Odoo’s architecture supports massive user bases and transaction volumes, continuously improving performance with each version.

  • Customization:

    • Development: For unique industry requirements, Odoo allows full custom module development. Comprehensive developer tutorials are available on Odoo.com/documentation.

    • Odoo Studio: A powerful no-code/low-code tool for in-app customization. Users can add/hide fields, create custom buttons, modify views, and set conditional logic without any programming.

    • Integration: Odoo’s robust API facilitates seamless integration with third-party applications. Solutions range from no-code connectors like Zapier and N8N to direct API calls for custom integrations.

  • Deployment: Odoo offers various deployment options: Odoo Online (SaaS), Odoo SH (Cloud hosting with Git integration), and on-premise. For new users, cloud options like Odoo SH are highly recommended due to ease of management and ongoing maintenance.

Multi-Company Accounting

Managing accounting across multiple legal entities within Odoo is a common requirement. Odoo handles this by allowing distinct chart of accounts and financial reporting per company.

  • Mapping Accounts: Instead of duplicating accounts, Odoo uses a mapping system. In Accounting > Configuration > Chart of Accounts, you can specify that an account is valid for multiple companies and define specific account numbers for each company if they differ. This ensures consolidated reporting while maintaining separate financial records.

Blocking Analytical Allocations by Date

Controlling when analytical entries can be made is crucial for financial accuracy. Similar to locking journal entries, Odoo can prevent backdated analytical allocations.

  • Automation Rule for Analytic Lines: By creating an automated action on the Analytic Line model, triggered On Creation or Update, you can execute Python code to raise a UserError if the analytic line’s date falls before a specified lock date (e.g., record.company_id.fiscal_year_lock_date from Accounting > Settings > Lock Dates). This ensures strict adherence to reporting periods.

Reordering Invoice Line Items in Payment Receipts

The presentation of invoice line items on printed payment receipts can be critical for clarity. Odoo offers ways to control this order.

  • List View Sorting: The simplest method is to sort the payment list view (e.g., by Payment Date or a custom Invoice Date field) before printing. Odoo generally prints what is visible in the current list order.
  • Studio Customization: Use Odoo Studio to set a default Sort By order on the payment list view. For more advanced sorting (e.g., by the invoice’s original bill date), you might need to create a Related Field on the payment that pulls the invoice date and ensure it’s Stored for sorting purposes.

On-Premise Odoo for Backup (While Using Odoo SH)

For businesses using Odoo SH but needing local backups for disaster recovery or specific reporting tools (like PowerBI), Odoo allows for automated backup retrieval.

  • Odoo SH Backup Feature: Odoo SH provides a user-friendly interface to download database backups directly from your project’s Backups section.
  • Automated Retrieval (SSH): For an automated approach, connect to your Odoo SH environment via SSH. Backups are typically stored in directories like /data/backup/daily. You can then script fetching these backups using tools like rsync or wget to transfer them to your on-premise server.

Changing a Confirmed Journal Entry

A fundamental principle in accounting is the immutability of confirmed (posted) journal entries.

  • Legal Compliance: Once a journal entry is confirmed and assigned a sequence number, it becomes read-only in Odoo. This is a legal requirement in most countries to maintain audit trails.
  • Discouraged Workarounds: While technical manipulation (e.g., overriding the posted_before flag via automated actions) might be possible, it is strongly advised against due to the high risk of creating accounting inconsistencies and legal non-compliance.
  • Recommended Action: Instead of altering a confirmed entry, the correct procedure is to reverse the original entry (creating an offsetting entry) and then create a new, correct journal entry.

Configuring Outgoing Email with Multiple Companies

Ensuring emails are sent from the correct company’s domain in a multi-company Odoo setup is crucial for professionalism and deliverability.

  • “From Filtering” in Outgoing Mail Servers: Odoo’s Outgoing Mail Servers (Settings > Technical) use a “From Filtering” mechanism. The system matches the From email address of an outgoing email with the Username configured on an SMTP server. If a match is found, that server is used.
  • Best Practices:

    1. Unique Company Domains: Ensure each Odoo company has a distinct default email domain.
    2. Dedicated SMTP Servers: Configure a separate outgoing email server for each company’s domain.
    3. Matching Usernames: The Username in each outgoing mail server configuration must precisely match the From Filtering email address (e.g., the default email for that company or a specific sender).
    4. Email Templates: When using email templates, ensure the From address in the template is dynamically set or hardcoded to match the relevant company’s domain for proper server selection.

Connecting Odoo SH to a GitHub Repository

Odoo SH is tightly integrated with GitHub, providing a robust platform for collaborative development and deployment.

  • Seamless Integration: When creating a new project in Odoo SH, you can either link to an existing GitHub repository or have Odoo SH create a new one for you.
  • Version Control: Odoo SH uses Git branches for development, staging, and production environments, enabling controlled deployment workflows. Changes pushed to GitHub branches automatically trigger builds and deployments in Odoo SH.

Trial Balance Mismatch

Discrepancies between your trial balance and other financial reports (Profit & Loss, Balance Sheet) indicate an issue that needs immediate attention.

  • Common Culprits:

    • Filtering Inconsistency: The most frequent cause is inconsistent date ranges, company filters, or currency selections across reports.
    • Report Definitions: Odoo’s financial reports are built on specific definitions and account ranges. Review the underlying report definitions (e.g., Accounting > Reporting > Profit and Loss and Balance Sheet) to ensure they include all relevant accounts and use the correct calculation methods (e.g., Balance vs. Debit or Credit).
  • Action: Systematically check all filters and report definitions. If the issue persists, contact Odoo support with specific examples.

Reconciliation Problems with Invoice Payment

When payments directly from invoices don’t reconcile automatically in the bank, it points to a journal configuration issue.

  • Journal Configuration is Key: The behavior of direct invoice payments depends heavily on the Journal used.
  • Outstanding Accounts: In Odoo 18.4, for direct payments to immediately mark an invoice as paid and reconcile, the payment journal (e.g., your bank journal) might need to be configured to use specific Outstanding Receipts or Outstanding Payments accounts that bypass intermediate reconciliation steps. This configuration can vary by Odoo version, so a direct check of your payment journal’s settings is essential.

Closing Financial Year

Properly closing a financial year is a critical accounting procedure to transfer profits/losses to retained earnings and prepare for the next period.

  • Odoo Documentation: This process involves several steps and is comprehensively covered in Odoo’s official documentation. Refer to Odoo.com/slides under Accounting and Invoicing for dedicated videos and checklists, such as “Closing a Fiscal Year.” This ensures all necessary adjustments and transfers are made correctly.

Login Button in Website Builder

For business owners managing their Odoo website, the presence of a login button can sometimes be confusing or undesirable, especially if they are already logged in or don’t want public login access.

  • Contextual Display: Generally, the “Sign In” button (often in the header bar) only appears if the user is not logged in. Once logged in, it typically disappears or changes to a “My Account” or “Logout” option.
  • Removal via Studio (Advanced): If you wish to remove the “Sign In” button completely, you can do so through Odoo Studio’s view editor. However, this is an advanced customization and requires careful consideration:

    1. Access the View: Navigate to the website page in question, activate Developer Mode, and then Inspect the “Sign In” button to find its underlying HTML and associated Odoo view.
    2. Modify the View: Edit the relevant qWeb view (often a navbar or header template) to remove the element containing the login link (e.g., <a href="/web/login">Sign In</a>).
    3. Security Implication: Removing the button hides the entry point but doesn’t remove the /web/login URL. Users could still manually navigate to the login page. Consider if you truly want to prevent all login access or simply clean up the UI for logged-in users.

Calculating Price Based on Product Surface

For specialized products like printed materials or custom fabric, pricing often depends on dimensions (width, length) rather than just a unit quantity.

  • Studio Customization with Automated Actions: Odoo can be customized to calculate prices based on surface area.

    1. Custom Fields: On your Product model, add custom decimal fields for Length and Width using Odoo Studio. You might also add a checkbox like “Is Surface Product” to conditionally show these fields.
    2. Automated Action for Price Calculation: Create an Automated Action on the Sale Order Line model, triggered On Update of the product, length, or width fields.
    3. Execute Python Code: In this action, execute Python code to calculate the Unit Price (field price_unit). The code would multiply the product’s base list price by the length, width, and quantity on the sales order line.

      if record.product_id.x_studio_is_surface_product:
          new_price = record.product_id.list_price * record.x_studio_length * record.x_studio_width * record.product_uom_qty
          record.price_unit = new_price
      
    4. Conditional Trigger: Ensure the automated action only runs if the Is Surface Product checkbox on the related product is true.
  • Considerations: This approach bypasses standard Odoo price lists for these specific products, requiring manual price list management or further automation for other product types. It works particularly well if your business primarily deals with such dimension-based pricing.

Conclusion

Mastering Odoo is about leveraging its powerful features to create streamlined, efficient workflows. Setting up an Odoo Consumable Product Reminder system, as detailed in this guide, is a prime example of how intelligent automation can prevent common operational bottlenecks, improve procurement, and ultimately enhance customer satisfaction.

From configuring your products as consumables to implementing robust automated alerts and understanding crucial considerations like preventing duplicate reminders, you now have the tools to ensure no consumable product order ever falls through the cracks. Remember to explore Odoo’s other vast capabilities, from comprehensive accounting to seamless GitHub integration, to continuously optimize your business processes.

Feel free to connect with Odoo experts, utilize the extensive Odoo documentation and slides, and attend events like the upcoming Odoo Experience to stay abreast of the latest innovations. By embracing these tools and methodologies, you’re not just managing your business; you’re revolutionizing it for sustained growth and success.


Discover more from teguhteja.id

Subscribe to get the latest posts sent to your email.

Leave a Reply

WP Twitter Auto Publish Powered By : XYZScripts.com

Subscribe