Your support helps keep this blog running! Secure payments via Paypal and Stripe.
If you run a WooCommerce store and need a quotation system for wholesale customers, traders, or vendors, you have probably come across YITH Request a Quote Premium. It is a popular plugin that allows customers to request custom pricing before placing an order.
One common workflow is to offer different discount percentages to different customer groups, such as 10%, 15%, or other negotiated discounts. The easiest way to achieve this is by using native WooCommerce percentage coupons.
In our workflow, quotes can be created in two ways:
- Customers submit a quote request from the frontend.
- An administrator creates a quote manually from the WordPress backend after speaking with the customer.
The Problem
When creating a quote from the backend, the administrator applies a standard WooCommerce percentage discount coupon to the quote.
The quote is then emailed to the customer. After the customer clicks the Accept Quote button, the quote is converted into a WooCommerce order and payment is completed successfully.
Everything appears to work correctly.
However, the problem occurs when the administrator creates the next quote.
The same coupon is no longer a percentage discount.
Instead, the coupon has automatically been converted into a fixed cart discount, and its value has been changed to the exact discount amount used in the customer’s previous order.
For example:
- Original coupon: 15% off
- Previous order discount: $82.50
- Next quote unexpectedly uses $82.50 fixed discount instead of 15% off
If the administrator does not notice this change, it can result in significant financial loss because the wrong discount is applied.
Investigating the Issue
This issue was discovered while providing maintenance and troubleshooting services for one of my long-term clients.
Initially, neither the client nor I understood why it was happening.
The issue was difficult to reproduce consistently, and manually testing every possible scenario became extremely time-consuming.
Instead of guessing, I added custom logging that recorded every time a WooCommerce coupon’s:
- Discount type
- Discount amount
was modified.
After collecting logs for about a week, the cause became obvious.
The coupon was being modified only after the customer clicked the Accept Quote button in the email.
Finding the Cause
After reviewing the YITH Request a Quote Premium source code, I identified the section responsible for changing both the coupon discount type and discount amount.
I opened a support ticket with YITH to report my findings.
The response was surprising.
According to YITH support, this behavior is intentional. Their explanation was that the coupon is designed primarily for frontend usage.
However, their documentation also states that administrators can create quotes from the backend using WooCommerce coupons.
These two statements contradict each other.
In practice, this means the backend workflow can unexpectedly alter reusable WooCommerce coupons, creating a risk of incorrect discounts on future quotes.
My Solution
Rather than modifying the plugin directly, I implemented a custom safeguard.
First, I added a new custom field to every WooCommerce coupon that stores its original discount type.
Each coupon only needs to be configured once by the administrator.
Next, I created a custom validation process that runs whenever a coupon is applied to a YITH quote from the backend.
The validation compares:
- The coupon’s current discount type
- The original discount type stored in the custom field
If they do not match, WooCommerce displays its standard coupon error message.
The administrator can then:
- Open the coupon in a new browser tab.
- Restore the correct discount type and discount amount.
- Save the coupon.
- Return to the quote editing page.
- Apply the coupon again.
Since the validation runs through AJAX, there is no need to reload the quote editing page while updating the coupon.
This provides a simple and safe workflow without modifying the YITH plugin itself.
Final Thoughts
If you are using YITH Request a Quote Premium and regularly create quotes from the WooCommerce backend using reusable percentage coupons, you should verify whether your coupons are being modified after customers accept their quotes.
This issue can easily go unnoticed and may lead to incorrect discounts and reduced profit margins.
Hopefully, this article saves you the many hours of investigation that I spent tracking down the cause.
If this post has saved you time, frustration, or potential financial loss, please consider buying me a coffee. Your support helps me continue investigating and sharing solutions to real-world WordPress and WooCommerce problems.
Your support helps keep this blog running! Secure payments via Paypal and Stripe.

