Customer & Vendor Approval (Community)
by Surekha Technologies Pvt. Ltd. https://www.surekhatech.com$ 52.58
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
CRM (crm)
• Contacts (contacts) • Discuss (mail) • Employees (hr) • Purchase (purchase) • Sales (sale_management) • Calendar (calendar) • Invoicing (account) |
| Lines of code | 1557 |
| Technical Name |
customer_vendor_approval_community |
| Website | https://www.surekhatech.com |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
CRM (crm)
• Contacts (contacts) • Discuss (mail) • Employees (hr) • Purchase (purchase) • Sales (sale_management) • Calendar (calendar) • Invoicing (account) |
| Lines of code | 1557 |
| Technical Name |
customer_vendor_approval_community |
| Website | https://www.surekhatech.com |
| Versions | 18.0 19.0 |
Customer & Vendor Approval
A custom approval workflow for Odoo Community Edition that enforces controlled partner (customer/vendor) creation. Every new partner request goes through a configurable review and approval process before being added to the system.
Compatible with Odoo 18 & 19 Community. Built from scratch with no dependencies on approvals, worksheet, or documents modules.
Key Features of Customer & Vendor Approval (Community)
1
2
3
4
5
6
7
8
9
10
Built for Odoo Community
The Odoo Community edition does not include the Approvals, Worksheet, or Documents modules. This app is built entirely from scratch every model, workflow, view, and access rule is custom-coded specifically for Community Edition, requiring only the standard base, mail, contacts, crm, sale_management, and purchase modules.
The app introduces its own approval engine with professional-grade workflow control - complete with multi-level approvals, activity notifications, email alerts, a full audit trail, and partner creation restriction across Sales, Purchase, CRM and Invoice modules.
Approval Workflow
Step 1 - Configure Approval Types (Admin)
Before users can submit any approval requests, the Admin must first configure the approval types. Go to Approvals -> Approval Request -> Approval Types and create a new approval type:
- Set Name - Provide a clear name (e.g., "Customer Approval" or "Vendor Approval")
- Select Approval Type - Choose between Customer Registration or Vendor Registration
- Enable Include Employee's Manager - Automatically adds the requester's manager as the first approver
- Add Additional Approvers - Include specific users to approve the request in sequence after the manager
- Set Overdue Reminder Days - Define after how many days pending approvers will receive reminder notifications
For Requester To Create New Approval Request
Once the approval type is configured, any user can submit a registration request. Navigate to Approvals -> My Requests -> New to open the request form.
Step 2 - Submit a Customer or Vendor Registration Request
Users submit a registration request form instead of directly creating a contact. This ensures that all entries go through a proper approval workflow. The form captures all required partner information:
- Basic Information - Name, Address, Email, Phone, and Website
- Contact Type - Specify whether it is an individual or a company using the Is Company option
- Company - Select which company the contact belongs to (multi-company environment)
- Child contacts - Add invoice address, delivery address, and contact persons
- Description / Notes - Provide additional details via an HTML notes field visible to all approvers
- Supporting attachments - Upload relevant documents directly to the request
Step 3 - Multi-Level Approval Chain
Once a request is submitted, it moves through a predefined approval workflow in a sequential manner:
- An activity is automatically assigned to the first approver in the chain
- Each approver receives an email notification when it is their turn to review
- Approvers can view complete request details but cannot modify partner information
- On approval, the next approver in the sequence is triggered automatically
- Refusal requires a mandatory reason - which is recorded in the chatter
- The requester receives an email notification once the request is approved or rejected
Step 4 - Contact Created on Final Approval
Once the final approver in the chain approves the request, the system automatically creates the contact record with all submitted details:
- The partner record is automatically created using all provided information
- Customer rank or Supplier rank is assigned based on the request type
- If Is Company is not enabled, the contact is created as an individual and linked to the selected company
- If Is Company is enabled, a standalone company-type contact is created
- Child contacts are automatically created and linked under the parent contact
- A Contact smart button appears on the request to directly access the created partner
- The requester is notified by email once the contact is successfully created
Sales & Purchase Integration
To Approve Customers & To Approve Vendors
Dedicated menu items are added directly inside the Sales and Purchase modules so approvers can act without leaving their usual workspace:
- Sales -> To Approve Customers - shows pending customer registration requests assigned to the logged-in user
- Purchase -> To Approve Vendors - shows pending vendor registration requests assigned to the logged-in user
- Approvers can open, review, and approve or refuse directly from these menus
- Users who are not assigned as approver will see an empty list - enforced by record rules
Partner Creation Restriction
Direct contact creation is blocked in Sales, Purchase, CRM and Invoices
Once installed, users cannot directly create a Customer or Vendor from Sales Orders, Purchase Orders,CRM or Invoices. All registrations must go through the approval workflow. The following modules and operations remain fully unrestricted:
Restricted
- Sales Order - new customer quick-create
- Purchase Order - new vendor quick-create
- Invoice - new partner quick-create
- CRM - lead contact creation
Unrestricted
- HR - employee creation
- User management
- Company creation
- Child contacts (sub-contacts of existing partners)
Screenshots
Approval Request Form - Partner Details
Approval Type Configuration
Approved Mail
Used Outgoing Mail server for Testing Purpose.
Refusal Reason Wizard
Sales - To Approve Menu
Creation of Child Contacts with Approval Request
Configuration
1. Approval Type Setup (Admin only)
Go to Approvals -> Configuration -> Approval Types and create separate approval types for Customer Registration and Vendor Registration. For each type you can:
- Enable Include Employee's Manager - requester's direct manager is auto-added as the first approver at submission
- Add Additional Approvers - specific users added in sequence after the manager
- Both options can be used together - manager first, then additional approvers in order
- Set Overdue Reminder (days) - auto-email sent to pending approvers after the configured number of days
2. Assign User Groups (Admin)
Go to Settings -> Users and assign the appropriate group to each user under the Customer & Vendor Approvals section:
- User - can submit requests, see only their own requests (My Requests menu only)
- Manager - can see own requests and requests where they are an assigned approver, can approve/refuse
- Administrator - can see all requests from all users, access Configuration menu, manage approval types
3. Employee Manager Setup (if using Employee's Manager routing)
If the approval type uses Include Employee's Manager, the requester must have an Employee record in the HR module with a Manager (parent employee) assigned whose linked user account has an email address. Without this setup, the submission will raise an error asking to configure the manager. This can be set in Employees -> [Employee Record] -> Work Information -> Manager.
After Installing the Module For the First time Make Sure To Go to Settings -> User and Companies -> Select the Current User -> Go to Customer Vendor Approval and Select Administrator to Make the Approval Menu Visible
Access Rights & Roles
The module introduces three custom groups with strict record-level visibility rules. The table below summarises what each role can do in Odoo 18 and 19 Community.
| Capability | User | Manager | Administrator |
|---|---|---|---|
| Configuration Menu | No | No | Yes |
| My Requests menu | Own only | Own only | Own only |
| All Requests menu | Hidden | Own + assigned | Everyone's |
| Submit new request | Yes | Yes | Yes |
| Approve / Refuse | Only if assigned | If assigned | Only if assigned |
| Approve own request (self-approver) | Yes | Yes | Yes |
| Approve someone else's request (not assigned) | Error | Error | Error |
| Delete requests | No | No | Yes |
Conditional - depends on whether the user is assigned as an approver in the approval chain.




Please log in to comment on this module