Increase Repeat Purchases
Give customers a reason to return by turning previous purchases and engagement into value they can redeem on future orders.
Checkout using your account
This form is protected by reCAPTCHA - the Google Privacy Policy and Terms of Service apply.
Checkout as a new customer
Creating an account has many benefits:
30-day money back guarantee
Gitlab access is only given to Agencies and Freelancers after
approval process.
Please note: we do not provide installation or implementation services for our extensions.
Installation should be handled by the developer or agency managing your store. This approach ensures:
Although we don’t offer installation, we maintain a curated list of recommended development agencies experienced with our solutions.
If you'd like to receive this list, please contact us at [email protected].
Partnership Inquiries
Reward programs only create value when customers understand them, merchants can shape them around margins, and the balance remains trustworthy through the entire order lifecycle.
Give customers a reason to return by turning previous purchases and engagement into value they can redeem on future orders.
Award points for purchases, registration, newsletter signup, reviews, birthdays, first orders and referrals rather than limiting loyalty to spend alone.
Control earning rates, redemption minimums, per-order limits and the percentage of an order that points may cover.
Every credit and debit has a ledger entry, giving support and finance teams a transaction history behind the number customers see.
If reward points are stored as one mutable number, every checkout, refund, cancellation and asynchronous process becomes another opportunity for that number to drift away from reality.
An interrupted operation or concurrent update can lose a credit or debit, leaving the problem invisible until a customer questions the balance.
Revoking earned points after a refund can exceed the customer's current balance if those points have already been spent elsewhere.
If points are deducted too late in checkout, failures and retries can leave an order using the discount without the corresponding loyalty debit.
qoliber Reward Points records every loyalty movement as a transaction and derives the customer's balance from that history. The summary balance is therefore something the system can verify rather than an isolated number it has to trust.
Credits, debits, reservations and adjustments create new transaction rows. Corrections use compensating transactions rather than rewriting existing history.
A CLI reconciliation process recalculates balances from the ledger under a row lock and reports drift, including FIFO remainder issues and canceled orders whose points were not restored correctly.
If a refund requires more points to be revoked than the customer currently owns, the difference becomes recorded debt instead of pushing the visible balance below zero. Future earnings settle that debt first.
Business postings carry idempotency keys protected by a unique database index, preventing a retried or concurrent event from posting the same loyalty movement twice.
Point balances and lifetime totals use 64-bit integers, avoiding artificial accumulation limits as programs and customer histories grow.
Cancelled orders restore spent points and cancel pending earnings only after the cancellation itself has committed successfully, preventing loyalty state from getting ahead of Magento's order state.
Not every product, customer segment or behaviour needs the same reward. Earning controls are configurable per website and can be activated independently.
Define earning rules by website, customer group, SKU and category, with configurable points-per-money steps and active date windows.
When no specific rule matches, the store can fall back to a configurable default earning rate.
Award configurable points for customer registration, newsletter signup, approved product reviews, birthdays and first orders.
Create tiers based on lifetime earned points and assign an earning multiplier to each tier, allowing your best customers to accumulate rewards faster.
Tier membership is recalculated nightly.
Redemption controls how much loyalty value a customer may use and when the points are actually committed to the order.
Points are reserved before Magento calls the payment service. If the requested redemption cannot be funded, checkout stops before payment is charged.
Failed order placement releases the reservation, while retry protection ensures a successful order is debited once.
Configure a minimum number of points per redemption, a maximum per order and the maximum percentage of the order value that reward points are allowed to cover.
Choose whether loyalty points can offset shipping and tax so redemption behaviour matches the merchant's commercial rules.
Referral attribution can reward advocates while enforcing a per-advocate daily cap under a lock.
Once-per-product review rewards are protected atomically with a unique database constraint, reducing duplicate reward abuse.
Optional expiration removes overdue point remainders using FIFO allocation under the balance lock rather than applying a simplistic date-based balance reduction.
Customers can receive reminder emails a configurable number of days before points expire.
Migrate loyalty balances through CSV import with all-or-nothing prevalidation and dry-run support, export current balances and run reconciliation from CLI.
An administrative import interface is included as well.
Integrations and headless storefronts can read balances and history, apply points to carts and preview future earnings over REST, with GraphQL fields and mutations provided through the companion module.
Without reservation logic: the balance and order can disagree.
Points are reserved before payment and released when order placement fails, keeping the available balance aligned with the actual checkout outcome.
Without idempotency: customers earn or lose the same points twice.
Database-backed idempotency ensures each business posting is accepted once, including when asynchronous processing or integrations retry an operation.
Without debt handling: loyalty balances become negative.
The shortfall becomes recorded points debt and future earnings repay it before becoming available for redemption.
Without reconciliation: customers can permanently lose loyalty value.
Cancellation compensation is linked to committed order state, while reconciliation can identify canceled orders whose expected restoration did not happen.
Simple expiry logic can remove value that has already been consumed.
FIFO remainder tracking expires only the outstanding value associated with the relevant earning lots.
“The database says 400” is not an explanation.
The append-only transaction history shows how the current balance was created, while reconciliation verifies that the summary still equals the ledger.
Loyalty programs tend to grow. A simple earn-and-spend requirement becomes tiers, promotions, migrations, referrals, expiry, headless storefronts and accounting questions.
Reward Points is designed so agencies start with one defined loyalty architecture instead of accumulating project-specific patches around an editable customer balance.
The full module source is delivered through qoliber's GitLab so agency teams can inspect the implementation they deploy for clients.
REST and GraphQL expose the loyalty data and cart operations required by PWA storefronts and external commerce applications.
CSV dry runs and prevalidation help agencies move existing customer balances into the new ledger without accepting a partially imported dataset.
Transactions, debt, expiry and reconciliation provide support teams with concrete evidence when a customer or merchant questions a balance.
End-to-end, unit and integration suites cover the storefront, Magento Admin, configuration and GraphQL paths.
PHP 8.1 through 8.5 support covers current Magento and Mage-OS project stacks.
Earning and spending points is a common feature in Magento loyalty extensions. The larger technical differences appear in how balances behave during concurrency, refunds, failed checkouts, expiration and migration.
| Capability | qoliber Reward Points | Competing modules |
|---|---|---|
| Balance model | Append-only ledger + derived balance | Architecture varies |
| Balance reconciliation | Built-in CLI reconciliation | Not commonly documented |
| Checkout protection | Points reserved before payment | Implementation varies |
| Duplicate event protection | Database-enforced idempotency | Rarely documented publicly |
| Refund beyond available balance | Recorded debt, no negative spendable balance | Behaviour varies |
| Expiry | FIFO remainder expiry under balance lock | Expiry commonly available; implementation varies |
| VIP tiers | Lifetime-earned thresholds + earning multipliers | Common in advanced products |
| Referral protection | Locked daily caps + atomic duplicate protection | Implementation varies |
| Migration | CSV import with dry run and all-or-nothing validation | Varies by vendor |
| Headless | REST + optional GraphQL | Support varies |
| Published automated testing | 20 E2E tests + PHPUnit unit/integration suites | Usually not published |
“Typical Magento Loyalty Extension” describes common market characteristics rather than any individual vendor. Capabilities and implementations vary between products. “Not commonly documented” means the architecture is not generally described on public product pages, not that no other implementation supports it.
Magento 2.4.6+ and Mage-OS.
PHP 8.1 – 8.5.
Balance, history, cart redemption and earning preview.
Optional companion module for headless and PWA storefronts.
Reward Points can award points from purchase-based earning rules and configured customer actions including registration, newsletter signup, approved reviews, birthdays and first orders. Purchase rules can target websites, customer groups, SKUs, categories and active date ranges.
Yes. Customers can apply points to the cart within merchant-defined minimums, maximums and percentage limits. The merchant can also configure whether points may offset shipping and tax.
Points are reserved before the payment call. If the available balance cannot support the requested redemption, checkout is stopped before payment is charged. Failed placement releases the reservation and successful posting is protected against duplicate execution.
The customer's spendable balance is not pushed below zero. The outstanding amount is recorded as points debt, and future earned points settle that debt before they become available to spend.
Yes. Expiry is optional and uses FIFO allocation to retire overdue remaining balances. Customers can receive a reminder a configurable number of days before points expire.
Yes. Tiers can be defined using lifetime earned-point thresholds and each tier can apply its own earning multiplier. Tier assignments are recalculated nightly.
Yes. Balances can be imported from CSV using CLI tools with dry-run support and all-or-nothing prevalidation. An administrative import screen and balance-export tooling are also included.
Yes. REST endpoints expose balances, transaction history, cart redemption and earning previews. An optional GraphQL companion provides fields and mutations for PWA and headless storefronts.
Yes. Every balance movement is recorded in the transaction ledger, and the reconciliation command recalculates balances from that history and reports inconsistencies rather than relying solely on the stored summary balance.
The supplied test suite includes 20 passing Playwright end-to-end tests across 14 spec files, together with PHPUnit unit and Magento integration suites, including GraphQL coverage.
Reward purchases, engagement and referrals, create VIP tiers and flexible expiration rules, and let customers redeem points safely at checkout — backed by a ledger that gives your team a complete history behind every balance.