Hibou Odoo Suite: Sales Modules: Sale Exception Rule User

Repository Versions:

 Debug Mode

You’ll need to enter Debug Mode for some steps in this document.

Purpose

This documentation covers the installation and configuration of the Hibou's Sale Exception Rule Users module for Odoo.

Good to Know!

Sale Exception User

This module extends the OCA's Sale Exception module and Hibou's Base Exception User module to provide per-exception overrides that can be completed by users with the new permission set of Exception User. This document outlines both the general sale exception functionality as well as new features and functionality provided by Hibou's Sale Exception User module.

Getting Started

The first step is to install the module. To do so, navigate to the Apps application..


Once there, remove the 'Apps' filter, then search for 'Sale Exception Rule User'. When you're ready, click INSTALL.


Process

Sales Exception Rules

Let's start by navigating to the Sales app.


Once there, go to CONFIGURATION > SALE EXCEPTION RULES to configure our exception rules.

We will only be working with these 3 exception rules in order to see how this module functions. The Allow User Ignore option indicates whether a user with the Exception User permission is allowed to ignore a triggered exception. 

Important!

Activate Exception Rules

You can toggle an exception on and off! So remember, even if you enable Allow User Ignore on an exception rule, it will not trigger if the active button is off.


Configure the User Permissions

Let's see how the user permission levels effect their ability to bypass exceptions. Start by going to the Settings app.


Now go to USERS & COMPANIES > USERS, then select the user that will be interacting with the sales exceptions.

Under the ACCESS RIGHTS tab:

Sales Permission

  • User: Own Documents Only: A user with this permission level will not be able to bypass a triggered exception if not indicated otherwise on the exception rule (Allow User Ignore and has the Exception User permission enabled under Technical Settings) or has the Exception Manager enabled under Technical Settings.

  • User: All Documents:  A user with this permission level will not be able to bypass a triggered exception if not indicated otherwise on the exception rule (Allow User Ignore and has the Exception User permission enabled under Technical Settings) or has the Exception Manager enabled under Technical Settings.

  • Administrator: A user with this permission level on sales, does NOT require the exception manager to be enabled on their user permissions since a manager is able to override the exceptions.

Technical Settings (  debug mode)

  • Exception Manager: A user is able to override exceptions even if they have low level permissions in Sales like User: Own Documents Only or User: All Documents.

  • Exception User: A user is able to override exceptions even if they have low level permissions in Sales like User, as long as all triggered exceptions are capable of being ignored by a user.


Contact Configuration for Testing!

Let's take a look at the contact we are going to be using for testing! So if we look under the Accounting tab, you will see that our contact has a Credit Limit of $500.00 and has $0.00 of Credit Remaining. You will also notice that we have put this customer on Credit Hold for the time being.


Good to Know!

Hibou's Credit Limit Module

The exceptions and fields demonstrated in this document, are provided by Hibou's Credit Limit module.

The Total Receivable is sitting at $500.00, which indicates that this is an unpaid invoice. However, let's check to see if it is overdue but clicking on the  $ Due smart button.


Effectively we see that this is indeed an overdue invoice. So, now you see that the contact has been setup in such a way where it will trigger all 3 exception rules in order to demonstrate how our module functions.


Exception Rules in Action!

Now let's go ahead and take a look at how a user can interact with the sales exception rules depending on their permission levels. Let's start by navigating over to the Sales app.


Navigate to Order > Quotations, then click Create in order to start our Sales Order process.


Once the quote is built out, click confirm.


Permission Levels

The way the user can interact with the exceptions will depend on their permission level.

User: Own Documents Only or User: All Documents & Is NOT an Exception Manager or Exception User

The user with this permission level, will see the exceptions go off for all 3 rules since this contact has hit the requirements to activate them. They will need to click CONFIRM on this popup window.


With these permission levels, the user will see the exceptions, however, he will not be able to ignore them (even if all exceptions did Allow User Ignore, as they have no permissions that would allow them to do so). As you will see, this will leave this record in the Quotation state until a user with higher permissions ignores the exceptions.


User: Own Documents Only or User: All Documents & IS an Exception Manager

The user will see the exceptions go off for all 3 rules since this contact has hit the requirements to activate them. Even though this user has the exception manager active, they will still need to go through this popup window first and click CONFIRM.


When the user has lower permissions, but has the Exception Manager enabled, they will be able to ignore exceptions on an order without issue by clicking IGNORE EXCEPTIONS.


This user will then need to click CONFIRM again since this will remove the exceptions, but it will leave the record in the Quotation stated unless the user clicks confirm again.


Administrator & Is NOT an Exception Manager

When a user has the permission level of Administrator in an app, they are able to check the Ignore Exceptions check box, then click CONFIRM. This will immediately confirm the sales quote and move it into the Sales Order state.

User: Own Documents Only or User: All Documents & IS an Exception User

This combination of permissions behaves similarly to the example above. Since, the current example will cause all the exceptions to trigger, and one of them does not Allow User Ignore, we will not be able to see the ignore button available for this user.

So let's tweak our scenario and only trigger the exceptions the user is Allowed to Ignore. Once the Sales Order is confirmed, the user will see the following popup window, where they would need to click Ignore. This will then move the sales quote into the Sales Order status.


The chatter will immediately add a note indicating which exceptions were ignored and by which user.