When you set a sale price for a product in WooCommerce, or when the price of a product is modified by 3rd party plugins, WooCommerce does not store this price (or discount) in the order data by default. As a result, once the order is placed, the customer doesn’t see the discount they got in the email or invoice they receive, and the admin doesn’t see this in the order details either.
This is because WooCommerce only considers coupon discounts as discounts, whereas a change in price (a sale price or a programmatically modified price) is simply regarded as the actual price of the product.
This plugin addresses that issue by copying the ‘regular price’ from the product data as soon as the order is created (either in the backend or via the checkout). This price is then set as the item’s “pre-discount” price (leaving the actual price paid untouched). The result is that WooCommerce will show this the same way it shows coupon discounts.
Something is not working correctly
Please post a message to our support forum and we’ll do our best to help resolve your issue!
How can I contribute to this project?
This project is hosted on github: https://github.com/wpovernight/sale-discount-for-woocommerce
If you want to contribute to the code, feel free to submit a PR. You can also open issues on Github, although we encourage you to open a ticket in the support forum here on WordPress.org first if you’re not absolutely sure something is a bug.
Contributors & Developers
“Sale price as order discount for WooCommerce” is open source software. The following people have contributed to this plugin.Contributors
“Sale price as order discount for WooCommerce” has been translated into 6 locales. Thank you to the translators for their contributions.
Interested in development?
- New: Allow storing discount for non-sale items (filter:
- Fix: Loading textdomain
- Translations: Added Spanish 🇪🇸
- First public release 🎉