Showing posts with label point of sale. Show all posts
Showing posts with label point of sale. Show all posts

Thursday, March 05, 2020

Setting up kiosk printing mode for Vend

In January of 2020 I wrote a post about Setting up a point of sale (POS) system for a Horizon library.  Since then we have decided enable our second location in VEND and setup a single register.  Vend has a great post on setting up Chrome for kiosk printing; which is great but there are two issues with it that are mutually exclusive; meaning that if you solve one problem it causes the other.  What I discovered is that Google Chrome, would either print the webpage header/footer on the receipt or you would have to hit print twice to print the receipt.  The new Microsoft Edge does not have this problem.

Setting up VEND it was highly recommended sticking to chrome on windows, though they have a long list of recommended hardware and software on their site.  

Typically when you print from a browser such as chrome, you print and you get the google print preview


Printing From Chrome
And you can also set it up to print from the system dialogue window by pressing Ctrl + Shift + P


System Printing Dialogue Window
This can be controlled from Google Admin if you have Google for Business/Non-Profit/Education by going into Device Management -> Chrome -> Settings

With the options of 

  • Allow using print preview
  • Always use the system print dialog instead of print preview

Google Admin - Control Print Preview
If your not using google admin you use the the command line switches in sequence a list of command-line-switches for the Chromium project can be found here

For chrome we want to put the following at the end of the quote after a space on the shortcut.


--enable-print-preview --kiosk --kiosk-printing


This enables chrome's print preview mode so it doesn't use the system's dialogue, puts the chrome browser in kiosk mode and kiosk-printing automatically causes chrome to hit the print button leaving the preview up for a second or two.  If your using google admin you can skip the --enable-print-preview flag if you have it defined in the settings as shown in the Google Admin picture above.  Below is chrome with the command line switches.



Chrome is great and it worked ok but the main issue we came across was with the print-preview enabled it would print the page header and footer on the receipt


Receipt with the website header and footer which is printed
when you have kiosk tags enabled on chrome.

If you disable the print-preview, and use the system dialogue box for printing the receipt turns out without the web page header/footer on the receipt, but you had to either hit return or press the print button twice which is not the best thing for a cash register.


Receipt with no web page header/footer

So I downloaded and installed the new chromium based Microsoft edge and tried the chrome command line witches on edge and they worked great!  In fact you don't even need the --enable-print-preview switch, the receipt comes out with no wasted paper and everything else works just as it did on chrome; so we switch our VEND register to Microsoft Edge.

Using the Vend article for setting up kiosk mode, I did also some additional things using group policy to secure the system, and setup a startup script when the computer launches.

Here are some additional actions I had taken to secure the VEND Register System
  • Create a admin and limited user (the vend register runs as the limited user)
  • Set the default page to be the vend register store, along with the home page setting
  • Create a startup script to launch edge using Task Scheduler
Task Scheduler

      "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
      --kiosk --kiosk-printing
  • Setup Group Policy to disable CTL+ALT+DEL options
Open the Local Group Policy Editor:
Click Start.
Enter Run.
Type gpedit.msc.
Click OK.
Navigate to User Configuration > Administrative Templates > System > Ctl+Alt+Del Options.
Prevent users from being able to use the following functionality by enabling the removal of the functions:
Remove Task Manager
Remove Lock Computer
Remove Change Password
Remove Logoff
To enable these to be removed:
Double-click the option.
Select Enabled.
Click OK.

Disable CTL+ALT+DEL 

  • Then to disable the windows key
Open regedit.
Click on the Windows menu and type run, then put in regedit
click HKEY_LOCAL_ MACHINE on Local Machine  
Double-click the System\CurrentControlSet\Control folder, and then click the Keyboard Layout folder. 
On the Edit menu, click Add Value, type in Scancode Map, 
click REG_BINARY as the Data Type, and then click OK. 
Type 00000000000000000300000000005BE000005CE000000000 in the Data field, and then click OK. 
Close Registry Editor and restart the computer.
Disable Windows Key

Tuesday, January 21, 2020

Setting up a point of sale (POS) system for a Horizon library

Back in September/October 2019 I was tasked with finding a solution for a point of sale system to replace and old cash register system.  The cash register system we were using couldn't be purchased any longer with the features we currently had in place and required.  It was a simple cash register it had generalized logins for staff via id number, it did not tie into any point of sale system (Chase, Moneris, etc).  So we decided to look at a number of Point Of Sale Systems, 

The current system had the following requirements.
  • The cash drawer needed to work from 2 workstations
  • It had to auto logout after each transaction
  • It had to have individualized generalized logins (ie. id number) for transactions
  • It had to not open the cash drawer printing out of the ILS (Horizon)
  • It had to have remote reporting and administration
  • It had to have an export for specific reporting that is required by our accounting system
  • It had to be expandable to two locations (just one to start)
  • It had to be easy to use and manage
  • NOT BREAK THE BUDGET (approx $100/month for 2 locations and 20 staff)
  • Make reconciling the payments easier
After setting up and trying of several point of sale systems some open source and several paid systems the one we settled on was VEND.  

VEND Point of Sales System

VEND is a small business Point of Sale system that we can use for what we require.

Vend's Features:
  • Sell on any platform (a chromium based browser is really the only requirement)
  • Customer Tracking (for repeat purchases and profiles)
  • Built in Inventory
  • Ecommerce and marketing
  • web based staff / user management
  • web based reporting
  • programming api
  • Quick Keys / Custom Buttons
  • Product and Customer Search
  • Line Item and Sale Notes
  • Discounts
  • Custom Receipts
  • Customization payment layout such as (Visa, Mastercard or combined Credit button)
  • Split Payments
  • Excel exportable reports with all listed line items and notes.
I asked the customer services supervisor Jordan Moss to make sure it did all the features her department required.  After the initial setup, Jordan was able to setup the point of sale systems, verify the reporting and user management information was just what they required.  She setup all the different payment types for both locations allowing me to further investigate how to setup the systems with the payment system and receipt printer.    The feature we were only interested in was the sales and reporting.  Vend got all these check boxes for us and now I could focus on the technical process and work out the issues with the desired setup.

Payment Terminal

For the most part my research into this showed that you should setup a point of sale from a single unit (machine) that has a sales terminal and debit/credit machine tied to that individual device (called semi-integrated mode).  Typically you would setup a payment system in semi-integrated mode, which is a checkout method used by retailers which integrates payment processing and POS software in a secure & streamlined network configuration. Semi-Integration allows retailers to accept Chip/EMV credit card and debit card payments, as well account for inventory changes, returns, voided transactions and other payment functions.  Vend supports 2 chase point of sale terminals in Canada for semi-integrated mode, but they are not universally compatible.  So if you want to use iOS from Apple you need to go with the Chase iCT250.  If you want to go with a wired Windows system you need to go with the Moneris Desk 5000.  We had got the Chase iCT250 (wired) but it was assumed we were going to be using an iPad for a sales terminal; so it would not semi-integrate with VEND on windows.  

Chase Payment Terminal

This turned out to be a good thing as for the Semi-integrated mode to work you have to tie the debit machine to a single pay station therefore eliminating the ability of using the second machine with the one debit terminal.  So we are not working with the payment system in semi-integrated mode.  It was decided to keep the Chase system because if we did want to setup a stand alone payment terminal because of the space requirements a 9.7" ipad might be the best choice and since we could not utilize semi-integrated mode anyways because it can't be used with more then one point of sale system as shown above.

Since we wanted to use 2 workstations that would double as point of sale stations using one receipt printer and one payment terminal; I started using my imagination and was looking at some documentation for networked Epson receipt printers and I came across this.  It gave me an idea for how to handle this point of sale setup.

Epson TM88-IV Lan Diagram
This diagram came from an Epson TM-T88IV manual and I drew inspiration to try setup the point of sale between two workstations.  The system is simple, setup the default Windows printer to be the default printer to be used with VEND.  This will allow the cash drawer to open when VEND is logged in and in use.  There is no changing the printer when you go to print, everything on the system is setup to work as a point of sale system.  This identically done on both systems that will be using the POS software.  Since the same slip printer would be required to print off sips from the ILS (See my post about setting up slip printing in horizon).  

Setting up the cash drawer was pretty easy with the networked receipt printer.  The

cash drawer we selected was the CBM 2000 Universal 24V cash drawer.  The cash drawer connected with the RJ12 to the TM88-V DK port and worked flawlessly though the driver.




After you install the printer driver it is located in Printer Preferences as shown below.


Epson TM88-V cash drawer settings


Even after getting the printer setup and installed; the setup with the Horizon ILS created a couple of issues that had to be resolved to get the system setup with the requirements we started with.

Issues to resolve

  • Stop cash drawer opening when horizon prints a slip (receipt)
  • Setting up the receipt printer to stop wasting paper on the receipts
The first issue was easy to resolve, since this was a network based 80mm printer, I created 2 printers on the client, one opens the cash drawer at the end of the document as shown above the other does not.  Both printers must be installed on both clients, with the Horizon Slip Printer being setup for use specifically for the ILS slip/receipt printing and the other Epson TM88-V is setup as the default printer for VEND and takes care of opening the cash drawer for the VEND point of sale system as shown below.


Horizon ILS Slip Printer Settings

Windows IP Printers for receipt printing

By default both the Epson TM88-V and the Horizon Slip Printer would print the full 297mm length by default regardless of how big the receipt was being printed.  To stop that from happening I setup a new paper size of 80mm wide by 58mm high.  I set this paper size to be the default for both printers as they were printing the full 297mm.  To make this change you use the Epson TM88-V utilities that are installed with the driver.  Once you make these changes, you can add other printers etc, but I've experienced issues where if you go to print to another printer, the printer prints to the size of the 80mm receipt on a letter size piece of paper unless you select printer properties and re-select letter.  

A caveat with this setup according to VEND is that we could encounter out of order or duplicate numbering with our payment processing; though this has not come about in testing, the main thing I had noticed was the browser not recognizing that the system had been closed and needed to be re-opened.  Deleting the browsers cookies or re-syncing VEND's local data with the browser seems to resolve this issue.

Overall the staff and managers quite like the setup; and think it is easy for them to use and manage.  It hasn't quite been a month that they have been using it but I have my fingers crossed!

How to make google calendar more secure

With the rash of spam and phishing attempts lately, I would recommend making the following changes to your google calendar settings to secur...