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?