If two accepted WooCommerce coupons produce different totals when entered in a different order, check sequential calculation and coupon priorities. This is different from a coupon being rejected. Reproduce the same basket in both orders before changing your promotion or telling customers to retry checkout.
Record the campaign rules first
Write down coupon type, value, qualifying products, item-usage limit, individual-use setting and any discount extension. Keep basket quantity, sale status, customer eligibility, currency and tax display identical between tests. An extra product or changed shipping address can otherwise explain the difference.
WooCommerce's coupon management documentation says that, with sequential discounts enabled, version 11.2 and later uses entry order to break ties between coupons with the same calculation priority and item-usage limit. Entry order does not override a different priority or item limit. Do not generalize this into βthe first coupon always wins.β
Build a two-order comparison
On staging, use a simple eligible product and controlled customer. Remove all coupons, record the starting subtotal and apply A then B. Save each discount line and the final total. Reset the cart completely, recreate the identical basket and apply B then A.
| Test input |
A then B |
B then A |
| Product IDs and quantities |
Same fixture |
Same fixture |
| Coupon restrictions |
Recorded |
Unchanged |
| Sequential setting |
Recorded |
Unchanged |
| Tax and currency |
Recorded |
Unchanged |
| Discount lines and total |
Capture result |
Capture result |
Eligibility: Restrictions unchanged. Priority: Document calculation rules. Order: Stored discount matches. Approval: Campaign owner signs off. Explanatory checklist, not a customer test result.
An illustrative arithmetic example shows why sequence deserves attention: reducing 100 by 10 and then by 20 percent yields 72, while reducing 100 by 20 percent and then by 10 yields 70. This is not a prediction of WooCommerce's result for arbitrary coupon types, because its priority and allocation rules still apply. Use the store's actual output as evidence.
Distinguish intended rules from stale display
If the cart and checkout disagree for the same coupon sequence, inspect response data and stored order totals. A theme fragment or cache may display an old subtotal while the server has already recalculated. Use the coupon eligibility guide when a code is rejected entirely; do not mix that problem into the sequence experiment.
If an extension controls stacking, consult its rules before changing the core setting. Temporarily compare with the extension disabled only on an approved staging clone. A result from core alone does not prove the extension is defective; it establishes which component owns the behavior.
Get approval for any business-rule change
Changing the calculation setting can change the offer customers receive. Preserve the original configuration and have the campaign owner approve the desired behavior. Do not turn stacking restrictions off merely to make the numbers match a screenshot.
Before release, verify one eligible basket, one excluded basket, both entry orders and a controlled final order. Include refunds or cancellations through the store's normal test process where needed. HandL WP can investigate the discount calculation with a reproducible basket and explicit promotion rules.
References reviewed October 12, 2026. Examples are explanatory, not customer test results.