Core concepts
This page explains how Reward Engine thinks, so the rest of the documentation makes sense. You don't need to read it to get started, but it helps when designing a loyalty programme rather than just a single rule.
One engine, many rewards
Most shops accumulate a stack of single-purpose plugins: one for loyalty points, another for referrals, another for birthday coupons, another for abandoned carts. Reward Engine collapses these into one rule-based engine. Instead of separate tools with separate rule languages, you describe when a reward applies and what it is — and the same engine evaluates all of them.
Earn and redeem are two sides of the same coin
The engine has two kinds of rule, and the admin names them in plain language:
- Ways to earn (reward rules) — how customers get points or rewards.
- Ways to redeem (spend rules) — how customers spend points for value.
Points are the currency between them. A way to earn increases a balance; a way to redeem decreases it. The points exchange rate (a global setting) defines what a point is worth at redemption time.
Native Rule Builder, not a second rule language
Both rule types use Shopware's built-in Rule Builder for targeting. This is deliberate: you already use the Rule Builder for promotions and shipping, so there's nothing new to learn, and conditions compose the same way everywhere. "Who matches?" on a reward rule is a Rule Builder condition.
Simulate before you publish
Because rules can stack and use arbitrary conditions, the combined effect of your rules isn't always obvious. The Simulator evaluates a sample cart/customer against your active rules and shows what would fire — so you verify behaviour without placing test orders. The Max simultaneous rewards per cart setting caps stacking to keep outcomes predictable.
Points have a lifecycle
Points aren't just a number. They are earned in lots, can expire, and customers are warned before expiry. Expiry and warnings run as scheduled background tasks; the warning lead time is configurable. Lifecycle rewards (birthday, anniversary, abandoned cart) run the same way — on a schedule, not on a page load.
Everything is logged, and refunds are safe
Every point movement — earn, redeem, manual adjustment, expiry, refund reversal — is recorded in the Point Activity ledger, and rewards are written to a refund-safe log. When an order is refunded, the engine reverses the exact points that order granted, automatically. This is why manual adjustments are reserved for genuine corrections: the common cases are handled for you.
Events flow into Flow Builder
The engine emits business events (reward earned, points expiring soon, friend joined, …) that surface in Flow Builder. Notifications and emails aren't hard-coded — you compose them as flows, using the same tooling you use for the rest of your shop. This keeps Reward Engine focused on the reward logic and lets Shopware own the messaging.
Where to go next
- Build your first rule: Create a way to earn points.
- Look up the data and events: Entities, events & scheduled tasks.
