GC Sales & Redemption

Does anyone have a working implementation for Selling & Redeeming variable-value Gift Certificates?

For example…

  • Select Gift Certificate (GC) Product (open price).
  • Enter the value of the GC that the customer wants to purchase ($10,
    $20, $30, etc).
  • Settle the ticket - customer pays for the GC using Cash or Credit
    Card.
  • Gift Certificate Prints containing Value and Control Code.

On another day, a person returns, and they have a GC (say for a value of $20).

  • They order some food and drink, it comes to a total of $33.
  • They want to use the GC as partial payment ($20), and pay the
    remainder in Cash ($13).
  • We select GC as a payment type, and are prompted for the Control Code
    to validate that it has not been redeemed before.
  • Assuming this is true, the balance left to pay is $13, and we settle
    that with Cash.

This issue I see here, is that we are selling the value twice: once when the GC is purchased, and again when food/drink are ordered. So what we may need to do is place the purchase of the GC into an Account that is not related to sales, and deduct it from there when it is redeemed.

Also, if the products purchased total less than the value of the GC, we should handle that, but not give Change, since the GC has no Cash Value.

I’ve read a few Tutorials on Points systems (buy 5, get one free), printing 10% off vouchers, and printing Free Coffee Coupons, but all of these have set values or are related to a specific product that is subsequently Gifted or discounted.

For example, this document shows an excellent way to track Coupons with a Control Number, but it is specific to a Coffee Product.
http://sambapos.org/wiki/doku.php/en/promotion_coupons_documentation

Any ideas on how to handle the scenario I’ve described?

1 Like

I think I use exactly what you want.
I’ll put together something soon.

I have it set as a product with no price, so you set the price when you add the GC. It settles with the sale price going to a GC account not sales, as the sale of a GC is an exchange of funds, not technically a sale as such.

The GC is created as an entity for tracking and can scanned during a sale. You will then settle to the GC instead of or as well as Cash,etc

Gift Certificate Setup.

Note - Tax setup can be an issue with this setup for Gift Certificates, so it’s best to make sure the Gift Certificates are Tax Free as they are an exchange of money, not actually a sale.

Gift Certificates will show as a sale on the Work Period Report and Item Sales Report, but the General Account screen will not show the sale, because we don’t want to count it twice (once for purchase, second for when it is used in a sale).

Also, you can not have multiple quantities of the one Gift Certificate. List each as a separate item. For example, if you want 2x $25 Gift Certificates, then add it as 2 orders of $25 each.

Create a new Printer Template called Gift Certificate Template

[LAYOUT]
-- General layout
<EB>
<C11>Culcairn Bowling &
<C11>Recreation Club Ltd
<L>
<C00>2903 Olympic Hwy, Culcairn NSW 2660 
<C00>Phone: (02) 6029 8461   Fax: (02) 6029 8814
<C00>ABN: 24 001 011 007
<DB>
<L>
<J00>Date: {DATE}|Time: {TIME}
<L>
<EB>
<C01>Gift Certificate
<L>
{TRANSACTIONS}
<F>-
<C10>T H A N K   Y O U
[TRANSACTIONS]
<DB>
<C11>${AMOUNT}
<L>
<F>-
<EC>
<QR>{SOURCE ACCOUNT}
<EL>
<J00>{SOURCE ACCOUNT} | ${AMOUNT}

Gift Certificate Entity

Gift Certificate Account Type

Gift Certificate Account Screen

Gift Certificate Account Transaction Type

Credit Gift Certificate Document Type

Gift Certificate Payment Transaction Type

Gift Certificate Payment Type

Gift Certificate Product

Display Ticket Action

Select GC Action

Credit Gift Certificate Action

Create Gift Certificate Action

Print Gift Certificate Action

Update Certificate Order State Action

Update Certificates States Rule

Select GC From POS Screen

Update New Certificates Rule


Handle Printed Certificates Rule


Account Screen after GC sold

Gift Certificate Account Screen

Work Period Report

Item Sales Report

If you would like the Gift Certificate details to be printed on the Customer Receipt, which is good for when there is credit still left on the Gift Certificate, then add the following to your Customer Receipt Printer Template

Add this anywhere you would like the Gift Certificate details including QR code printed

{ENTITIES}

Add this to the bottom of your printer template

[ENTITIES:Gift Certificate]
-- GC entity format
<C00>Gift Certificate: {ENTITY NAME}
<C00>Balance: $[=F(0-TN('{ENTITY BALANCE}'))]
<QR>{ENTITY NAME}
<L>
2 Likes

Free $5 Gift Certificate for orders $100 and over

This will not show in sales, but will create and print a $5 Gift Certificate.


2 Likes

Wow… I think this is one of the best GC tracking systems in the world. I have one thing to add. It is a little hidden but useful :slight_smile:

You can change individual order lines’ transaction type with Update Order action. It can be something like this.

So if you execute it for GC Orders it will be possible to track GC Sales under it’s individual account instead of Sales account. Even you sell it with a regular ticket type. Since Gift Certificate Accounts will also contain redemptions it will be easier to track gc sales.

The awesome part is Gift Certificate Accounts Credit amount will always display total GC’s you owe.

1 Like

Thanks @JohnS, it looks great!

So… I have it all set up, and I am able to sell a GC, but I’m having trouble Redeeming it (using it as Payment).

Also, you missed this screen (in your Tutorial, this would be termed Credit Gift Certificate Account Document Type corresponding to the Gift Certificate Account Transaction Type)…

Anyway, I can’t figure how to select the GC for Payment. I have no scanner.

I enter the GC number into the NumberPad (i.e. GC201405311618158500)
This presents one immediate problem: I can’t enter characters into the NumberPad (i.e. GC), and even if I could, there is a second issue: some type of rounding going on… 201405311618158500 becomes 201405311618159000.

To overcome this, I bring focus to the NumberPad field, then click on the Keyboard button, and enter the code GC201405311618158500, press enter, so finally I have this…

But now what?

I hit enter, and the NumberPad field goes blank.
I try to settle, but the GC Payment type is disabled…
Would I be better off, having a GC Search Entity screen (i.e. a button to Select GC in the same way we do for Customers and Tables)? Because trying to key in this long GCnumber is very cumbersome.

To create a Gift Certificate Entity Screen

Create a New Entity Screen called Gift Certificates



Then open your existing Ticket Type and add Gift Certificate entity to Entity Type List.

Now you will have the Select Gift Certificate button on the POS screen.

When a GC is selected, it will show at the top of the Ticket.

You can get cheap hand held barcode scanners, you only need to change the Printer Template from <QR> to <BAR> to print 1D barcodes. I use Motorola DS9208 2D barcode scanners @ $225 each.

Well, I just answered my own question…

I created a Select Gift Certificate Entity Screen to Search…

P.S. @JohnS, as I was composing this reply, I see you answered my question as well… Thanks Much! Works great!

1 Like

Now to get around the typing of GC using a keyboard, you can assign extra buttons to the NumberPad.

Edit the Menu Category that has the Large NumberPad set

Then enter the letters GC into Alphanumeric Button Values

Now you have a GC button :smiley:

Thanks again @JohnS, excellent information!

Here’s why I thought I needed the Document Type defined; because it is used in the Purchase Action, and if not defined, it doesn’t appear in the Document Name list. Should I assume then, that it doesn’t need to be in this list; rather, I can just enter the Document Name anyway, and it will create and use it?

You need to also have a look at the Select GC from POS Screen rule. This will capture the NumberPad value and pull up the GC Entity. Do you have a Display Ticket action to refresh the ticket in this rule ?

Yes, I have the Select rule set as follows…

@QMcKay, sorry you are correct. I did have this, but disabled the mappings so the Credit button would not appear.

I have updated the setup above.

Do you have the Mapping set for your RU GC Select rule ?

Yes, I have the default mapping for that Rule.

I think the problem comes from using the on-screen keyboard because…

Adding Alphanumeric GC to the NumberPad works…

Click GC followed by the number and hit enter (no strange auto-rounding is taking place either), and the GC Entity is selected…

I still think it’s easier to Select/Search for the GC… a scanner would be even better.
On that topic, we can hide zero-balance Accounts, but is there a way to hide Entities that are linked to zero-balance Accounts in the Entity Search screen?

Maybe better yet, add some Rules and Actions to Delete the Entity and/or Account entirely once the GC has been redeemed (Account Balance = 0). Not sure if we are able to do this with the current version?

We do need a way to hide it from the Search GC Entity Screen.

We cannot delete an Entity that is used with tickets, so hiding is a better way.
I will see what we can do.

Why delete them? We’ll create some reports with this data.

I understand it’s not a good idea to delete them.

I understand a Scanner would help to alleviate this, but I really don’t have any need or use for a scanner beyond this particular scenario.

The immediate issue is that in the Entity Search screen, we’ll soon be seeing hundreds, if not thousands of GC Entities being listed that are of no practical use, since their Accounts have been depleted (balance = 0). Hiding them from the Search results would be extremely useful.

I imagine checking the Account Balance when it had been used for Payment, and if zero, then set the State of the Entity to “Redeemed” or “Depleted”, and at the same use a State Filter on the Entity Search Screen to hide them?

That’s the way I want to handle GC’s. But I’m having issues getting the GC States to change correctly. By using states we can filter the search screen.

The problem I have is that if you have multiple entities selected, ie a GC and a Table, controlling the states of each separately has been a problem.

By default (when using customers and tables) SambaPOS will update all entities at the same time (available, new orders, etc).

The problem seems to be with Update Entity State, I can’t specify the Entity I want to update.

I’ll keep working on it.

A cheap usb handheld barcode scanner will only cost about USD$20.