Private Shopify App. Single Store. Calgary
Rewards and Referral System for Canvas + Loft
One app that runs the whole loyalty engine. Referrals captured at the POS in seconds, cashback issued as native store credit on fulfillment, clawbacks handled on refund, and every event pushed to Discord and Klaviyo. Hands-off, idempotent, no double payouts.
$100 REFERRAL CREDIT / 2% CASHBACK AT LAUNCH / NATIVE SHOPIFY STORE CREDIT / POS, ADMIN AND STOREFRONT

The Program
Rules the App Enforces, Not the Staff
Referral Reward
$100 in native store credit to the referrer. Issued on full fulfillment only. Partial fulfillment never triggers a payout.
Qualifying Order
Referee's first order only, with an order total of $1,000 or more. Referrer and referee can never be the same customer.
No Cap, Real Volume
No per-referrer limit. Multiple referrals on a single order are allowed and each one resolves independently.
Cashback
A configurable percentage of order value, launching at 2%, issued as store credit on fulfillment. Turn it on or off and adjust the rate from settings, no code changes.
Clawback
Post-fulfillment refund debits up to $100 from the referrer's remaining store credit. Cashback claws back proportionally to the refunded amount.
Draft Orders
Referrals and cashback pay out correctly when a completed draft order is fulfilled, the same lifecycle as a standard order.
Four Surfaces, One System
Built Where the Work Actually Happens
POS Tile. Add Referral
On the showroom floor, the associate taps the tile, searches the referrer, and links the referral to the order. As few taps as possible. If validation fails, the referral auto-voids and a Discord alert fires. If no order follows, it auto-expires on its own.
- Search and select a referrer in seconds
- Auto-link to the active order
- Auto-void on failed validation, with alert
- Auto-expire when no order follows
Admin Block. Order and Customer Pages
An embedded block inside Shopify admin. Add or review referrals without leaving the order. Adds made against an order validate immediately, and the current referral status is always visible right where the team works.
- Add and view referrals on the order page
- Immediate validation on order-linked adds
- Live status on the customer page
Admin Dashboard
Settings, customers, and referrals in one console. Sort customers by balance or lifetime credit, search anyone, open a full per-customer credit ledger. Filter referrals by status and override manually with a recorded reason when a human call is needed.
- Settings panel: cashback toggle and rate, live
- Customer view: sortable, searchable, detail ledger
- Referrals view: status filters, manual void with reason
Storefront Earnings Ledger
Inside the new customer accounts experience, every customer sees where their credit came from, row by row, with live statuses. Privacy stays intact: a referred friend shows as first name and last initial only.
- Source rows with live statuses
- Referred friend shown as "Jordan M."
- Migrated Smile.io amounts labeled "loyalty upgrade"
Automated Lifecycle
Every Referral Has Exactly One State
Payout, resolution, and clawback run hands-off and idempotent. A referral can never pay twice, and every transition is recorded with who, when, and why.
- Pending
Linked to a qualifying order, waiting on full fulfillment.
- Rewarded
$100 native store credit issued to the referrer.
- Canceled / Refunded
Order canceled or refunded before payout. No credit moves.
- Voided
Failed validation or manual override, always with a recorded reason.
- Clawed Back
Post-fulfillment refund. Up to $100 debited, amount recorded.



Wired Into the Stack
Discord, Klaviyo, and a Clean Smile.io Exit
Discord Alerts
A webhook fires on every referral event: added, linked, voided, rewarded, canceled or refunded, clawed back. Each alert carries referrer and referee names and emails, referral count, lifetime credit, current balance, and the event or reason. The team sees the program move in real time.
Klaviyo Sync
Events pushed as they happen: Referral Added, Store Credit Issued, Store Credit Clawed Back. Profile properties stay current on every customer: balance, lifetime credit earned, referral count. Marketing segments built on real numbers.
Smile.io Migration
A one-time migration issues native store credit from the supplied conversion list. Migrated amounts appear in each customer's ledger labeled "loyalty upgrade", so nobody loses what they earned and nobody asks where it went.
V1 SCOPE LOCKED. ONLINE LINK ATTRIBUTION AND THE REFEREE $50 DISCOUNT ARE SCOPED FOR A LATER PHASE

Why It Fits This Store
Furniture Is a Referral Business
Canvas + Loft sells comfortable, confident, convenient furniture shopping in Calgary, with value pricing and flexible financing. Big-ticket orders, real showroom relationships, customers who send their friends. This app turns that word of mouth into tracked, paid, auditable store credit, without adding a single step to checkout.
Build Updates
Get the Build Walkthrough
Leave an email and we will send the milestone plan, the data model, and a screen recording of the full referral lifecycle running end to end.
Sent. The walkthrough is on its way.
Canvas + Loft Furniture
9631 Macleod Trail SW
Calgary, AB T2J 0P6
Mon-Fri 10am-8pm. Sat 10am-6pm. Sun and holidays 11am-5pm
