This guide is only for brands with POSitouch locations that are using the “POSitouch” dashboard POS Type:
- 1 Prerequisites
- 2 Create the “cell type 12" discount item
- 3 Configure settings to enable the user program button
- 4 Define check footer
- 5 Create the virtual XML Printer
- 6 Install & Configure the Punchh service
- 6.1 Installation
- 6.2 Configuration
- 7 Create the user program button
- 8 Troubleshooting
- 9 Known Issues
Prerequisites
System requirements for the PC hosting the Punchh service (i.e. the back-office PC)
Minimum OS: Windows 7 (with SP1) and .NET Framework 4.6.1
Configure firewall/router
ALLOW: | FROM: | TO: | BY: |
---|---|---|---|
TCP port 443 | The PC hosting the Punchh service | pos.punchh.com | Punchh.exe (Back Office PC) |
TCP Port 5614 (Default Port) | POS Terminals | The PC hosting the Punchh service. | PunchhUI.exe (POS Terminals) |
Details
pos.punchh.com - Punchh check-in and redemption transactions, Punchh application configuration & update server
isl.punchh.com - Punchh check and barcode details
loguploads.punchh.com - Punchh log file repository #1
poslogs.punchh.com - Punchh log file repository #2
Configure antivirus
Whitelist the EXE applications in the Punchh install folder: C:\Program Files (x86)\Punchh
Application Whitelisting
Whitelist all of the Punchh EXE in the Application Whitelisting Control to allow communication over network.
Whitelist all applications that are digitally signed by “Punchh, Inc.”
To allow updates without having to go back and “re-fingerprint” individual EXEs
Version and licensing requirements
The v2 integration requires POSitouch to be version 6.41.0 or later. Please do the following steps on the back-office PC to check the version:
Open C:\SC\ERROR.LST in Notepad.
CTRL+F, search for "Spcwin startup". Any lines that contain "Spcwin startup" will also contain the version number:
07/18/19 09:16:07 500 Spcwin startup: 6.41.0* 04/23/2019 05:56:42 3032576 bytes WINNT 6.1 (Windows 7) 64-bit
Loyalty module must be licensed and enabled.
Printers
Check with your POSitouch dealer to ensure that your printers can print QR codes
Create the “cell type 12" discount item
Note: A “cell type 12” item represents a loyalty discount. These discounts will get applied to checks whenever a loyalty discount is successfully redeemed.
Open Back Office Setup > Menu Editor > Menu Items & Recipes.
Click "Add Record". Enter an item ID, then click OK:
In the Descr field, enter a name for the loyalty discount.
Select a Major Cat and Minor Cat.
Enter 0.00 for Price 1, Price 2, and Price 3.
Under Tax Eligibility, check all of the taxes that you want the loyalty discount to apply to.
Make a note of the Item ID (i.e. 97). You will need it in later steps.
Click Save.
Open Back Office Setup > Menu Editor > Edit An Order Screen
Select a screen, then select an empty cell.
On this form, make the following changes:
Cell name: "AMOUNT"
Cell type: "3-General mult (xx.xx)"
Verify the settings highlighted below, then click Save
(The rest of the settings may be left with their default values)Back on the "cell selector" form, select another empty cell.
Click the "Lookup" button, then click "Search by #".
Enter the item ID of the "DISCOUNT" item you just created, then click OK.
Click "Select".
On this form, make the following changes:
Cell type: "12-Discount"
Check "Open Dollar?"
Prep Cat: "None required"
Click the "Add" button near the bottom-right.
Option type: "3-MAY SELECT"
Screen #: Select the screen that the "AMOUNT" cell is on.
Check "AMOUNT"
Verify with the below image, then click OK.
Verify the information with the below image, then click Save.
OPTIONAL: If you want to restrict what the loyalty discount can be applied to at the POS level (i.e. preventing alcohol items from getting discounted), then follow these steps:
Open Back Office Setup > Discounts & Surcharges.
Click Add:
For Discount Name, enter “LOYALTY DISCOUNT”.
For Inventory Number, enter the Item ID of the cell type 12 item that was recently created.
Select the taxes that you want the loyalty discount to be applicable to.
Check the “'Open dollar' discount?” checkbox, along with the checkbox beneath it.
Make a note of the Discount Number, you will need it later.
Click Ok
Open Back Office Setup > Menu Editor > Edit An Order Screen. Re-open the cell type 12 item that was recently created.
Check the “Discount eligibility?” checkbox.
Click the Lookup button.
Under the “Discounts” button, check the checkbox for the Discount Number (i.e. 6, from the Discounts & Surcharges menu).
Click Save, then Exit.
Click Save.
For all the items that you don’t want the loyalty discount to be applied to, edit the items so that the checkbox under the Discount Number is unchecked:
Note: You can bulk edit items via the “Multi.Rec.Change” button.
For all the items that you want the loyalty discount to be applied to, edit the items so that the checkbox under the Discount Number is checked:
Note: You can bulk edit items via the “Multi.Rec.Change” button.
Back Office Setup > Immediate System Change
Configure settings to enable the user program button
Back Office Setup > Restaurant Misc Data > System
Back Office Setup > Payment > Payment System Options 1 > More Flags
Back Office Setup > Hardware > Terminal Stations
Verify that this value is unchecked:
Back Office Setup > Restaurant Misc Data > XML I/O > More Flags
Back Office Setup > User Privilege Codes > Assign Privileges 1-8
Back Office Setup > Immediate System Change
Define check footer
Go to Back Office Setup > Hardware > Guest Check Headings > Headings 2.
Add the following 2 lines:
Edit each line to have the same settings as the following:
Back Office Setup > Immediate System Change
Create the virtual XML Printer
Go to Back Office Setup > Hardware > Prep Printers > Locations and Types.
Click Insert.
Enter the following:
Printer Number: Enter the next sequential number (see image below).
Printer Name: XML Printer
Click Yes
Select the new printer and click EDIT.
Printer Type: 1- Virtual printer
Device Location: 0- Normal-unmapped!
Click Ok.
Open C:\SC\SPCWIN.INI in Notepad. Edit the file as follows:
In the [SpcWin] section, add:
CC_SocketClose=YES
In the [XML] section, add:
XMLInPath=C:\SC\XML\IN
XMLInOrderPath=C:\SC\XML\INORDER
In the [VIRTUAL] section, add:
VirtualPath11=C:\SC\XML\CHECKS
Note: The number 11 in “VirtualPath11” is taken from the table as shown below (Back Office Setup > Hardware > Prep Printers > Locations and Types):
Go to Back Office Setup > Restaurant Misc Data > XML I/O.
Note: If other third party integrations are currently installed and utilizing XML I/O functionality, then specify folder paths that are unique to Punchh (ex: C:\SC\XML\Punchh\XYZ).
Select our new "XML Printer" for the following XML types:
Click the “XML Ordering“ Configure button and edit the info as follows:
Click the “Open Checks Request“ Configure button and edit the info as follows:
Click the “XML Services“ Configure button and edit the info as follows:
Click the “Virtual Printer Path“ button and edit the info as follows:
Back Office Setup > Immediate System Change
Install & Configure the Punchh service
Installation
On the back-office PC, login as an administrator, and run the SetupPunchh.msi installer:
After installation, you can see that the Punchh service is now running:
Configuration
Navigate to the folder C:\Program Files (x86)\Punchh and open PunchhConfigurator.exe.
Enter the location key (API_Key) and Business Key:
Set the POS_Type to POSitouch:
Click on the POSitouch.cfg tab.
PathToChecks, PathToIn, PathToInOrder, and PathToSC: If the default paths for these don’t look correct, then edit these values. Refer to the this section for more details on these paths.
Note: If the POS Driver is hosted on another computer then replace "C:\" with the network path to the C drive on the POS Driver. Don't use mapped letters like "L:", it has to be full network path instead, for example like this: \\192.168.2.1\C\SC.
Port: The default port is set to 5614. If this port is already in use by another application, then an error will appear in the log files. See this section for more details.
PunchhDiscountItemNum: Set this value to the Item ID of the cell type 12 discount item that was created in this section.
MemoItemNum:
Leave as default value.
QRCodeItemNum:
Leave as default value.
UsePunchhSecurePOSType:
Important: Set this value to False.
UseV1PosiIntegration: Leave this as False.
Leave all other settings with their default values.
Click Apply, then Exit.
Restart the Punchh service.
Click Exit or click the X in the upper-right to close the PunchhConfigurator tool.
Create the user program button
For each POSitouch terminal: Copy the Punchh GUI + edit the WINTERM.INI
Copy the Punchh GUI to each POSitouch terminal:
Create a new folder named “Punchh” somewhere on the terminal.
From the back office, copy the C:\Program Files (x86)\Punchh\PunchhUI_Win32.zip file to the terminal, then extract the zip file to the recently created “Punchh” folder on the terminal.
In the Punchh folder on the terminal, open the file PunchhUI.cfg in Notepad. On the third line, enter the terminal ID as defined in the back office (Back Office Setup > Hardware > Terminal Stations).
Save the file and close Notepad.
Open the WINTERM.INI file on the POSitouch terminal (i.e. C:\SC\WINTERM.INI) in Notepad, and edit the file as follows:
In the [WINTERM] section, add:
UserProg_1="","USER PROG"
UserProg_2="PATH_TO_PUNCHHUIEXE",Punchh
Replace PATH_TO_PUNCHHUIEXE with the local path to the PunchhUI.exe on the terminal PC. Ex: If you extracted the zip file to the folder C:\Punchh, then the path would be C:\Punchh\PunchhUI.exe.
The text after the comma (i.e. “Punchh“) is the label of the user program button. Edit this if you don’t want the button to be named “Punchh”.
UserProgMinimize=NO
UserProgPositermMaximize=NO
UserProgOnTop=YES
Back Office Setup > Immediate System Change
For each POSitouch terminal: Create the Macro for the user program button
On the POSitouch terminal, go to SpcWin, and press CTRL+Q.
Follow the prompts:
Enter Macro number: Type “1”, then hit Enter.
Enter Macro button label: Type the label of the button, followed by “^2“ (i.e. "Punchh^2"), then hit Enter.
Note: The button label entered here (i.e. “Punchh”) needs to match the button label entered in the WINTERM.INI (UserProg_2).
Enter terminal number: Type the terminal number, then hit Enter.
Go to POSiTerm, and click the "USER PROG" button twice (once to add the name to the button, and once to signal a touch of the button).
Go back to SpcWin, and press CTRL+Q again to finish the macro.
The button should now have the label that you entered:
Restart SpcWin and POSiTerm, then ring in an order and try clicking the user program button. It should display the PunchhUI:
If the PunchhUI is not displaying, then try creating the macro again. If still having trouble:
Download this MACROS.XML file into the C:\SC folder
Open the MACROS.XML file in Notepad, and replace the string “Punchh” with the button label that you’d like.
Restart SpcWin and POSiTerm.
Try clicking the button again.
Troubleshooting
If you are getting errors when applying redemptions or when trying to scan the QR code to earn points please check Punchh logs for errors. Logs are located here: C:\Program Files (x86)\Punchh\Logs
Log files are named by date, for example:
2017-0223-000050.log
was created on Feb-23, 2017
Port conflict error
If the default port is already in use by another application, a port conflict error will occur. In the log file, please search for the text “Port conflict occurred”. If this text was found, then the error occurred. To resolve this error, please use the PunchhConfigurator tool to change the default port to an unused TCP port. Some suggested ports, usually not in use, are: 5619, 7482, 24473, 10123.
Known Issues
Receipts displayed on the Punchh dashboard will show the price of modifier items as $0.00.
When an internal discount is applied after a Punchh discount, the tax is calculated incorrectly. This issue does not occur if the internal discount is applied before the Punchh discount.
Performing an "Overring Transaction" or "Refund, Items Prepared" on a transaction with Punchh discounts will not immediately update the subtotal to reflect the voided discounts ("Exit" button needs to be clicked, then the subtotal will update correctly).