Opproval is a free WooCommerce extension that lets your customers confirm they have actually received their order, instead of leaving that decision to the shop admin alone.
In a standard WooCommerce shop, an order moves from Processing to Completed the moment someone in the store marks it that way. Nothing in that flow records whether the parcel reached the buyer. Opproval closes that gap by adding one extra step between shipping and completion, and by handing that step to the person who knows the answer: the customer.
How the flow works
- An order comes in and is handled as usual: Pending payment, Processing, and so on.
- Once the parcel is handed to the courier or reaches the buyer, the admin sets the order status to Delivered. This status is added by Opproval; it does not exist in WooCommerce by default.
- The customer opens My Account > Orders and sees a Mark as Received button on that order.
- When the customer clicks it, the order status changes to Completed automatically.
The button appears only while the order sits in Delivered. Before that it is hidden, and after the order is Completed there is nothing left to confirm, so it disappears again.
Why it is useful
- A real record of delivery. Completion is triggered by the buyer, not assumed by the shop, so your order history reflects what actually happened.
- Fewer “I never got it” disputes. The confirmation is logged against the order with the customer’s own action behind it.
- A cleaner internal workflow. Delivered and Completed stop meaning the same thing. Your team can see at a glance which parcels are out and which have been confirmed.
- Better trust. Customers get a say in when their order is closed, which is a small touch that reads as respect for their side of the transaction.
What Opproval does not do
The first releases focus on getting the core flow right, so customisation is deliberately limited. There is no settings screen, no option to rename the status or the button, and no built in reminder system that chases customers who forget to confirm. If a customer never clicks the button, the order simply stays in Delivered until someone in the shop marks it Completed manually.
Requirements
- WordPress 5.5 or higher
- PHP 5.6 or higher
- WooCommerce installed and active
Opproval is open source. The code is public, and contributions are welcome.
