Skip to content

One loyalty balance, web and counter.

Charm runs natively inside Shopify POS. Staff earn points, redeem any reward, and see tier and membership status at the register — the same engine, the same balance, no second app or login.

What it is

Most loyalty apps stop at the storefront. But a returning customer who shops both online and in person has one relationship with your brand — and expects one balance. Charm's POS extension closes that gap.

It's a thin in-store surface over the exact same points engine, reward catalog, VIP tiers, and memberships that power the web. Nothing to reconcile, nothing that drifts: the counter reads and writes the same ledger.

How it works

Four moving parts.

The configuration surface is small on purpose. Most stores set this up in one sitting.

  1. 1

    Look up any member at the register

    A Smart Grid tile and a customer block surface the attached customer's loyalty state instantly: points balance, current tier and its perks, active membership, and store-credit balance.

    Staff see the rewards the customer can actually afford right now, plus the next reward they're working toward — so the upsell ('you're 200 points from a free product') is a glance, not a calculation.

  2. 2

    Redeem every reward type

    The redeem modal handles all three reward types in person: mint a discount code, issue store credit, or grant a free product. Points are deducted server-side through the same redeem path as the web, so the existing reconcile and claw-back logic just works.

    Store credit redeems as Shopify's native tender, so it settles cleanly through the POS payment flow.

  3. 3

    Earn automatically on every sale

    POS orders earn points on the same rules as online orders — no separate configuration. A post-sale block confirms the points earned and the new balance on the receipt screen, so the customer sees the reward land before they leave.

    Earning is idempotent and self-healing: it reconciles regardless of webhook timing, so a flaky connection at the counter never costs a customer their points.

  4. 4

    Built for the shop floor

    The extension is localized in seven languages and reacts to the device's active language. It's tolerant of the offline moments real registers have, and it authenticates through the POS session automatically — there's no token plumbing or extra sign-in for staff.

    Because it reuses Charm's existing resolvers, anything you change online — a new reward, a tier perk, a membership — shows up at the counter with no extra setup.

Examples

Three configurations to steal.

Ready-to-copy patterns we see in production. Tune the numbers to your margin and audience.

Pattern 1

Pop-up + online parity

A customer earns online all year, then redeems a free-product reward at your holiday pop-up. One balance, one tap.

Pattern 2

Counter store-credit

Issue store credit at the register as native tender — settles through the POS payment flow, no manual workaround.

Pattern 3

In-store enrollment

Create the customer in POS as usual; the signup rule fires and the welcome bonus is waiting next time they shop.

Use cases

What it looks like in the wild.

Beauty

Beauty: omnichannel regulars

Counter staff see the customer's tier and affordable rewards instantly, turning a checkout into a recognized, rewarded moment.

Apparel

Apparel: flagship + web

Members shop the flagship and online interchangeably; the multiplier and member discount apply identically at both.

Food & Beverage

Food: fast line, real rewards

A glance at the tile shows the balance; redeeming a reward is one modal, so the line keeps moving.

FAQ

Common questions.

Is this a separate app my staff have to install?
No — it's an extension of the same Charm app, running inside Shopify POS. Staff authenticate through the POS session automatically; there's no second login or device.
Do in-store and online points share one balance?
Yes. POS reads and writes the same points ledger, reward catalog, tiers, and memberships as the storefront. There's nothing to sync or reconcile.
Which rewards can be redeemed at the register?
All three types — discount codes, store credit (as native POS tender), and free products. Points are deducted server-side through the same redeem path as the web.
What languages does the POS extension support?
Seven: English, Czech, German, Spanish, French, Hungarian, and Polish. It follows the device's active language.
Does it cost extra?
No. POS loyalty is part of Charm — the same plan, no per-location or per-register surcharge.

When you're ready

Free up to 150 orders / mo.

Every feature on this page is included in Free. Upgrade only when your order volume crosses the threshold.