Complete Guide to Adding a Settings Menu for Custom Modules in Odoo18
Odoo is well known for its modular design and the flexibility which helping developers to extend its features to match business requirements One powerful feature in Odoo is the configuration menu where administrators can set up preferences and customize how a module behaves.
When developing an custom applications in Odoo18 it’s often useful to include a settings page so users can manage configurable values (like toggles, default selections or thresholds) directly from the user interface instead of editing code.
In this guide we’ll walk through to how to add a settings menu in Odoo18 for custom module, step by step, using a different example: configuring invoice due date options in a custom accounting module.
Create a Configuration Model
Odoo provides the special model res.config.settings for defining the system-wide settings by inheriting this model you can easily add fields that will be displayed on the configuration page.
Here’s the detailed example in Python (models/res_config_settings.py):

In this example:
- default_due_days defines of how many days invoices are due by default.
- enable_auto_reminder is a toggle to enable or disable automatic reminders.
- config_parameter ensures the values are stored in Odoo’s ir.config_parameter table so they persist globally across the system.
Add a Settings View
Now we need to display these fields in the settings interface throug using the XML.
Create a file like views/res_config_settings_views.xml:

This adds a Custom Accounting section inside the Settings form with our fields nicely displayed.
Add a Menu Item for Settings
While developers often inherit the global settings page, you can also provide a dedicated menu for your module’s settings.
Create a file views/menu.xml:

This will add a new Custom Accounting → Settings menu in your Odoo dashboard and will make it easier for the users to access the configuration page.
Update the Manifest
Make sure you include your new XML files in the manifest.py:

Test the Settings
- Now Upgrade your custom module from your Apps menu below are the steps.
- Navigate to Custom Accounting → Settings.
- You Now see the fields for Default Invoice Due Days and Automatic Reminder Toggle.
- Now Set the values and click and Save.
Odoo will store your settings in the ir.config_parameter table and you can fetch them later in Python using:

By following these simplesteps you’ve can added a dedicated settings page for your custom Odoo 18 module this makes your module much more user-friendly, as administrators can configure behavior without editing code.
Using res.config.settings with config_parameter gonna ensures that your settings are stored safely and consistently across the entire system no matter you’re building HR tools, accounting extensions, or project management features, adding a settings menu is a best practice that improves usability and maintainability. if you still have doughts on how to add settings menu in Odoo18 feel free to contact us we will be there for you.
"Automate Your Business with our Customized Odoo ERP Solutions"
"Get a Cost Estimate for Your ERP Project, Absolutely FREE!"
Get a Free Quote


