Discounts and Coupons
WCPOS provides several ways to discount an order, from quick percentage buttons to WooCommerce coupon codes. This page covers all of them.
Quick Discounts
Quick discount buttons let you apply a percentage discount to the entire order with a single tap.
To configure them, open the cart Display Settings and enter a comma-separated list of percentages in the Quick Discounts field. For example, 5,10,15,20 creates four shortcut buttons.
When you tap a quick discount button, the percentage is applied across all line items in the cart.
Line-Item Discounts
You can change the price of any individual line item directly in the cart:
- Click the Price field on the line item
- Enter the new price
- Press Enter to confirm
This is useful for price matching, staff discounts, or one-off adjustments. The line item's total updates automatically based on quantity × new price.
See Line Items for more on editing cart items.
If a customer wants different discounts on portions of the same product (e.g., 3 at full price and 2 discounted), enable the Split option in cart Display Settings to break a line item into separate lines.
Order-Level Discounts
To apply a flat discount to the entire order (rather than individual items), add a negative fee:
- Click Add Fee below the cart items
- Enter a name (e.g., "Staff discount")
- Enter the discount amount as a negative number (e.g.,
-5.00)
The fee appears as a separate line item and reduces the order total. You can edit the fee's tax status using the three-dot menu if needed.
Coupon Codes
WooCommerce coupon codes can be applied at checkout:
- Click Checkout to open the checkout modal
- Enter the coupon code in the Coupon code field
- Click Apply coupon
- The discount appears in the order summary
Coupons must be set up in WooCommerce first (WP Admin > Marketing > Coupons). All standard WooCommerce coupon types work — percentage discounts, fixed cart discounts, fixed product discounts, and so on.
POS Discounts vs WooCommerce Coupons
These are two different mechanisms, and it's worth understanding the distinction:
| POS Discounts | WooCommerce Coupons | |
|---|---|---|
| How applied | Edit the line item price or add a negative fee | Enter a coupon code at checkout |
| Where configured | On the fly by the cashier | Pre-configured in WP Admin |
| Tracking | Shows as a price change on the line item | Tracked as a coupon in WooCommerce reports |
| Restrictions | None — the cashier sets any price | Supports usage limits, product restrictions, minimum spend, expiry dates |
| Best for | Ad-hoc adjustments, price matching | Structured promotions, trackable discounts |
If you need to track discount usage in WooCommerce reports or enforce rules like usage limits, use coupons. If you just need a quick one-off price adjustment, POS discounts are simpler.
How POS Discounts Interact with Coupons
When a cashier sets a custom price on a line item (e.g., reducing $18 to $16), this is treated as a "POS discount". If a coupon is then applied, the coupon calculates against the POS-discounted price ($16), not the original price ($18).
- The order subtotal still shows the original price for display purposes.
- When a coupon is removed, the line item returns to the POS-discounted price.
- POS-discounted items are treated as "on sale" by WooCommerce. If a coupon has exclude sale items enabled, it will skip POS-discounted items — the same way WooCommerce treats regular sale items.
For technical details on how POS discounts are stored and the available filters, see the POS Discount Reference.
Known Limitations
- No automatic discount rules — the POS doesn't support "buy 2, get 1 free" style automatic discounts. Use WooCommerce coupons for structured promotions.
- Quick discounts are percentage-only — there's no built-in quick button for fixed-amount discounts. Use a negative fee or edit individual prices instead.
- Coupon validation happens server-side — if your site is unreachable, coupons can't be applied. POS discounts (price edits) work regardless of connectivity.