The module Partner Stock Risk extends the Account Financial Risk module functionality by adding an extra financial risk check on validation of inventory transfers with "Customer" as a destination location.
Once the module is installed, the extra check is enabled without any additional settings. In order to disable the check the module needs to be uninstalled.
The stock financial risk validation is based only on the General Limits, which means at least one General Limit financial risk needs to be enabled for the check to work.
Specific Limits are not taken into consideration for this check, which is expected, knowing that there is no specific option for Stock in the financial risk Specific Limits section.
The module is a great addition to business processes where additional financial risk validation is needed before dispatching the products. For example, if the invoice is generated after the delivery this module will help in preventing products from being shipped in the first place for customers with financial risk issues.
The module is maintained by the Odoo Community Association (OCA).
Sale Financial Risk module extends the Account Financial Risk by providing control of the customer’s credit limit in the sales order. This allows the system to include the financial risk check at the initial phase of the sales process and prevent a quote from being confirmed if the credit limit for the customer is exceeded.
Once the module is installed in the partner’s "Financial Risk" tab can be found two additional fields: “Include Sales Orders” in the General Limits and “Limit Sales Orders” in the Specific Limits.
When the “Include Sales Orders” is selected, the Sales Orders risk amount will be included in the customer’s Total Risk. The sales order risk amount is a sum of the sales orders’ total amount which is not invoiced. On quote confirmation, the system will check if the total risk exceeds the total credit limit specified for that customer. In case it is exceeded a warning message will be shown.
Additionally, it is possible to specify a specific limit for the sales orders in the field “Limit Sales Orders”. If the field is set, on quote confirmation it will be checked if the specific limit exceeds the total of the quote’s total amount and sales orders’ risk amount. If it does a warning message will be shown with info that the sales orders limit is exceeded.
Furthermore, in the Accounting / Invoicing Configuration Settings can be found the option “Include orders in done state”. This option extends the range of orders used in the financial calculations, not only to orders with the state “Sale Order” but it adds the orders with the state “Locked” as well. This option can be very useful for business cases where the "Lock Sales Order" option is used.
The warning message that is shown on quote confirmation, when any of the specified credit limits exceeds, can be overpassed by the Financial Risk Manager user. However, for other users, the confirmation will be blocked while the credit limit issue is not resolved.
Similarly to other Financial Risk limits, this module provides a convenient way of overviewing the financial data that contributes to the sales order financial risk.
By clicking on the total sale order risk amount will open the “Financial Risk Information” view where are listed all commercial partners related to the customer, that have an impact on the total risk amount, with information about their risk amounts and quantities. On click of the risk amount on any of the lines will open a list view with all sales order lines which are part of the calculation.
This module is a great addition to the Account Financial Risk module making the financial risk management for sales orders more convenient to implement by covering a wider range of business cases.
The module is maintained by the Odoo Community Association (OCA).
In the post The importance of correctly setting priority on inherited views we have already discussed the importance of the priority
field in the inherited views and why it needs to have the right value.
However, in some cases, it may be needed to update the priority of an existing view to meet certain requirements. The simplest case for that can be a request to change the primary view for a model that has multiple views from the same type.
The code sample below presents a way to modify the priority for an existing view from the codebase. In the particular example, the priority of the view_order_tree
view in the sale module is updated to value 5
.
That would mean that in the system the list view with the biggest priority for the sale.order
model will be view_quotation_tree
, which has a priority of 4
, and that one will be used always when the list view is not explicitly specified in the action.
In the native version of Odoo, it is possible to set a Credit Limit per customer, however, it is limited only to setting the Credit Limit amount and showing Informative messages on the Sales Order and Invoice in case the limit is exceeded for the selected customer.
This functionality is not sufficient in many cases and a more comprehensive solution is needed. Functionality that will provide more control over the financial risk but at the same time flexibility in setting up and detailed overview of it. The module that allows all these is the Account Financial Risk module.
Security
From a security perspective, the module has two access groups User and Manager. The User group allows a read-only access to the Financial Risk data.
The Manager group, on the other side, allows full access to the Financial Risk functionality. Additionally, the users with this group can overpass partner risk exceptions during Invoice confirmation. However, this group is not enough to see the tab Financial Risk in the Customer form view. That means to have full access to the features from this module it is required to have both Financial Risk Manager and Billing Administrator/Accountant groups. The accounting group is controlling the view of the Financial Risk tab.
Financial Risk Tab
Once the module is installed in the system the tab Financial Risk can be found in the Partner form view. The Tab contains a complete overview of the financial risk for the particular customer.
On the left side can be found the General Limits section which contains the type of credit limits that can be included in the Customer’s Financial Risk, together with the current amount for each of them. The available types of credit limits are:
- Draft Invoices
- Open Invoices/Principal Balance
- Unpaid Invoices/Principal Balance
- Other Account Open Amount
- Other Account Unpaid Amount
Unpaid Invoices/Principal Balance type by default includes move lines with account same as the customer’s receivable account which are not reconciled and their due date is passed.
However, the module introduces an option of specifying additional margin before a move line is considered as Unpaid. This configuration is per company and can be found on the accounting configuration page under the name Maturity Margin. The value specified for this setting represents the number of additional days before a move line is considered unpaid.
"Other Account" limit types are move lines with account different than the customer’s receivable account which are with not past date or passed respectively. The Maturity Margin is taken into consideration for the Other Account Unpaid Amount as well.
At the bottom of the General Limits section, there is info about the Risk Remaining and the Total Risk for the customer, which is a sum of all included limits for that customer.
On the right side, can be found the Specific Limits section. In this section can be specified different limits for each type of credit limit.
Additionally, in the Info section it is possible to set a general credit limit per Customer. This limit is overpassed when the total amount that the customer owns from the selected General Limits is bigger than the set credit limit. Furthermore next to the Credit Limit is available the date when it was last updated.
Also in this section can be set the Credit Limit Currency. The available options for it are the following:
- Company Currency
- Receivable Currency
- Pricelist Currency
- Manual Credit Currency.
In case of selecting the Manual Credit Currency, an additional currency field is shown where the needed currency can be selected. Another available field in this section is Credit Policy, which is only informative and is not used anywhere in the system.
Invoice Confirmation
In case a customer exceeds a certain limit on confirmation of an Invoice “Partner risk exceeded” modal is shown. If the user has the Financial Risk Manager group there is an option in the modal to overpass the Risk Exception and continue with the Confirmation. Otherwise, the Confirmation will be blocked until the Financial Risk Exception for the customer is resolved.
Additionally for cases where this type of limitation is not needed there is a setting that allows invoices to be confirmed for customers with exceeded credit limits by all users that have access rights to confirm invoices. This feature can be enabled by selecting the option “Allow invoice validation over the risk” on the invoicing/accounting configuration page.
Financial Data Overview
The module allows a simple way of overviewing the financial data that is contributing to the current financial risk calculation for a customer. By clicking on the number next to each type of general limit will open the “Financial Risk Information” view, from which can be opened the list of Account Move Lines that are contributing to the Financial Risk for each account. This view can be opened by clicking on the number next to the name of the account.
This module is a great addition to the existing accounting features in Odoo. However, It is only related to the accounting part of the system and will not limit any action related to the Sales Order. In case such a feature is needed, a great addition to this module is the Sale Financial Risk module.
The module is maintained by the Odoo Community Association (OCA).
In addition is a short video with the module’s features.
The technical menu can be found on the settings page and it is visible only in developer mode. The menu contains more than 16 sections, some of which are visible only if a particular application is installed. For example, the “Calendar” section is shown only if the “Calendar” module is installed.
Instead of going over all options available in the menu, We will try to provide a broad understanding of the types of configuration options and data that can be found there. This way will be more clear where to look the next time when need to find a specific setting or data in the system.
Organization
The submenus in the Technical menu are typically organized into well-named sections that make it intuitive for users to find the appropriate submenu. The available sections may differ based on the installed modules, but the following are commonly found:
- Discuss
- Phone / SMS
- Actions
- IAP
- User Interface
- Database Structure
- Automation
- Reporting
- Sequences & Identifiers
- Parameters
- Privacy
- Resources
- Calendar
While many of the sections in the menu are self-explanatory, some may require more attention. Therefore, we will focus on those and provide a brief overview of them.
- IAP: Odoo offers different types of In-App purchases which can be configured from this section.
- User Interface: This part is reserved for the data and the options related to the user interface, such as the Views, Menus, User Tours, User-defined filters etc.
- Data Stricture: As the name suggests, in this section can be found information about the data structure which includes the data models, fields, relations, attachments, and more.
- Automation: This section contains submenus linked to automating processes in the system, such as: scheduling actions that run automatically on a predefined schedule or automated actions based on specific conditions.
- Reporting: From this section, can be accessed all printable reports as well as the different paper formats for them
- Sequences & Identifiers: This section contains the submenu with sequences, which lists all the available sequences in the system, such as the numbering for different type of orders. From there can be edited existing sequences or created new ones. Also, this section contains all external XML ids related to any data in the system.
- Parameters: In this part of the menu are stored general system parameters and settings, as well as company property data that can vary per company. For example, a product may have a different cost price depending on whether it is assigned to Company A or Company B.
- Privacy: This is where the “Record Rules” and “Access Rights” can be found. For more details about the security system in Odoo we would suggest checking the tutorial "Overview of the security system in Odoo".
- Resources: In this section, can be found data and configurations related to different resources in the system.
Features
The features that the Technical menu provides, similar to the features in the Developer Mode, can be divided into two main groups:
- Configuration settings and
- Data overview and modification
Configuration Settings
The Technical menu contains a wide range of system configuration options. Here are some of them:
- Setting up Outgoing and Incoming email servers
- Creating or modifying email and SMS templates
- Creating or updating scheduled actions that will be executed on a predefined period
- Creating different automation actions based on conditions.
- Configuring the "System Parameters." Some of these parameters are also available for editing in a more user-friendly format from other parts of the system.
- Configuring company resources
- Setting up different In-App Purchase (IAP) accounts
Data overview and modification
In addition to the system configuration options, the Technical menu also provides access to and an overview of important data in the system. This makes it easier to understand the system and manage it directly from the user interface. The data available in the Technical menu can be divided into two main categories:
- Technical data
- Functional data
Technical Data
Technical data refers to the data that is crucial for the proper functioning of the system. The submenus that hold some of the most important technical data are:
- Models: This submenu provides an overview of the data models defined in the system, along with information about their attributes, related fields, access rights, record rules, and views.
- Fields: This view lists all the fields specified in the system. It is particularly helpful when the name of the field is known, but the model is not. For each field there can be found information about its related attributes.
- Views: It contains all the available XML views and provides information about their definition and related attributes. Under the view definition, are specified all the fields that need to be shown in the view, their placement as well as additional attributes. Using the attributes can be applied different rules for the elements in the view, for example, they can make a field required, visible or hidden, read-only or editable, etc.
- Actions: They define the behavior of the system in response to the user's actions. In Odoo there are several different types of actions including "Window Actions", "Server Actions", “Client Actions”, "URL Actions", "Report Actions", and “Automated Actions”. For most of these actions are available separate submenus
- Menus: All the menus defined in the system can be found in this submenu. The menus usually trigger an action in the system which depending on its type can open a particular view or trigger some other part of the application
- Access Rights and Record rules: These are essential components of Odoo's security system and ensure that each user can only see the data that corresponds to their profile.
It is important to note that the “Models” and “Fields” cannot be edited from the user interface, while the changes done to the “Views”, “Actions”, and “Menus“ might be overridden when the module is updated. However, the Access Rights and Record Rules can be edited, and their updates will be permanent in most cases.
Functional Data
The functional data available from the Technical menu includes data created by the users and the system as a result of user actions. Here are some examples of such data:
- Messages: All different types of messages created in the system are listed in this view.
- Followers: The view provides a complete overview of all followers related to all models in the system.
- Emails: All sent and scheduled emails can be found here. However, it should be noted that if the "Auto Delete" option is selected in the email template used for the email, it will be auto-deleted once sent.
- Activities: This view lists all existing activities created by the users in the system.
- Attachments: All attachments created in the system can be found in this view.
- Identifiers: All external XML ids which are related to data in the system are listed under this submenu.
- User-defined filters: All custom filters saved from the user interface can be found in this view.
Conclusion
The technical menu is divided into multiple sections. It contains different configuration options and important data related to different aspects of the system. The data that can be found in this menu can be divided into two main categories: Technical data and Functional data. Technical data is essential for the proper functioning of the system and is largely created from the codebase. Functional data, on the other hand, is generated by users or the system as a result of user actions. Some of the key submenus with Technical data include Models, Fields, Views, Actions, Menus, Access Rights, and Record Rules, each providing insights into specific technical aspects of the system.