Sale Approval | Dynamic Approval Workflows for Sales

by
Odoo

15.95

v 17.0 Third Party 24
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Sales (sale_management)
Discuss (mail)
Invoicing (account)
Community Apps Dependencies
Lines of code 1452
Technical Name xf_approval_route_sale
LicenseOPL-1
Websitehttps://xfanis.dev/odoo.html
Versions 15.0 17.0 16.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Sales (sale_management)
Discuss (mail)
Invoicing (account)
Community Apps Dependencies
Lines of code 1452
Technical Name xf_approval_route_sale
LicenseOPL-1
Websitehttps://xfanis.dev/odoo.html
Versions 15.0 17.0 16.0

Dynamic Approval Route for Sales

Enhance your sale order approval process in Odoo with our specialized sub-module. Building upon the foundation of the basic approval workflow module , this extension introduces dynamic and flexible approval routes for sale orders.

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.

Approval Workflow Settings

After installing the module you will be able to enable dynamic approval workflow for your sales management system:

Approval Workflow Settings for Sales

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.

Predefined Approval Roles

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.

Predefined Approval Role Form

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 SO approval route:

There are 6 stages in this approval route. But only the "Sales Director" stage was added without any custom conditions. It means that the sales director is responsible for approving all sale orders initiated using this approval route.

Sale Order Approval Route Example

For other employees to approve a sale order, specific conditions must be met:

  • Product Manager: The Product Manager should approve the sale order if it contains particular products in the order lines.
  • Marketing Department Manager: The Marketing Department Manager should approve the sale 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 sale order if the order lines are associated with the analytic account "Research & Development."
  • Accountant: The Accountant should approve sale orders with a total amount equal to or greater than 1000 USD.
  • Financial Director: The Financial Director will be requested to approve sale 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.

Creating Dynamic Sale Approval Workflow

To create a new SO 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 Sale Approval Stage

To add a new stage you need to click "Add New Stage".

Here is how the form looks like:

Dynamic SO Approval Stage Conditions

Stage Title

Name for SO 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 SO 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 sale 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 sale order 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 SO approval workflow. This allows for greater flexibility and customization in the approval process based on specific business requirements.

Dynamic Sale Approval Stage Python Conditions

As you've surely noticed, our module offers a multitude of capabilities to craft a truly dynamic and flexible approval route for your sale quotations. 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!

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.

Lock Document Changes and Show Error Message


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.

Logo
Contact me for Support, Customization, Implementation:
Email: xfanis.dev@gmail.com
Telegram: https://t.me/xfanis
Twitter: https://twitter.com/XFanis_Dev
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.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.