RECEIPT / 001

WooCommerce owns the coupon.

PerkRule extends native WooCommerce coupons instead of replacing them with a parallel coupon domain model.

Why it matters

Coupon identity, native restrictions, usage, expiry and discount calculation already have a canonical home in WooCommerce. Duplicating that model would create synchronization risk and weaker ecosystem compatibility.

Implementation

  1. WC_Coupon is the persistence boundary for coupon data PerkRule does not own.
  2. PerkRule metadata is limited to concepts WooCommerce does not natively represent, such as application mode, rule definition, priority and stacking configuration.
  3. Coupon creation, update, duplicate, enable, disable, trash, restore and delete paths use native WooCommerce coupon persistence rather than a parallel coupon table.
  4. Native coupon description and status remain authoritative instead of being mirrored into PerkRule metadata.

Evidence

  • Real WooCommerce integration coverage includes coupon collisions, trash/restore behavior and persistence rollback paths.
  • Coupon-code lookup was hardened around WooCommerce datastore behavior without introducing a second coupon index owned by PerkRule.
  • HPOS compatibility is treated as an official platform requirement; order data is not modeled through legacy postmeta assumptions.

Known boundary

This receipt proves the ownership model used by the current development branch. It does not claim compatibility with every WooCommerce extension until the compatibility lab is complete.