Solidshop’s core ships with a built-in discount engine for running promotions. You can configure automatic discounts that apply when a cart meets certain conditions, or coupon codes that customers enter at checkout.

Core vs. Advanced plugin. This section describes the discount features built into the core component. The Discount & Coupons plugin (coming soon) extends this engine with rule-based conditions (per-product, per-category, per-customer), bulk coupon generation, advanced stacking controls, usage analytics, and scheduled campaigns. The core engine and the plugin share the same data model — promotions you create in the core continue to work after installing the plugin.

Creating a discount

Go to Solidshop → Discounts → New. The form has three tabs: General, Conditions, and Action.

General tab — when it fires
  • Name — a label for your reference (e.g. “Spring Sale 10%”). Not shown to customers.
  • Status — Published, Unpublished, or Trashed. Unpublished discounts never apply.
  • Trigger typeAutomatic applies to every qualifying cart with no action from the customer; Coupon code only applies when the customer enters the exact code at checkout.
  • Code — the coupon string (shown only when trigger type is Coupon code). Click the randomise button to generate a short unique code.
  • Priority — the order of evaluation when multiple discounts qualify. Higher priority runs first.
  • Combinable — whether this discount can stack with other combinable discounts. Non-combinable discounts win over lower-priority ones and block them from applying.
  • Start / end date — schedule the discount. Empty start or end means “always on” from that side.
Conditions tab — who qualifies
  • Minimum cart total — the discount applies only when the cart subtotal reaches this amount.
  • Usage limit — the maximum number of orders this discount can apply to, in total, across all customers.
  • Usage limit per user — the maximum number of times a single customer can redeem this discount.
Action tab — what it does
  • Action typePercentage (e.g. 10 = 10% off) or Fixed (a currency amount off).
  • Action value — the percentage or amount.

The core engine always applies the discount to the full cart subtotal. To restrict the discount base to specific line items (matched by SKU), install the Discount & Coupons plugin (Coming soon) — it adds an Action scope selector (Cart total vs. Product level) that works together with SKU-based rules in the Advanced Conditions tab.

Applying a discount manually on an order

You can apply a one-off discount directly from the order detail page — useful for goodwill gestures, phone-order negotiations, or back-office promotions that don’t warrant a full discount rule. Open the order, click the Apply discount button in the products section, choose Percentage or Fixed, enter the value, and save. The order recalculates immediately.

Testing a coupon: create a coupon-code discount with a high usage limit, start date in the past, and a small percentage value. Open the storefront in a private window, add a product to the cart, and enter the code at checkout — confirm it applies, appears in the order total, and shows up on the order detail page and invoice.