The critical/big purchase process on the website requires submitting a request for the purchase, gaining admin approval, and then making the payment for the products.
But this process can be easy by using the Magento 2 Order Approval Rules module. With the help of this module, the customers can place the orders and wait for the admin approval to complete their orders.
The admin can easily approve/disapprove customer orders. This allows the admin to check the genuine orders and give their approval accordingly. Only after the admin approval, the customer can complete the order.
Email notifications are sent to both the admin and the customer related to order approval status.
Watch the below video tutorial to understand the extension workflow :
Magento 2 Company ? Read More
- The customer can place the order approval request by placing the order.
- Various custom order status is available at the admin end, such as order_approval_pending, order_approved, order_disapproved.
- The admin can create custom order approve conditions as per cart attributes, product attributes, shipping methods, address, etc.
- Set a custom message visible on the checkout page if the order is under moderation.
- The customer gets the notification via mail for the order approval requirement.
- The customer gets the notification via mail on the approval or disapproval of the orders.
- The users will get the “Complete Order” link when the admin approves the order.
- To complete the order, the customer can select the payment method and make the payment.
- Separate section to view pending orders which require approval.
- The admin can easily approve and disapprove of the orders in bulk.
- The admin can generate the pending orders in CSV or excel.
- The guest user cannot place the order approval request if they are satisfying the order approval condition.
Note: Whether the admin sets the condition or not, the Guest user must login first.
The customers will get a zip folder and they have to extract the contents of this zip folder on their system.
The extracted folder has an src folder, inside the src folder you have the app folder.
They need to transfer this app folder into the Magento 2 (Adobe Commerce) root directory on the server as shown below.
After the successful installation, the admin has to run these commands in the Magento 2 root directory.
First command – php bin/magento setup:upgrade
Second command – php bin/magento setup:di:compile
Third Command – php bin/magento setup:static-content:deploy
After running the commands, the admin has to flush the cache from the Magento admin panel.
For that, they need to navigate through->System->Cache management as shown below.
Thus, module installation completes in this way.
For module translation, navigate to the following path in your system app/code/Webkul/OrderApproval/i18n/en_US.csv.
Open the file named en_US.CSV for editing as shown in the below screenshot:
Then replace the words after the comma(,) on the right in the file with your translated words.
After editing and translating the CSV file, you need to save the translated file name according to your region language and country code such as – de_DE.CSV.
Followed by uploading the translated file to the same folder from where you have obtained it.
Thus, in this way, the module translation completes.
After the module installation, the admin can configure the module from the back-office.
For that, the admin has to navigate through Stores -> Configuration -> Webkul -> Order Approval as per the below image:
Enable Order Approval – Enable the module by selecting Yes else, select No to disable the module.
Admin Mail – Configure the admin email address to receive emails for the new order’s arrival.
Conditional Order Approval Check – Choose Yes if order approval is required based on certain conditions, else choose No.
Order Approval Required – Admin will define the rule/condition as required. If all mentioned conditions are true then order approval is required for the customer else the customer can checkout without order approval.
Ex: The admin can apply the condition based on cart price, categories, quantity, etc. If all the conditions were satisfy then it will move for order approval.
Message For Buyer – Enter the message which is visible to the customers on the checkout page if the order is under moderation.
Message For Buyer When Order Is Completed – Enter the message for the customers which will display on the checkout page if the order is completed.
The Message For Guest User When Placing Order – Here the admin can enter the message which will visible to the guest user on the cart page.
Email Templates Settings:
Order Approval Pending Mail – Set an email template for the order approval pending notification to the customer whenever the new order creates.
For reference, you can see below screenshot of email notification for the order approval pending:
Order Approval Pending Mail to Admin – An admin will also get mail when a customer places an order and the admin decides whether to approve or disapprove the order.
For reference, you can see below screenshot of email notification for the order approval:
Order Approval Mail – Set an email template for the customers when the admin approves the pending orders
For reference, you can see below screenshot of the email notification for the order disapprove:
Disapproved Order Mail – Set an email template for the customers when the admin disapproves of the orders.
For reference, you can see below screenshot of email notification for the order disapprove:
Note: The admin can create various custom email templates by navigating to the Marketing -> Communication -> Email Templates.
Thus, the module configuration completes in this way.
Checkout With Order Approval
The customer can place the order just like default Magento. But when it comes to select the payment method, the checkout will display only the Order Approval payment method.
For the reference, check the below snapshot:
The customer can view the “order approval required” message if the order is under moderation and can select the Order Approval payment method to place the order.
The customers can view their orders under the section My Orders as shown below:
Here, the customer can check the status of their orders that whether the admin has approves the orders or not.
The Complete Order link is there if that order is approved by the admin.
Else, the Order Disapproved status gets updated for the order which gets disapprove by the admin.
The customer can click this Complete Order link to complete the order.
Note: If the guest customer places the order and If that order satisfies the condition of the order approval then this module asks the guest customer to log in at the time of placing order.
When the Guest Customer adds the product to the cart and selects the view and edit the cart page. The message is displayed for the customer to login first if the condition is satisfying.
For the reference, you can check below:
And if the condition is not satisfying then the guest customer can checkout without login.
Thus, that is all about how the customer can place the order while the order approval check.
Manage Orders- Admin End
The admin can view and manage the orders which are pending for approval from the back-end.
For that, the admin needs to navigate to Sales -> Pending Orders as shown below:
This will navigate the admin to the Pending Orders For Approval list page.
Also, the admin can –
- Check the status of the orders under the Status.
- Approve/Disapprove the orders. For this, they have to select the orders from the list and choose the required action from the Action button.
- The admin will get the notification for the approval or disapproval of the orders.
- View the order details by clicking the View link.
If The Order Is Disapproved
After the disapproval of the order, the respective status is display at the admin end and the customer ends too.
- Customer End
- Admin End
Also, if the order is not approved, then the admin will not have the following options in order detail page to manage the order –
If The Order Is Approved
If the order is approved, the respective status gets updated at the admin end and customer end too.
- Customer End
- Admin End
The following options to manage the order in order detail page will not be visible to the admin until and unless the customer doesn’t complete the order –
Thus, in this way, the admin can manage the orders which are requested by the customers.
Complete Order – Customer End
The customer can view the complete order link in the My order list and the order detail if that order gets approved by the admin.
The customer will have to click on the view order button.
On the order detail page, the customer can click the Complete Order link to complete the order.
The customer will be redirected to the checkout page, where they have to select the Payment Method and click on the Place Order button to complete the order.
For the reference check the below image:
After placing the order, the status of the order changes to pending as shown below:
Also, the Complete Order link will no longer be visible once the customer completes the order.
Thus, in this way, the customer can complete the order after the admin approval.
Furthermore, the customer can also ask queries from the admin on my order page. When they click on the ask query button following page fill open.
Moreover, the customer can enter his email id and query related to any placed order and submit it. This query directly escalated to the admin and they will receive it on their email id. Accordingly, they can answer the customer’s query and revert to them to the same email.
Process The Order – Admin End
Once the customer completes the order, that order will no longer be visible in Pending Order for Approval list at the admin end.
The admin can view and manage those orders by navigating to Sales -> Orders as shown below:
The admin will click the View link to process the order.
Hence, this is how the admin can process the order after completion from the customer end.
Generate CSV/Excel Of Pending Orders-Admin End
Current Product Version - 4.0.2
Supported Framework Version - Magento 2.0.x, 2.1.x, 2.2.x,2.3.x, 2.4.x