Advanced Approval Workflow
by TechUltra Solutions Private Limited https://www.techultrasolutions.com$ 22.00
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) |
| Lines of code | 807 |
| Technical Name |
advanced_approval_workflow |
| License | OPL-1 |
| Website | https://www.techultrasolutions.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) |
| Lines of code | 807 |
| Technical Name |
advanced_approval_workflow |
| License | OPL-1 |
| Website | https://www.techultrasolutions.com |
Advanced Approval Workflow
Comprehensive approval solution featuring configurable approval types, required/optional approvers, domain-based activation rules, and seamless document integration. Supports unlimited approval levels with manager-based assignment and automated field synchronization. Perfect for controlling price changes, high-value transactions, and any business process requiring formal approval workflows.
https://wa.me/message/VENRAJRHMSWEB1
OR
- Enables multi-level sequential approval chains with configurable approvers per workflow stage.
- Triggers approval automatically based on domain rules like amount thresholds, product categories, or custom conditions.
- Links approval requests directly to source documents including orders, products, invoices, and etc.
- Updates document status and fields upon approval completion, preventing unauthorized modifications.
- Supports manager-based approver assignment for seamless workflow execution.
Approval Manager User Configuration
After installing the module, simply go to Settings > Users & Companies > Users, open the user you have selected as the Approval Manager, and assign the Approval Manager role to that user.
Approval User Selection
As shown in the image below, Marc Demo has been selected and configured as the Approval User.
Approval Menu Visibility
Only after configuring the appropriate user access rights, the Approval menu becomes visible on the home page, as shown in the image below.
Creating a New Approval Type
Navigate to Approvals > Types and create a new approval type. For example, create a type named Purchase Order and set the Sequence to 10. Enable the type by setting Active to True, as we want this approval type to be available immediately after creation.
In the Approval Lines section, add the required line details, select Marc Demo as the user you want to restrict, and set Required to True.
Configuring Model-Level Approval Rules
Next, navigate to the Model Configuration page and enable Apply for Model by setting it to True. Set the Target Model to Purchase Order and define the domain condition such that when the amount_total is greater than 100, the selected user must obtain approval from the Approval Manager before proceeding.
Viewing the Newly Created Approval Type
After completing the configuration, the newly created approval type is visible in the Approvals > Types list view for the Approval Manager.
Approval Validation During Purchase Order Confirmation
Now, log in as Marc Demo and create a new Purchase Order. Select a product with a Unit Price of 144 and attempt to confirm the purchase order.
The system will display an error stating: "This document requires approval before modification."
This occurs because we configured a domain rule that requires approval from the Approval Manager when the amount (unit price/total) exceeds 100. Since the entered value does not meet this condition, the user must obtain approval before proceeding.
Creating an Approval Request
Now, the user (Marc Demo) navigates to Approvals > Requests and creates a new approval request.
Enter a Name for the request, select the Type as Purchase Order, and choose the Source Document by selecting the Model Name as Purchase Order along with the corresponding Purchase Order ID.
Finally, save the request, as shown in the image below.
Viewing the Approval Request as an Administrator
Now, log in as the Administrator and navigate to Approvals > Requests.
You can see the newly created approval request submitted by the Demo User (Marc Demo) listed in the requests menu, as shown in the image below.
Submitting the Approval Request
Open the approval request and submit it.
After submission, two action buttons-Approve and Refuse-will be visible on the request form, as shown in the image below.
Refusing an Approval Request
When you click on Refuse, a wizard opens prompting you to provide a refusal reason. Enter the appropriate reason and then click Refuse to complete the action.
Refused Approval Request and Its Impact
In Marc Demo's approval request, the status is now shown as Refused, along with the specified refusal reason.
As a result, the user is still unable to confirm a Purchase Order with a price greater than 100, since the required approval was not granted.
Resubmitting the Approval Request as Administrator
Now, go to the Administrator side and navigate to Approvals > Requests in list view. Select the refused request, open the Action menu, and click Submit for Approval.
This action changes the request state from Refused to Submitted.
New Approval Line in Waiting State
From the Administrator side, open the request in Form View.
You will see that a new approval line has appeared, and its state is set to Waiting, as shown in the image below.
Approval Granted and Request Status Updated
After approving the request, the approval line is updated and its state changes to Approved, as shown in the image below.
With the approval granted, the user can now confirm the Purchase Order even when the price exceeds the configured domain limit.
Purchase Order Confirmed Above Domain Limit
As shown in the image below, the Purchase Order has been successfully created and confirmed, even with a price exceeding the configured domain limit.
Adding Multiple Approval Types
You can create multiple approval types for different models based on your requirements. For example, we have added Sale Order, Purchase Order, and Journal Entry. Additional types can be added as needed to match your business processes.
This demonstrates how the module works and allows flexible approval management across various models.
- We provide 90 days bug-free support related to our module.
- We provide 5 hours of free configuration support. Additional configuration or customization is billable.
- The support team is available from Monday to Friday 10:00 AM to 07:00 PM (IST).
- To create a ticket, send an email to support@techultra.in.
The module supports multiple models such as Purchase Orders, Sale Orders, Journal Entries, and any additional models you configure as per your requirements.
Yes, you can create multiple approval types and assign them to different models with separate domain conditions for each model.
If an approval request is refused, the user cannot proceed with the restricted operation until the request is resubmitted and approved.
Yes, an administrator can resubmit a refused request from the Approvals â Requests menu, changing its state back to Submitted.
Related Products
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Features
Overview
Support
FAQs
Please log in to comment on this module