Purchase Approval Flow | Purchase Order Approval Workflow | Approval Purchase Order | Purchase Order Multiple Approvals | Purchase Flow

by
Odoo          
v 10.0 Third Party 2

199.00 €

You bought this module and need support ? Click here !
Technical name purchase_approval_flow
LicenseAGPL-3
Websitehttp://www.gybitsolutions.com
Read description for v 12.0 v 11.0
Required Apps Purchase Management (purchase)
Employee Directory (hr)
Inventory Management (stock)
Invoicing (account)
Technical name purchase_approval_flow
LicenseAGPL-3
Websitehttp://www.gybitsolutions.com
Read description for v 12.0 v 11.0
Required Apps Purchase Management (purchase)
Employee Directory (hr)
Inventory Management (stock)
Invoicing (account)
Note: This module is successfully works in Community Editions only.

Purchase Approval Flow


This App help to manage Purchases with approval flow. This Purchase-Approval-Flow will passes through Users. Each and every User has approval limit and increase limit.
So User can purchase as per his/her approval limit. Requests For Quotation's information can send through Mail notification.
Features:
* Multiple Levels Approval. Admin can add number of approval hierarchy.
* Waiting for Approval menu to track the RFQ which need to be approve.
* Mail functionality to notify next user regarding current RFQ.
* User can confirm order or Reject Approval.
* Delegate User and Override User Function.
* Increase Limit for Confirmed RFQ/PO.
Short Forms:
PAF - Purchase Approval Flow
RFQ - Requests For Quotation
PO - Purchase Order
DU - Delegated User

PAF is working on Employee, Job Title(Job Positions) Configuration.

Configuration

Odoo Users


Employee

Menu: Employees > Employees
Assign the value of Related User and Job Title.
1) Related User : Assign a user to employee from HR Setting Page.
PAF manage with Login user's employee's configuration.
2) Job Title: Assign a job to employee from Public Information Page --> Position Block.
Please refer the configuration of Job title(Job Position).
3) Reports To Next Job : It is auto field. It will set from Job Title --> Reports To Next Job. It's set here only for information purpose.

Fields added in list view of employee: Reports To Next Job and User.

Job Titles (Job Positions)


We added a menu for Job Titles(Job Positions).
Menu: Employees > Configuration > Job Titles
Reports To Next Job, Current Occupant, Budget Override and Approval Limit added in Job Positions. These fields are part of configuration. Please refer explanations for each customized fields.
Job Positions :
Reports To Next Job: Set a job position indicate that it will reports to a next job-position. In the case of login user's limit is less than total amount of RFQ, PAF search a employee which has assigned Reports To Next Job job-position as Job Title. After PAF will pass to searched Employee's related User.
Current Occupant: Current Occupant field will auto set. Its represent employee. User can see which employee is assigned for current Job position. Its just for information purpose for Admin. No need to configure it manually.
Budget Override: It is indicate that employee with this job position can confirm any RFQ. PAF will not check its approval-limit amount becuase this job-position assigned as budget-override. PAF will be bypass for this employee's User.
Delegate User: Its represent a user. The user who can confirm/reject RFQ behalf of Current Occupant's related User.
Approval Limits Page: Configuration of Approval limit.
      Odoo Model: Purchase Order
      Approval Limit: Amount limit to approve RFQ. User can confirm order if only Approval limit >= RFQ's Total amount.
      Increase Limit: This is the permission to increase the total value of an approved Purchase Order after it has already been fully approved.

Form View:


List View:

User can easy get the info from list view of Reports To Next Job, Current Occupant, Budget Override, Delegate User.
Please follow the configuration.

This configuration is just for demo purpose. Admin need to configure data as per the requirement of organization. Let's configure Odoo.

USERS

Menu Path: Settings > Users > Users.
Create Odoo Users or use existing users and add email id.
1) Administrator
2) Antoine Langlais
3) Ashley Presley
4) David Samson
5) Famke Jenssens - DU
Must define email id because PAF will send RFQ info to related Users. Go to User's Related Partner and define email in Email field.

EMPLOYEES

Menu Path: Employees > Employees
Create employees or use existing employees and assign Odoo User, Job Title.
1) Administrator
Name = Administrator
Related User = Administrator
Job Title = Chief Executive Officer

2) Antoine Langlais
Name = Antoine Langlais
Related User = Antoine Langlais
Job Title = Chief Technical Officer

3) Ashley Presley
Name = Ashley Presley
Related User = Ashley Presley
Job Title = Consultant

4) David Samson
Name = David Samson
Related User = David Samson
Job Title = Experienced Developer

5) Famke Jenssens - DU
Name = Famke Jenssens - DU
Related User = Famke Jenssens - DU
Job Title = Human Resources Manager

Job Titles (Job Positions)

Menu Path: Employees > Configuration > Job Titles
Create Job Positions or Use existing Job-Positions and assign Reports To Next Job, Budget Override, Delegate User as per our need.
1) Chief Executive Officer
Job Title = Chief Executive Officer
Reports To Next Job = Chief Technical Officer
Budget Override = Let's keep untick. You can assign it if you want to make this position as budget override.
Delegate User = Do not assign for now. Assign a Odoo-user if you want to confirm/reject RFQ behalf of Current Occupant's related User.
Approval Limits Page:
     Odoo Model = Purchase Order
     Approval limit = 3,000.00
     Increase Limit = 1,000.00

2) Chief Technical Officer
Job Title = Chief Technical Officer
Reports To Next Job = Consultant
Budget Override = Let's keep untick
Delegate User = Do not assign
Approval Limits Page:
     Odoo Model = Purchase Order
     Approval Limit = 5,000.00
     Increase Limit = 2,000.00

3) Consultant
Job Title = Consultant
Reports To Next Job = Do not assign.
Budget Override = Let's keep untick.
Delegate User = Famke Jenssens - DU.
Approval Limits Page:
     Odoo Model = Purchase Order
     Approval limit = 7,000.00
     Increase Limit = 3,000.00

4) Experienced Developer
Job Title = Experienced Developer
Reports To Next Job = Do not assign.
Budget Override = Assign this job as Budget Override.
Delegate User = Do not assign.
Approval Limits Page: No need to create Approval Limits because this job assigned as Budget Override.

After this Configuration, Employee and job positions records look like below.

So based on above configuration,
Administrator's approval limit is 3000.00
Antoine Langlais's approval limit is 5000.00
Ashley Presley's approval limit is 7000.00


In RFQ, Email Notification, Next User to Approve, Approved Amount, Declare as Ordered, Approvals customized fields added.
Email Notification : If it is Activate, Email will send to next user.
Next User to Approve : When User click on Confirm Order button and RFQ's total amount less than User's approval limit, PAF will set a user to Next User to Approve. Its indicate the User Who is next to approve this RFQ.
Approved Amount : Approved Amount will be visible Once RFQ fully approved by final user and PO's Total amount set as Approved Amount. Its readonly field. Increase Purchase Order functionality will work on this amount If only Increase PO function enabled.
Declare as Ordered : indicate this PO is full confirmed. It will visible if only the RFQ full approved.
Approvals Page : The full log of users approvals hierarchy.
     User : User Name.
     Status : Status of approval by a user. System will set Signed OR Pending Signature OR Rejected based on User's approval/disapproval.
     Sign Date : Datetime of approval/disapproval day.
     Comment : If user rejected ths RFQ, user should be write a comment here.

Let's Create RFQ and execute Purchase Approval Flow

Login with Administrator user and create a RFQ and Confirm it

Email notification = Activated. RFQ's total amount is 6,600.00

When Administrator user click on Confirm Order button, PAF will check his approval limit. PAF search a employee where related user assigned to Current login-User(Administrator). Once employee found and if employee's Job Title assigned and Job Title's approval limit available then PAF will check the approval-limit is sufficient to confirm RFQ or Not.

Here Administrator configuration is :
Administrator: User --> Employee: Administrator --> Job Title: Chief Executive Officer --> Approval Limit:3000.00
Now Approval-limit 3000.00 < RFQ's total amount 6,600.00 So Administrator-User can not confirm this RFQ and so this RFQ will pass to next User.
1) RFQ status will be Waiting for Approval.
2) PAF will add approvals lines until next user's approval-limit amount >= RFQ's total amount 6,600.00
3) Here we can see Next User to Approve = Antoine Langlais
4) A mail sent to Next User.
Please refer below Screenshot.
 Note : If Administrator's Approval-limit >= RFQ's total amount, Administrator can confirm RFQ and a approval line will add to RFQ's Approval Page.
We can see multiple Approvals lines in Approvals Page. Administrator just confirmed RFQ so his status showing Signed with Sign date. Administator can add comment for this RFQ. Other Users status showing as Pending Signature.
PAF setted user Antoine Langlais as Next User to Approve.

A Email will sent to User Antoine Langlais with below contain. Please refer below screenshot.
    User can go to RFQ direct with click here
link. It will redirect in new tab in browser. So user can quickly review RFQ.

Waiting for Approval Menu: The RFQ which status is Waiting for Approval will visible in this menu only.
Next User to Approve added in List view. Please refer screenshots.

VALIDATION

1) Once RFQ is in Waiting for Approval status, User can not confirm the same order twice.
Ex.: Administrator just confirm the RFQ. Now If Administrator try to confirm the order again, system will raise warning You have already signed this document. Refer below screenshot.

2) In Waiting for Approval status, The User can confirm the RFQ only if he/she assigned as Next User to Approve.
Ex.: Next User to Approve is Antoine Langlais.
If Ashley Presley try to confirm RFQ, system will raise warning You are not the next user in line to Approve.
Let's login with Ashley Presley and confirm it. Refer below screen shot.

3) The User who is not in list for Approvals, can not confirm the RFQ. System will raise warning You are not an authorized user to validate. Refer below screenshot.
Ex.: Login with David Samson. Let's Try to confirm RFQ.

Next User Antoine Langlais needs to login to confirm this RFQ.

Let's login with Next User Antoine Langlais

Here Antoine Langlais's configuration is :
Antoine Langlais:User --> Employee:Antoine Langlais --> Job Title:Chief Technical Officer --> Approval Limit:5000.00
Now Approval-limit 5000.00 < RFQ's total amount 6,600.00 So Antoine Langlais-User can not fully confirm this RFQ and so this RFQ will pass to next User.

Once Antoine Langlais confirmed the RFQ,
1) RFQ's status will be in Waiting for Approval.
2) In Approvals page, his status will set Signed with Sign Date.
3) User Ashley Presley assigned to Next User to Approve and Reject Approval will button hide.
4) A mail sent to Next User.

A Mail will send to next user(Ashley Presley) with RFQ info. Please refer below screenshot.

Reject RFQ approval: How to reject RFQ approval ?

Reject Approval Button :
The user can confirm or reject approval. If user want to reject RFQ, please click on Reject Approval button, a wizard(pop up) will open. Here user need to add comment with explanation for rejecting this RFQ.
Please refer this video which showing reject approval functionality.
https://youtu.be/qpNRmxmvwwM
If user reject the RFQ,
    In Approvals page, his status will show Rejected with Sign Date and comment.
    A Mail will sent to all user(which are in approvals) with rejection comment.
    RFQ's status will be set Cancelled.
This video is only for demo purpose. Right now we are not going to reject approval flow.

Let's see the next RFQ flow.
Next User Ashley Presley need to login to confirm this RFQ.

Let's login with Next User Ashley Presley

Here Ashley Presley's configuration is :
Ashley Presley:User --> Employee:Ashley Presley --> Job Title:Consultant --> Approval Limit:7,000.00
Now Approval Limit 7000.00 > RFQ's total amount 6,600.00 So Ashley Presley-User can confirm this RFQ.

Once Ashley Presley confirmed RFQ,
Next User to Approve field will be invisible because Ashley Presley can fully confirmed this RFQ.
1) RFQ's status will change to Purchase Order.
2) In Approvals page, his status will set Signed with Sign Date.
3) Approved Amount will be visible. Approved Amount will be used only if User want to increase purchase order's amount.
4) Declare as Ordered field will be visible. This field indicate that RFQ is fully confirmed.

Now the RFQ is full Confirmed and RFQ conveted into Purchase Order.


Now the approval flow is completed here, Let's see below functionalities which we can use in life cycle of PAF.
1) Delegate User Functionality Flow
2) Budget Override Functionality Flow
3) Increase Purchase order

Delegate User Functionality Flow

How Delegate User can confirm RFQ behalf of a User ?
In Job Positions - Consultant, Let's add Famke Jenssens - DU user as Delegate User.
Now Current Occupant is Ashley Presley(Employee) and Current Occupant's Related User is Ashley Presley
So Now Famke Jenssens - DU can confirm RFQ behalf of Ashley Presley user.
Please refer this video to How delagate user can confirm RFQ behalf of other user ?
https://youtu.be/i3KtXrV00t0


Budget Override Functionality Flow

Why Budget Override needed ?
When Final User's approval limit is less than RFQ's total amount, then finally at least a user needs to confirm the RFQ. System will search the Budget Override User and add in RFQ's Approvals hierarchy.

Let's assign a Job Position as budget override
* It is indicate that employee with this job position can confirm any amount of RFQ. PAF will not check its approval-limit amount becuase this job-position assigned as budget-override. PAF will be bypass for this employee's User.
* In order to confirm RFQ which is comes from purchase approval flow, Budget Override User must be in lines of RFQ's Approvals Page.
Please refer the video: https://youtu.be/c8nEsTWZkGk


Increase Purchase order

Default Odoo allow to add Purchase lines(Products) in confirmed RFQ.
This apps support to configure increase limit to Users. So user can increase purchase order upto his/her increase limit amount.
To enable this feature, Please Go to Configuration : Purchases > Configuration > Setting.
Now Enable this option Increase Purchase order ? and click on Apply button. If user don't want this functionality, user can simply deactivate the option.

Let's check
Login with Administrator User. Administrator's increase limit is 1000.00
Here Administrator configuration is :
Administrator:User --> Employee:Administrator --> Job Title:Chief Executive Officer --> Increase Limit:1000.00

PO00024 is fully confirmed. All user signed this purchase order and PO Total amount is 6,600.00
So Administrator can Increase PO up to 7,600.00
Ex. : 7,600.00 = 6,600.00 (PO's Approved Amount) + 1000.00 (Increase Limit)

Let's add a PO Line

Product is iPad Mini add Unit price 1200.00 .
Click on Save Button. Odoo raise a warning like Your increase limit is 1000.00 You can increase this PO's total up to 7600.00

So now change iPad Mini --> unit price to 900. Now PO's Total amount is 7500.00 . Now Click on Save. Odoo can allow to Update this PO.
Please refer below screenshot.

If Antoine Langlais User want to increase PO, Let's See. Login with Antoine Langlais User.

Antoine Langlais's increase limit is 2000.
Here Antoine Langlais's configuration is :
Antoine Langlais:User --> Employee: Antoine Langlais --> Job Title: Chief Technical Officer --> Increase Limit:2000.00
So Antoine Langlais can Increase PO Upto 8,600.00
Ex. : 8,600.00 = 6,600.00 (PO's Approved Amount) + 2000.00 (Increase Limit)

Let's add a line.

Product is iPad Retina Display add Unit price 1350.00
Click on Save Button. Odoo raise a warning like Your increase limit is 2000.0 You can increase this PO's total up to 8600.00

So now change iPad Retina Display --> unit price to 1000 and Click on Save. Odoo can allow to Update this PO.

User can Update/Add line as per define his/her increase limit.

Need help?

:: Contact for this module, maintenance, for any question, need support or request for the new features ::

Please log in to comment on this module

  • This section is meant to ask simple questions or leave a rating.
  • This author can leave a single reply to each comment.
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.