Welcome to ScalePlus
This is the full walkthrough, every screen, every button, every shortcut. If you only have five minutes, start with the Quick start. If you're stuck on one feature, jump there from the table of contents on the left.
Quick start, 5 minutes
Three steps from blank to live
- Set up your business. Open Settings → Business and fill in your name, logo, brand color, currency, and contact details. Everything customer-facing pulls from here, sign-up page, card, receipts, notifications.
- Build your program. Head to Rewards, pick an earning rule (points, punch card, cashback, tiered, or combine), add 2–4 rewards, choose a card design. The live preview on the right updates as you go.
- Share your link. Open Sign-up link, hit Copy to put the URL on your clipboard, or print the QR poster for your counter. New members appear in Members the moment they sign up.
Dashboard
The dashboard is your daily check-in. Five KPI tiles up top (members, repeats, points issued, points redeemed, redemption rate), an Overview line chart, Top Rewards bars, an Engagement donut, a Visits Overview, and a "Points Expiring Soon" list.
What each control does
Members
Every customer who joins your program shows up here. Each row has a per-member QR (printable), home branch, tier dot, points balance, visit count, and last-visit date. Click any row to open the member dialog.
Adjusting points (with audit trail)
- Click any member row to open the dialog.
- Scroll to Adjust points. Choose + Add or − Remove.
- Enter the points amount, pick a reason (Goodwill, Missed scan, Campaign bonus, Referral, Correction, Other), add an optional note (max 80 chars).
- Click Apply adjustment. The change appends a row to the member's Audit log with the timestamp, the reason, your name, and the branch you're scoped to. Append-only, you can never edit or delete past entries, only add new ones.
CSV import
- Click Import CSV at the top right.
- Pick a CSV file with columns
name, email, phone, points, joined. Order doesn't matter; column names do. - The preview dialog shows totals: Rows / Ready / Duplicates / Errors. Duplicates are matched by email and phone, existing members are skipped automatically. Per-row errors are listed (e.g. invalid email, missing name).
- Click Import to commit. New members are tagged to your active branch and get auto-generated member numbers.
CSV export
Click Export to download a UTF-8 CSV with all members and their branches. Useful for backups, migrations, or wiring an offline campaign.
Rewards & program
This is the most important page in the app. The earning rule decides how members accumulate value, the reward catalog decides what they can redeem, the card design is what they see in their wallet. Live preview on the right updates as you change anything.
The 6 earning rules
Reward catalog
- Click Add reward to create a new item.
- Set the name (what members see), the cost in points, and the icon, pick from 69 Lucide icons grouped into Beauty, Food, Retail, Fitness, Pets, and General.
- Cheap rewards first (low-cost wins keep members engaged). Most successful programs have 3–5 rewards spanning 100 → 1500 points.
Card design
Pick a preset (Gradient, Noir, Minimal, Sunrise, Forest), tweak the primary + secondary colors, upload a custom background, choose a texture (dots / grid / noise), and adjust corner radius + image overlay. Everything reflects in the live preview to the right.
Coupons live in Rewards → Coupons. They're separate from rewards: a reward is earned by spending points, a coupon is a code that grants a discount at checkout. Members see assigned coupons inside their wallet card.
- Click Add coupon. Name it (e.g. "First-time visit"), pick a code (e.g.
WELCOME15), choose percent or amount off, and set the discount value. - Optional: set an expiry date, mark it one-time (single redemption per member), and pick the audience, All, New members, Gold tier, Birthday month, or Inactive 30+ days.
- Use the per-row controls to pause (temporarily inactive), edit, or delete a coupon.
Each member has a personal referral link: lty.plus/<your-slug>?ref=<member-no>. When the referee signs up through that link (and meets the qualifying spend, if set), both sides get points.
- Toggle Enable referral pair on.
- Set Points to the referrer (the existing member) and Bonus to the new member. 200 / 100 is a typical starting point.
- Set Min qualifying spend. Use 0 for "credit on signup", or e.g. ₱500 if you want to filter out drive-by signups who never visit.
- Set the per-month cap to prevent abuse (5 is typical).
Sign-up link & QR
This is the page you'll come back to constantly. Your sign-up URL, a real scannable QR (printed at high contrast, ECC level H so a future logo overlay won't break it), one-tap copy, and channels for SMS, email, print, Messenger, Instagram, and POS receipts.
Per-branch links
If you have multiple branches, a tab strip appears under the topbar. The primary branch keeps the clean URL (lty.plus/your-slug); additional branches get lty.plus/your-slug/branch-slug. Members are auto-tagged to whichever branch they signed up under, so attribution is automatic.
Install poster
The Install poster button generates a per-branch PWA manifest and lets you pin the QR poster to your phone home screen as a separate app icon. One tile per branch, each with the branch name as the app title.
Channels
- SMS, Send the link to a phone number directly. The recipient opens the URL in their browser, fills in their details, and the card appears.
- Email, Magic-link invite. Pre-filled subject + body, ready for your favorite mail app.
- Print poster, A4 with your QR + branding. Stick on the counter, on the menu, in the window.
- Messenger / Instagram / Receipts, Same link, different channel. POS receipt integration is on the roadmap.
Notifications
Reach the right customers at the right moment. Pick an audience (all / by tag / by group / individual), write a short message (60-char title, 180-char body), preview how it'll look on a phone, and send.
- Pick an audience. All hits everyone subscribed. By tag filters by computed attributes (e.g.
vip,recent,at-risk). By group uses a saved cohort. Individual targets one specific member. - Write the title (max 60) and body (max 180). The phone preview on the right updates live.
- Optional: paste a URL that opens when the user taps the notification.
- Click Enable browser push the first time you visit, your browser will ask permission. Grant it, then click Send notification.
Cashier toolkit
A separate, dark-themed PWA designed to live full-screen on the counter tablet. Cashiers scan member QRs, award points or redeem rewards, and end their shift. Owner-only screens are locked away.
Set up a tablet
- On the tablet's browser, open
/scanner.html. Tap Install on this tablet when the prompt appears. The Cashier Toolkit becomes its own home-screen app, separate from the owner dashboard. - Pick the branch this tablet is at from the topbar dropdown. The choice is saved per-device, switching the workspace's active branch elsewhere won't affect this tablet.
- In Settings → Branches → Cashier station PIN, set a 4–6 digit PIN. Cashiers enter it on app open. Sessions auto-expire after 30 idle minutes.
Daily workflow
- Open the Cashier Toolkit app. Enter the PIN (or skip if no PIN is set). A new shift starts automatically.
- Tap Start camera to enable the QR scanner. The reticle appears. Or tap Simulate scan to demo without a real card.
- When a member is matched, their profile + balance + tier appear on the right. Pick the Earn tab to award points, or Redeem to cash in a reward.
- For Earn: enter the purchase amount in pesos, hit Award points. Quick-amount chips (₱100 / ₱200 / ₱500 / ₱1000) speed this up.
- For Redeem: tap any reward chip the member can afford. Confirms with a toast.
- At the end of the shift, tap End shift. The handover dialog shows scan count, points awarded/redeemed, duration, and unique members served. Closing the shift relocks the PIN.
Settings
Business
Logo (upload a square PNG/JPG, ≤512×512 ideal, or pick an emoji), business name, tagline, website, contact email, phone, address, currency, timezone, and brand color. Every customer-facing screen pulls from here.
Branches
See the Multi-branch section below: slot meter, add-on pricing, branch CRUD, and the cashier-station PIN.
Team
- Click Invite teammate. Enter their name, email, and role.
- They receive an invite link to set up their access. Status flips from Invited → Active on first login.
- Use the per-row dropdown to change roles, or the trash icon to remove. The Owner can't be removed.
Roles
Four built-in roles, each with a clear permissions list. Owner = everything. Manager = run the program but no billing or team management. Cashier = scan and award/redeem only. Viewer = read-only dashboard. Custom roles arrive in Pro.
Billing
See your current plan, usage limits, and recent invoices (auto-charged on the 1st of each month). Upgrade or manage from this tab.
Customer card
When a member taps your sign-up link or scans the QR, this is what they see. The customer card PWA installs to their home screen with your business name and your logo, not ScalePlus's.
The five front-face variants
Back face
Tap any card to flip. Back face shows your business name, address (with map link), phone, hours, and a featured menu item. All pulled from Settings → Business + the rewards builder's "Card back" panel.
How it works
Multi-branch architecture
A workspace owns one business but many branches. The first branch is included free; each additional branch is an add-on slot (₱599/branch/month in the prototype).
- Open Settings → Branches. The slot meter shows used/allowed.
- Click Add branch. Set name, slug, address, phone, manager, hours.
- If you're at capacity, click Get more slots first.
- Switch the active branch via the sidebar workspace switcher (click the workspace pill at the top of the sidebar). Every page that respects the active branch (sign-up link, scanner default, etc.) updates.
Three branch contexts (don't confuse them)
Workspace active
Stored in localStorage. Set via the sidebar switcher. Default scope for new pages.
Dashboard filter
Stored in sessionStorage. Per-tab. "All branches" by default. Doesn't override the workspace selection.
Cashier station
Stored in localStorage per device. The tablet at Greenbelt 5 stays at Greenbelt 5 even when the owner switches branches elsewhere.
Install as a phone app (PWA)
ScalePlus runs as three Progressive Web Apps. Install the one(s) you need:
Owner Dashboard
For you. Full app with sidebar, all owner pages.
- Open dashboard.html
- Tap Install ScalePlus when the button appears in the topbar
Cashier Toolkit
For the counter tablet. Dark theme, full-screen, scoped to scanner.
- On the tablet, open scanner.html
- Tap Install on this tablet
Customer Card
For your members. Branded with your logo and name, not ScalePlus's.
- Member opens their card link from your sign-up page
- Browser prompts "Add to home screen"
Install on Android (Chrome)
- Tap the three-dot menu in the top right of Chrome.
- Tap Install app or Add to home screen.
- Confirm. The icon appears on your home screen alongside native apps.
Install on iOS (Safari)
- Tap the share icon at the bottom (square with arrow up).
- Scroll down and tap Add to Home Screen.
- Confirm. iOS doesn't have an "install banner" the way Android does, Add to Home Screen is the same thing.
Install on desktop (Chrome / Edge)
- Look for the install icon in the address bar (a monitor with a down-arrow).
- Click it, confirm.
- ScalePlus opens in its own window with no browser chrome. Pin it to your taskbar / dock.
Offline & sync behavior
ScalePlus keeps working when WiFi flakes. Every page caches its shell, and the cashier scanner queues scans for sync.
Works offline
- Browsing all pages (cached shell)
- Viewing customers & their data
- Cashier scanning + earn/redeem (queued)
- The customer card itself
- Local notifications (already-permitted)
Needs internet
- Sending push notifications to others
- Real-time sync between devices
- Wallet pass updates (Track 03)
- Anything talking to /api or /v1
Auto-sync
Queued scans drain automatically the moment connectivity returns. You'll see a snackbar: "3 queued scans synced".
Security & PIN
Cashier PIN
A 4–6 digit PIN that locks the Cashier Toolkit. Stored only as a SHA-256 hash via the browser's SubtleCrypto, never as plaintext, never in shared storage. Set it in Settings → Branches. Sessions auto-expire after 30 minutes of idle. End-of-shift forces a re-lock.
Roles & permissions
- Owner, full access including billing and team.
- Manager, run the program, but no billing or team changes.
- Cashier, scan + award/redeem only. No dashboard, no settings.
- Viewer, read-only dashboard.
UI permissions are a hint today. Once the backend ships (Track 01), every API call re-checks the role server-side.
What's stored where
loyaltyplus.v4. Encrypted in transit on HTTPS.FAQ
How long does setup take?
Five minutes for a working program (logo + earning rule + 2 rewards + sign-up link). Half an hour for a polished one (custom card design, branches, team invites, first notification).
Do my members need to install an app?
No. The customer card opens in any browser, Chrome, Safari, Edge, Firefox. They can install it to their home screen if they want a one-tap shortcut, but it's optional. Their loyalty data lives on your account, not theirs.
Does ScalePlus work on iPhone?
Yes, with one caveat: iOS Safari requires the customer card to be added to the Home Screen before push notifications work (iOS 16.4+). On Android, push works whether the card is installed or not. Your owner dashboard works fine on both, install it like any PWA from Safari's share menu.
What if my internet drops mid-shift?
The Cashier Toolkit keeps scanning. Each earn/redeem is saved to the tablet's IndexedDB queue. The status pill in the topbar shows "Offline · N queued". The moment connectivity returns, the queue drains automatically and you'll see a "3 queued scans synced" snackbar. No data is lost.
How do I add a second location?
Open Settings → Branches → Add branch. The first branch is free; each additional branch is an add-on slot. Each branch gets its own sign-up link, QR poster, and cashier scanner station.
Can I migrate from another loyalty platform?
Yes. Export your members from your current platform as a CSV with columns name, email, phone, points, joined. On Members, click Import CSV. The preview shows duplicates, errors, and ready-to-import rows before you commit.
What happens to points when I change my earning rule?
Existing balances stay intact. New earns use the new rule. If you switch from "points per peso" to "punch card", balances become punches automatically (we round to the nearest whole punch). Tiered → points conversion uses the lifetime-spend you set.
How do I reset a customer's PIN if they forgot it?
Customers don't have PINs, only cashier stations do. If a cashier forgot the station PIN, open Settings → Branches → Cashier station PIN and click Change PIN. Distribute the new PIN to your team.
Can I send notifications to a single customer?
Yes. On Notifications, switch the audience to Individual, then search by name, email, or member number. Pick the customer, write your message, send.
What's the difference between rewards and coupons?
Rewards are earned by spending points (e.g. "Free Express Facial, 250 pts"). They live in the rewards catalog and appear on every member's card.
Coupons are codes that grant discounts at checkout (e.g. WELCOME15 for 15% off). They can be one-time, expire, and target specific audiences. They appear as a separate coupon card in the wallet.
Are points adjustments reversible?
No. The audit log is append-only, every adjustment is a new entry, never a delete or edit. To "reverse" a 50-point credit, add a −50 adjustment with reason "Correction". Both entries stay in the log forever. This is by design, owners and auditors should always be able to see the full history.
How do I export my data?
Today: CSV export of members from Members → Export. Once the backend ships, you'll get full GDPR-compliant exports (members + transactions + audit) as a single ZIP, scheduled deletion, and per-customer "right to be forgotten" requests.
Can I use my own domain for the sign-up link?
Custom domains are coming with the backend. Today, your link is lty.plus/your-slug, short, memorable, prints well on a poster. You can already redirect from your own domain (e.g. yourshop.com/rewards) at your DNS provider.
How much does ScalePlus cost?
See the pricing on the main site. Starter is free for up to 200 members. Growth is ₱1,490/mo for up to 5,000. Scale is ₱4,900/mo for unlimited. Each extra branch is an add-on slot at ₱599/mo. Custom build is by quote.
Can my members have a single card across multiple ScalePlus businesses?
Not yet, each business has its own card. Cross-merchant member graph (one ScalePlus card, every business) is on the long-game roadmap as Track 12, The Moat. It's our most defensible feature, but it requires the backend to ship first.
Does ScalePlus integrate with my POS?
Loyverse is the first POS integration on the roadmap (Track 09, Distribution). Shopify and a generic webhook follow. Today, cashiers manually enter the purchase amount into the Cashier Toolkit and tap Award points, fast enough for most queues.
What about Apple Wallet / Google Wallet passes?
Google Wallet is in Track 03 of the roadmap, it'll show your member's balance on the lock screen and refresh silently on every transaction. Apple Wallet is deferred (Android-first market). Both require the backend to land first.
Is my data private?
Today's prototype keeps everything in your browser's local storage. Don't put real customer data here yet. The production app (Track 01 + Track 11) ships with: HTTPS-only cookies, server-side row-level security scoped to business_id, GDPR/PDPA/LGPD compliance, SOC 2 Type II, and a public status page.
Still stuck?
We read every message.
One real human, one business day. No script, no chatbot.
Found something missing from this page? Tell us, we update it as the product grows.
Last updated: April 2026.