Dynamic Approval Module for Odoo
routes for various documents, allowing seamless collaboration among multiple approvers. Define
conditions to include/exclude users, distribute responsibilities, and ensure timely approvals. Enjoy
flexible and efficient document authorization across your organization with our feature-rich Odoo
solution.
Key Features:
-
Predefined Approval Roles: Designate specific employees as persistent approvers for various document
types, such as Purchase Orders and Sale Orders. -
Approval Routes: Establish flexible rules to generate a sequential list of users who must approve a
document for it to be fully approved. -
Unlimited Stages with Custom Conditions: Add an unlimited number of stages to approval routes, each
with multiple custom conditions based on factors like total amount, partner, country, company,
products, and analytical accounts. -
Approval Based on Specific Criteria: Utilize various criteria like monetary amount, partners,
countries, companies, products, and analytic accounts to trigger approval stages. -
Custom Python Expressions: Define custom conditions using Python code to include or exclude specific
approvers, tailoring the approval workflow to your unique business needs. -
Document Locking: This feature enables the automatic locking of documents once they have been sent
for approval or have received approval from at least one approver. This ensures data integrity and
compliance by preventing changes during the approval process. -
Multi-Company Support: Seamlessly create identical roles for multiple companies using the “Multi
Company” functionality. -
At least One Approver or All Approvers: Choose between two approval types, “At least one approver”
or “All approvers,” depending on your approval process requirements. -
Collaboration and Vacation Coverage: Allow multiple users to approve a document, ensuring smooth
operations even when certain users are on vacation or leave.
Once the module is installed, you will notice a new menu item called “Approval Settings” that will be
added. In this view, you will find a comprehensive summary displaying the number of predefined approval
roles and the total count of created approval routes.
Additionally, the interface provides convenient quick action buttons to facilitate the process of adding
new approval roles or routes. This allows you to easily expand the approval functionality according to
your specific requirements.
Predefined Approval Roles
“Predefined Approval Roles” allow you to designate specific employees as persistent approvers for
various documents, such as Purchase Orders, Sale Orders, Expense Reports, Payments and more.
With this feature, you can easily set up predefined roles, ensuring that certain individuals
consistently handle approvals for specific document types.
Creating Approval Role
To add a new role, you need to enter the role’s name, select one or multiple users, and choose the
company for which this role is relevant.
If multiple users are specified, the document can be approved by any of them, or the system will request
approval from all specified users, depending on the approval cycle settings. Selecting a company will
allow you to create identical roles if you have multiple companies set up and you are using the “Multi
Company” functionality.
Creating Approval Route
The creation of approval routes enables the establishment of flexible and dynamic rules to generate a
list of users who must sequentially approve a document for it to be considered fully approved.
With this module, you can add an unlimited number of stages, each with multiple custom conditions. To
include a user in the approval cycle, the system can evaluate factors such as the document’s total
amount, the selected partner, company, country, or specific products and analytical accounts used.
Another noteworthy feature of the module is the ability to specify custom conditions using Python code
to add an approver to the approval cycle.
Here is some example of PO approval route:
There are 6 stages in this approval route. But only the “Supply Manager” stage was added without any
custom conditions. It means that the supply manager is responsible for approving all purchase orders
initiated using this approval route.
For other employees to approve a purchase order, specific conditions must be met:
- Product Manager: The Product Manager should approve the purchase order if it
contains particular products in the order lines. - Marketing Department Manager: The Marketing Department Manager should approve the
purchase order if the order lines are associated with the analytic account “Commercial & Marketing.” - R&D Department Manager: The R&D Department Manager should approve the purchase
order if the order lines are associated with the analytic account “Research & Development.” - Accountant: The Accountant should approve purchase orders with a total amount equal
to or greater than 1000 USD. - Financial Director: The Financial Director will be requested to approve purchase
orders with a total amount equal to or greater than 100,000 USD.
As you have noticed, the conditions are highly flexible, allowing for the coverage of various business
requirements for the approval system. Additionally, this is not an exhaustive list of conditions; the
route generation can be further customized based on various criteria as needed.
Selective Field Locking
The Selective Field Locking functionality allows users to designate specific document fields that will
remain locked for changes after the document has been sent for approval or has received approval from at
least one participant.
If user tries to change document, he/she will see error message.
Creating Approval Workflow
To create a new approval workflow, follow these steps:
- Enter a name for the workflow.
- Select the data model for which this workflow will be applied.
- Specify the users responsible for managing and keeping this workflow up-to-date.
- Add approval stages
Adding Approval Stage
To add a new stage you need to click “Add New Stage”.
Here is how the form looks like:
Stage Title
Name for approval stage
Approval Type
There are two options available: “At least one approver” and “All approvers.”
-
“At least one approver” implies that approval from a minimum of one person is sufficient to consider
the approval stage as completed. -
“All approvers” requires that the document must receive approval from all approvers assigned to the
approval stage for it to be considered fully approved.
Approvers (Predefined)
Here a predefined approval role can be selected.
Approvers (Custom)
This field is to specify custom approvers for the stage. If there is no predefined role, you can select
any user as approver. Please do not forget to grant user access to the associated module. Also, here you
can select multiple users.
The option to select multiple users who can approve a document offers several advantages in managing the
approval process:
Vacation or Leave Coverage: If one of the designated approvers is on vacation or leave, another
authorized approver from the selected group can handle the approval. This ensures that the document
approval process remains uninterrupted even in the absence of certain users.
Shared Responsibility: By spreading the responsibility among multiple employees, the burden of approvals
can be distributed more evenly. This not only helps prevent bottlenecks but also promotes a more
efficient and timely approval workflow.
Having this feature in place adds flexibility and resilience to the approval system, contributing to
smoother operations and improved collaboration within the organization.
Amount
In this settings group, you can choose the field containing the monetary amount and specify the
condition under which an approval stage will be added to the document.
Partners
Here, you can choose the field containing partner and select partners and specify a condition for adding
an approval stage to the document based on whether it is associated with, or not associated with, the
chosen partners.
Countries
Here, you can choose the field containing country and select countries and specify a condition for
adding an approval stage to the document based on whether it is associated with, or not associated with,
the chosen countries.
Companies
Here, you can choose the field containing company and select companies and specify a condition for
adding an approval stage to the document based on whether it is associated with, or not associated with,
the chosen companies
Products
That group of settings is to choose the field containing product(s) and select products and specify a
condition for adding an approval stage to the document based on whether it is associated with, or not
associated with, the chosen products.
Analytic Accounts
That group of settings is to choose the field containing analytic account(s) and select accounts and
specify a condition for adding an approval stage to the document based on whether it is associated with,
or not associated with, the chosen accounts
Custom Condition Code
You have the option to enter a Python expression to define a custom condition for including or excluding
an approver from the document approval workflow. This allows for greater flexibility and customization
in the approval process based on specific business requirements.
As you’ve surely noticed, our module offers a multitude of capabilities to craft a truly dynamic and
flexible approval route for your documents. Unleash the power of seamless document approvals with our
feature-rich solution, tailored to optimize efficiency and collaboration. Experience the next level of
approval workflows today!
Disclaimer
It is essential to note that the ability to select any data model doesn’t mean the approval process will
be automatically implemented for those types of documents.
The base module contains abstract methods designed for further extending Odoo’s functionality. The list
of sub-modules intended for use with this base module is limited but will gradually expand. In the Odoo
store and through the links below, you will find a list of sub-modules that enhance the built-in
functionality of Odoo by leveraging the capabilities of the base module.
If you have in-house programmers, after acquiring this module, they can apply this base module to your
system by implementing the specific functionality under a dedicated module. This approach allows for the
gradual customization and extension of the approval workflow to suit your organization’s unique
requirements.
Sub-modules that enhance the functionality of built-in Odoo modules and implement approval feature for
them:
Please note that to send email notifications to approvers
an outgoing email server should be configured.
If your Mail Transfer Agent (MTA) supports SRS (Sender Rewriting Scheme), your users can send and
receive notification.
However, that is more complex and requires more technical knowledge.
Instead, you can install additional module to
Replace “Email From” and “Reply To” parameters
of outgoing emails.
https://t.me/xfanis
You must log in to submit a review.