Chapter 7 of 8Page 4 of 6

Advanced

Loyalty programs

Run points, visit stamps, tiers and cashback loyalty programs inside Business Central: earn and redeem rules, rewards, expiry, G/L posting and loyalty reports.

updated: applies-to: 1.0.0.141

Bitta Retail POS includes governed loyalty programs that run inside Business Central: points, visit stamps, tiers and cashback. You design a program as a draft, add its rules and tier benefits, validate it, and activate it; from then on the register enrolls customers, awards value on completed sales and redeems it through a voucher tender, with every movement recorded in a loyalty ledger and, when you choose, posted to the G/L. This page is for administrators. For what cashiers see, read Loyalty at checkout.

Prerequisites

  • The BAA POS - Admin or BAA POS - Full permission set. Every lifecycle action and balance adjustment requires it; without it you see "This loyalty administration action requires the "BAA POS - Admin" permission set." BAA POS - Supervisor can view memberships, entries, expiry runs and the loyalty reports.
  • An active voucher tender method for redemption (the default is VOUCHER) that is available on at least one active terminal. See Tender methods setup.
  • The G/L accounts for your accounting mode, all direct-posting and not blocked.
  • If points or cashback will expire, Loyalty Time Zone ID on POS Setup.

Program types

Program Type Balance How value is earned
Points Points Units Per Spend Amount for each Spend Amount Per Unit of eligible spend. Unit Redemption Value sets what one point is worth.
Visit Stamps Visits or Stamps, then Reward Units Visit/Stamp Mode counts visits (with a Visit Minimum Amount) or stamps per Stamp Quantity Divisor. Reaching Reward Threshold converts them into a value or item reward.
Tiers Tier Spend Qualifying spend moves the member between tiers defined by Tier Threshold rules. Tiers give benefits rather than redeemable value.
Cashback Money Cashback Percent of eligible spend.

Maximum Redemption Percent caps how much of an eligible sale loyalty value can cover (0 means no extra cap). Stack Policy decides whether a program is Exclusive or Stackable with other programs, and Priority orders programs (lower first).

Design a program

  1. Search for Loyalty Programs. The demo data creates four programs, DEMO-POINTS, DEMO-VISITS, DEMO-TIERS and DEMO-CASHBACK, all in Draft. Demo programs are never activated for you. To create your own, choose New.
Loyalty Programs list with DEMO-POINTS Active, DEMO-CASHBACK Suspended and DEMO-TIERS and DEMO-VISITS in Draft
Step 1: the program list with the four demo programs, after one was activated and one suspended.
  1. On the Loyalty Program card, fill in the General FastTab (Program Type, Priority, Stack Policy, Enrollment Policy, effective dates; leave Currency Code blank for local currency), then Earning, Redemption and Rewards, Expiration and Accounting and Adjustments. Status is not editable; it changes only through the lifecycle actions.
Loyalty Program card for DEMO-POINTS showing the General, Earning and Redemption and Rewards FastTabs
Step 2: set the program type, earning and redemption.
  1. Choose Rules. Each rule has a Rule Type (Eligibility, Earn, Conversion or Tier Threshold), a Priority, effective dates and scopes: Organization Scope (company, store or register profile), Customer Scope (all customers, one customer or a customer price group) and Item Scope (all items, one item or an item category). Earn rules can override the program's spend, units or cashback percent; a zero keeps the program value. A Tiers program needs Tier Threshold rules with unique tier codes and thresholds that start at 0 and increase.
Loyalty Rules for DEMO-TIERS with an Eligibility rule and Tier Threshold rules for the BASE and SILVER tiers
Step 3: rules decide which sales earn and where tiers start.
  1. For a Tiers program, choose Tier Benefits. A benefit gives a tier a BC Price List, a Customer Price Group, an Approved POS Discount percentage, or an Earn Multiplier on another, non-tier program.
Loyalty Tier Benefits for DEMO-TIERS with an Approved POS Discount benefit for the SILVER tier
Step 4: benefits for a tier.
  1. Choose Validate. It runs every activation check without changing the status and reports either "Loyalty program ... is ready for activation." or the list of configuration issues.
Message after choosing Validate on a loyalty program card, stating that the program is ready for activation
Step 5: validate before you activate.

Activate and change a program

Choose Activate to validate and activate a Draft or Suspended program. Activation checks, among other things, that:

  • at least one active rule exists for the current policy version;
  • the program currency is the local currency;
  • the voucher tender is available on an active terminal and settles to the liability account (accrual accounting) or the redemption expense account (non-accrual);
  • when expiration is on, Loyalty Time Zone ID is valid and exactly one recurring loyalty expiry job queue entry with a 60-minute interval is ready.

An active program cannot be edited. To change it, choose Suspend (stops new earning, enrollment and redemption), then Create Policy Version, which copies the rules and benefits into a new draft version you can edit and activate. Retire ends a program permanently.

Memberships

A membership links one POS customer to one program. Customers join in two ways:

  • Enroll Customer on the program card (enrollment source Manual);
  • automatically when a cashier selects the customer at the register, for active programs whose Enrollment Policy is Auto On Customer Selection.

Search for Loyalty Memberships to see every membership with its Status (Pending, Active, Blocked, Closed), enrollment details and current tier. Block asks for a reason code; Close is final. Entries opens the member's loyalty ledger.

Loyalty Memberships list with program code, POS customer number, status, enrollment date, enrollment source and current tier
Memberships: one row per customer and program.

To correct a balance, use Loyalty Balance Adjustment (or Adjust Balance on Loyalty Entries). Enter the program, customer, Balance Kind, signed units or value and the program's Adjustment Reason Code; the adjustment is previewed and confirmed before it is applied, and it cannot take a balance below zero.

Accounting

Each program uses one of two modes, set on the Accounting and Adjustments FastTab:

  • Accrual Accounting Enabled: earned value is posted as a liability (Loyalty Liability Account No. against Loyalty Expense Account No.), and expired value moves to Breakage Income Account No.
  • Without accrual, redemptions are expensed to Redemption Expense Account No.

The accounts freeze after the first posting. To switch mode or accounts later, suspend the program and choose Change Accounting Setup, which opens Change Loyalty Accounting. It works only when every loyalty accounting balance for the program is provably zero.

Change Loyalty Accounting dialog for a suspended program with the Accrual Accounting switch and the Redemption Expense Account
Change the accounting mode of a suspended program.

To bring existing, non-accrued balances onto the balance sheet, suspend the program and choose Assign Opening Liability. You pick an Opening Offset Account and the three accrual accounts, review the previewed total, and confirm. This posts the opening liability, switches the program to accrual accounting and sets it to Active. Reconcile Accounting compares the loyalty ledger, its accounting entries and the liability account at any time.

The expiry job

When a program has Expiration Enabled, each earned amount receives an expiration date from Expiration Period. A single recurring job queue entry, BAA POS Loyalty Expiry, runs every 60 minutes and expires value whose expiration date has passed, using the time zone recorded when the value was earned (the customer's or store's time zone, otherwise Loyalty Time Zone ID on POS Setup). Bitta Retail POS creates or removes the entry as programs change; on POS Setup, the Loyalty Expiration FastTab shows Expiry Schedule Status, and Synchronize Loyalty Expiry Schedule repairs it.

Loyalty Expiration FastTab on POS Setup with Loyalty Time Zone ID and Expiry Schedule Status
The expiry schedule status on POS Setup.

Each run is listed on Loyalty Expiry Runs with its status and counts, and Job Queue Logs opens the linked job queue log.

Loyalty reports

All three reports filter by Program Filter, Customer Filter, From Date and To Date (the last 30 days by default).

  • Loyalty Activity Report: loyalty activity per customer and program, with the source sale and ledger evidence. It also has an Excel layout.
  • Loyalty Reconciliation Report: control totals, ledger roots, accounting evidence and reversal state. Attention Only limits it to debt and failed or attention items.
  • Loyalty Expiry Audit: expiry runs, candidates, ledger and accounting evidence. Attention Only limits it to failures.

See All POS reports.

What's next

Print shelf and price labels for your POS items: Print shelf labels.

// next step

Ready to try Bitta Retail POS?