Loyalty that customers actually use.
Most loyalty plugins are detached from accounting. Points multiply, expire, get redeemed — and the books never quite agree. Nonari builds loyalty into the ledger. Every point issued is a liability, every redemption posts to the right account, the balance always ties out.
Multi-layer earn
Three rule types stack: program-level (1 point per PKR 100), product-level (double points on shawls), campaign-level (4× points this weekend). Highest match wins per line.
FIFO expiry
Points expire on a configurable horizon (12 months from issue is common). When customer redeems, oldest points go first — so the about-to-expire ones get used.
Real ledger liability
Issued points = liability on the BS. Redeemed points = liability decrement + sales discount. Expired points = liability decrement + miscellaneous income. Always ties.
Per-program tiers
Bronze / Silver / Gold with different earn multipliers and redemption rates. Auto-promote when lifetime spend crosses thresholds.
Customer-facing portal
Customers see their points balance, expiry dates, and earn history on a public link. Redeem online; cashier validates with a code.
Bulk apply
Drop a list of contacts into a campaign at once. "Give 500 points to every customer who bought in the last 90 days" is two clicks.
Configurable redemption
Define redemption tiers — 1000 points = 5% off, 5000 points = 25% off, 10000 points = free item. Per-program, per-tier.
POS integration
Cashier scans loyalty card, sees customer balance, applies redemption at checkout. Posts to AR, sales discount, and loyalty liability automatically.
Campaigns module
Schedule earn campaigns ("4× points on Eid weekend"). Start and end dates respected. Per-product or store-wide.
Expiry notifications
WhatsApp / email customers 30 / 14 / 7 days before their points expire. Drives redemption — and a return visit.
Salesperson attribution
Optionally attribute earned points to the salesperson who rang the sale. Feeds into commission structures.
Frequently asked.
How do points appear on the financial statements?
Issued points sit as a liability ("Loyalty Points Outstanding") on the balance sheet at their PKR-equivalent redemption value. Redemption reduces the liability and posts the redeemed value to Sales Discount expense. Expired points hit Miscellaneous Income.
Can I run multiple loyalty programs at once?
Yes. Each customer can be enrolled in multiple programs. At checkout, the cashier picks which program applies (or the customer chooses via the portal). Useful for B2C + B2B segments under one roof.
What about birthday or anniversary bonuses?
Bulk-apply campaigns handle this — schedule a campaign to issue 1000 points to every customer with a birthday this month. Combine with the customer portal's contact-info edit so customers maintain their own birthday data.
See it in action.
Free to start, no credit card. Bring your books, kick the tires, export everything if you decide to leave.