Pular para o conteúdo principal
Versão: 1.x

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:

  1. Click the Price field on the line item
  2. Enter the new price
  3. 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.

Splitting 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:

  1. Click Add Fee below the cart items
  2. Enter a name (e.g., "Staff discount")
  3. 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:

  1. Click Checkout to open the checkout modal
  2. Enter the coupon code in the Coupon code field
  3. Click Apply coupon
  4. 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 DiscountsWooCommerce Coupons
How appliedEdit the line item price or add a negative feeEnter a coupon code at checkout
Where configuredOn the fly by the cashierPre-configured in WP Admin
TrackingShows as a price change on the line itemTracked as a coupon in WooCommerce reports
RestrictionsNone — the cashier sets any priceSupports usage limits, product restrictions, minimum spend, expiry dates
Best forAd-hoc adjustments, price matchingStructured 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.
Developer Reference

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.