Simple Custom Loyalty Program Managed In-House

All of the loyalty programs I have evaluated either do not fit the scheme I want to employ, have too many features (too costly), or not enough control. I have a relatively small number of customers and transactions, but I have HQ. Some of the solutions I found would work great, except they are single store only. I am giving up on the add-on idea. I want to explore the idea of a manual loyalty points system. I might need some custom developments, so listen up if you are a developer.

Here is what I plan to do. Comments would be appreciated.

I want to award a "credit" to customers at the end of each month based on how much they spend. For example, if they spend $500 or more, they get a $10 credit on thier account. If they spend $1000 or more, they get a $30 credit on thier account. Or maybe $2 for every $100 spent. Whatever. I will decide how much credit each customer earns based on a flexible scheme.

I thought about using vouchers, but it became too cumbersome, and does not work across stores without an add-on. I decided to use the customer accounts feature, so I can have a global solution. These accounts will not be elegible for credit sales, so all accounts will have Customer.CreditLimit 0. I do have credit account customers already, but these will not be elegible for the program. I will set up a bunch of account numbers in advance (L-0001, L-0002, L-0003, etc). The cashier can select a customer by pressing F7 and scanning a barcode on a card the customer gets (haven't decided on a self-made laminated card or a more professional solution yet). If it is a new loyalty customer, the cashier will press F7, scan a new card, and press Shift-F7 to enter the customer details. Or, since we are a slow paced biz, we can have the customers "apply" and do the customer entry in the back office and give them thier card later.

At the end of each month I will run a SQL query to set:

Customer.AccountBalance = Customer.AccountBalance - "The Credit They Earned"

Now the customer will have a credit balance from which to draw thier reward points. When the cashier selects a customer at the POS, the HTML status window will indicate how much credit the customer has that can be used toward the transaction. At the tender screen, the cashier can offer to the customer to use thier reward points, and enter the amount redeemed in the On Account section of the tender screen. Since the customer has a zero credit limit, but a credit balance on the accout, the POS will allow any amount to be put On Account up to a zero balance (any amount less than or equal to the reward amount available).

One thing I would like to implement is a way for customers to know how many points they have accumulated toward the rewards. I assume I could develop a method to display the total sales so far for the month on the HTML status screen. I would love to print the total sales for the month on each receipt, but I would need to figure out how to do that and also restrict it to customers who's account number starts with 'L-'.

Another issue is expiry. I would like to figure out how to make credit expire after a period of time. This might be difficult to calculate if customers use part of thier reward during any period. I have to think about that one.

So... What perils lie before me? Roadblocks? Problems? Anyone done something like this?

Reply to
Jason
Loading thread data ...

Obviously this isn't right in my Status.htm file, because there a syntax error, but maybe someone can point me in the right direction:

---Start Code--- IF left(QSRules.Transaction.Customer.AccountNumber,2) = 'L-' Then txtCB = QSRules.Transaction.Customer.AccountBalance End If

---End Code---

I can't figure out how to compare the left two characters in Customer.AccountNumber to a string.

Reply to
Jason

Just ran into a snag. I am not sure where to run the SQL to adjust the Customer.AccountBalance when distributing awards and if it will get sent to all of the stores. It looks like when I run the SQL at the store level, it does not update at HQ on the next 401. In fact, it wipes out the credit in the store database.

Similarly, changing the Customer.AccountBalance at HQ with SQL works for HQ, but on the next 401, the field is reset to zero at HQ and no updates go to the stores.

Basically, I need to adjust accounts' Customer.AccountBalance via SQL and then have the changes propagate to all store locations. Any ideas? How does the Style 350 sheet figure out what the global adjustment are? Maybe this s the HQ table I should be modifying, then doing a 350.

Reply to
Jason

Jason, Have you had anyone bid out a custom solution for you? If you are interested in a free bid, we would certainly be willing to work with you. Drop me a line if you are interested.

Reply to
Ryan

Jason

We are also looking into a loyalty add-on for a single store RMS. Which one would you recommend since you seem to have done a bit of research on this item. Any help would be appreciated.

Dan lane DOT dj AT gmail DOT com

Reply to
Dan-902

I've been using Retail Realms Loyalty Module for almost 2 years now and have never had any problems. Craig

Reply to
Craig

Unfortunately, I can't recommend any particular one because it really depends on what you want it to do. While I haven't done extensive demo or testing, based on the feature lists, they all look like they would do the trick, but non were flexible enought to fit my scheme or they had too many bells and whistles that I was not wiling to pay for.

I was also concerned with compatibility with 1.3 and 2.0 without any upgrade requirement. The switch will be painful enough for me. I don't want any add-ons frustrating the effort.

In fact, that is one of the major drawbacks of add-ons (as well as customization). You just never know how a new version or hotfix will react.

Reply to
Jason

BeanSmart website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.