This module adds a way to create automaticaly records using server_environment server.env.mixin.
auto_awesome What this module does
AI-generated from the code · Odoo 17.0Automatically creates records in Odoo when a matching configuration section is found in the server environment file, using the server_environment module.
This module extends the server environment configuration system so that records can be created automatically from the server configuration file (server.env). It works with any model that uses the server.env.mixin.
When Odoo starts, for each configuration section that matches a model's global section name (for example, storage_backend.my_sftp for the storage.backend model), the module checks if the section contains an __autocreate key. If it does, and no record with the same section name already exists, it creates a new record using the values provided in that key. The values must be written as a Python literal (like a dictionary).
After creation, the module also creates an external identifier for the new record, making it easier to reference in other parts of Odoo. This happens automatically without user intervention.
The feature is controlled by the _server_env_allow_autocreate attribute on the model, which defaults to True. If set to False, automatic creation is disabled for that model.
This module is useful for setting up initial data or ensuring that certain records exist based on server configuration, reducing manual setup. It does not add any menus or user interface elements; it works in the background.
Depends on
Models and fields (1)
- server.env.mixin · extends an existing model
Text generated by AI (DeepSeek) from reading the Odoo 17.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 17.0
Confirmed on 2026-11-03 in branch 17.0 of OCA/server-env.
terminal Installation and usage
OCA documentation · Odoo 17.0Configuration
Source · Odoo 17.0This module does not need any configuration in Odoo.
The configuration is made in either server_environment_files, the environment variable or the configuration file as described in server_environment.
On top of the fields available when defining a record inheriting server.env.mixin, it is possible to add __autocreate = {}. The value is a dictionary that will be passed when the record is created. This allows setting required field values that are not made available. The values are only used once, when the object is created. Changes are not used.
To continue the example provided by server_environment, to have this module create the record for storage_backend.my_sftp, the file would look like:
# These variables are not odoo standard variables, # they are there to represent what your file could look like export WORKERS='8' export MAX_CRON_THREADS='1' export LOG_LEVEL=info export LOG_HANDLER=":INFO" export DB_MAXCONN=5
# server environment options export SERVER_ENV_CONFIG=" [storage_backend.my_sftp] __autocreate={} sftp_server=10.10.10.10 sftp_login=foo sftp_port=22200 directory_path=Odoo "
Another example, using a value in the creation dictionnary, when using fs_storage module, the name of the storage is required so the configuration would look like:
[fs_storage.my_sftp]
__autocreate = {"name": "My SFTP"}
protocol=sftp
options={"host": "10.10.10.10", "username": "foo", "password": "xxxxxxxxx"}When the module creates such a record, it will add an xml id in the form __server_environment_autocreate__.<section name with space replaced by ->.
When the module is removed, the created record are kept. They can be found by searching the xmlid for the pseudo module __server_environment_autocreate__.
If the creation fails with an exception, or if the values dictionary is incorrect, this will prevent the loading of the registry. This is intended, so that odoo does not start without the intended configuration.
Usage
Source · Odoo 17.0This module does not impact the user interface.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.