Odoo Community even though is open source and available for everyone to install, there are associated costs for running it such as:
- Server
- Maintenance
- Upgrade
Some of them overlap if you decide to have Odoo Enterprise on your own server, however, with enterprise, it is easier to keep the system up to date with the newest version and some of the additional features there can be a big plus.
In the end not always open source means a better option for your budget, before going further with the project evaluate the needs of your company and what would best match them.
A more in-depth overview of both versions is available here.
Very often businesses that have a portfolio of projects within different industries need the option of categorizing the projects. However the core version of Odoo does not support such functionality, even though in some cases can be used the Tags option, however in that case it is difficult to group the project by category since the Tag field is many2many
.
The “Project Type” module makes this functionality possible. It is a very simple module that introduces the Type
field in the Project and Task models. Each Project or Task can belong only to one Project Type. Once the projects are categorized they can be grouped using the Group By: Type
option.
The different project types can be set up in the Project > Configuration > Project Types
. Each Project Type can have multiple Subtypes. The available fields for each Project Type are:
- Name
- Code
- Parent Type
- Description
- Can be applied for Projects
- Can be applied for Tasks
The last two listed options are used to configure the Project Type where to be shown in Projects and/or Tasks. In the tab "Subtypes" can be found all the related Subtypes. Additionally, can be created new directly from there.
The Project Manager group has full access rights to the Project Types, while every user in the system can see them in the projects and tasks.
One possible improvement for the module can be when a certain type is selected in a project, on creation of a related task the same Type to be selected as the default value, with option to be edited if needed. Because from a business perspective, it can be expected that the project's related tasks would have the same Project Type. To provide more flexibility this option can be customizable per Project Type.
The module is maintained by Odoo Community Association (OCA) and the latest available version is 17.0.1.0.0.
In multi-company mode, there are cases when one field would need to store different values for each company.
An example of such fields are some of the accounting settings per product, such as Income Account and Expense Account.
In order for a field to be able to store different values per company it is required in the field definition to be set the attribute company_dependent
to True
.
Part of the definition of the standard_price
field which is another example in Odoo of such a field is shown below:
While from a user perspective, this functionality depends only on one parameter, the technical side of it is a bit more complex. These fields do not store their values in the related model’s table. Instead, they are using the ir.property
table for that. When the value is set in the field, the backend will try to find an existing ir.property
record that matches the model’s record, field and company. If there is no one it will create a new record with the following information:
-
name
: The name of the field -
fields_id
: The ID of the field that holds the value -
res_id
: The ID of the related model’s record -
company_id
: The ID of the company -
value_
: The value will be stored in one of the available value fields, depending on the type of the field. For example, thestandard_price
field's value will be stored in thevalue_float
column.
Company-dependent fields are searchable and when a value is requested for them the system queries the ir.property
table.
The list of all company-dependent values can be found at Settings > Technical > Parameters > Company Properties
, developer mode needs to be activated in order to see the Technical menu.