Difference between revisions of "Draft:X-Cart:POS system for X-Cart"
m (→Adding UPC codes for products) |
m |
||
Line 92: | Line 92: | ||
Once a UPC code is added for a product, a new link - "Barcode" - appears in the section menu: | Once a UPC code is added for a product, a new link - "Barcode" - appears in the section menu: | ||
− | :[[File: | + | :[[File:Barcode_link.png|border]] |
===Printing barcodes=== | ===Printing barcodes=== |
Revision as of 08:49, 22 February 2014
Contents
Overview
POS system for X-Cart is a module that allows you to use your X-Cart store both as an interface for web sales and a Point of Sale system. With this module, you can sell offline and online using the same software, which means you get a single inventory tracking and order management system for both your online and retail stores. Update inventory and product properties by using a barcode scanner that finds the product instantly. Got a new product? Add it to the database and decide if it should be available in the online storefront, or if you want to sell it in your retail store only. Scan the barcodes, accept payments, print receipts and barcode labels via X-Cart. It has never been so easy!
System requirements and installation
See POS system module system requirements and installation
Getting started
To start using the X-Cart POS module on your system, do the following:
- Ensure that your system meets the software and hardware requirements, then install and enable the module.
- Configure the module. First, connect the module with the printers that you intend to use for printing barcodes and receipts and set up your printing preferences in the module's configuration settings:
- X-Cart:POS_system_for_X-Cart#POS system module configuration settings
If you experience Java security warnings related to QZ Print applet, follow the recommendations in this section: - X-Cart:POS_system_for_X-Cart#QZ Print applet related configuration
For more information on QZ Print and its use by the module, see: - X-Cart:POS_system_for_X-Cart#Notes on the QZ Print applet
- X-Cart:POS_system_for_X-Cart#POS system module configuration settings
- To get a feel of how your X-Cart store works with the POS system module installed, try using the module features in both the store's Admin/Provider back end and Customer area. To begin with, while being logged in to the store as administrator (in X-Cart PLATINUM edition - as provider), add some products to your store's catalog (or edit your existing products) and add UPC codes for them. You can provide your own UPC codes or scan the existing barcode labels of your products so the UPC codes are "scanned" into the system from these barcodes. In the long run, all the products that you are going to sell via POS will need unique UPC codes.
- Make sure that all the product items that you are going to sell via POS have barcode labels attached to them. For product items that do not yet have barcode labels, print your own barcode labels based on UPC codes.
- Set up a "POS operator" customer membership, create a customer account for the user or employee who will accept customer orders at POS terminal and assign the "POS operator" membership to this account.
- In the Customer area, log in as POS operator and edit your user profile to add the POS location address to your address book (This address will be used by default as the address of the customer checking out via POS). Then try adding some products to cart via the "Checkout POS" section (Make sure you can add products to cart both by scanning their barcodes and by entering their UPC codes manually).
- Try creating a POS order by checking out with the products contained in your shopping cart. The first time you do it, go to checkout using X-Cart's standard Checkout button and finish creating the order using X-Cart's regular checkout flow. During checkout, use the address you configured in your POS operator user profile and select the payment method that you want to be used in future for all POS orders created using this POS operator account. Your payment method selection will be saved as default, and, later on, when creating POS orders using this account, you will be able to use the simplified order creation flow (via the Process order button) where you will not have to select a payment method again. If at some point in the future you will need to switch to a different payment method for orders of this POS operator, simply use the Checkout button again and select a different payment method.
- Try printing a receipt for the order that has been created.
Once you've made sure everything works as expected, you should be ready to go live with your POS-enabled X-Cart store.
Configuring the module
POS system module configuration settings
After installing the module, you must adjust the module's configuration settings. Do the following:
- In the Modules section of your X-Cart store’s Admin area (Settings -> Modules), click the Configure button next to the name of the previously installed and enabled POS system module:
The Pos system for X-Cart module settings page opens. - Once the module settings page is fully loaded, allow a few seconds for the QZ Print applet to load (See Notes on the QZ Print applet for more info). Here the applet is employed to detect locally installed printers. We need this information so we can select which of the printers will be used to print barcodes and receipts for the POS system module. Once the applet discovers the presence of installed printers, the QZ Print Plugin status on the module settings page changes to "Printers are found", and the list of printers installed in the system is loaded in the Barcode printer name and Receipt printer name drop-down boxes:
- Use the Barcode printer name and Receipt printer name drop-down boxes to select the printers that will be used to print out, respectively, barcodes and receipts. Failure to specify any of the said two printers will render the respective functionality (i.e., the buttons and sections of the user interface that control the respective printing operations) unavailable. For example, if you do not select a Receipt printer, you will not be able to print receipts.
- Use the Barcode line width (in dots) field to set the minimum line width in a printed barcode. The smaller this value is, the more lines of the barcode can be printed on a barcode label. The number of barcode lines depends on the number of characters in the product's UPC, a code added on the product details page (The greater the length of UPC, the longer the barcode). The recommended value for the ‘Barcode line width (in dots)’ field is "1" or "2", but, regardless of the value you specify, please make sure that your barcode scanner can recognize the barcodes printed with this line width. The images below demonstrate a barcode printed with two different values of the minimum barcode line width parameter:
- Click Submit to save the changes.
As QZ Print Plugin belongs to the type of applets which - in theory - may gain full access to the system of the computer on which it is run, and Java takes steps to protect end users from the security risks that may be posed by running such applets, while using the module, you may encounter some security warnings from Java. More information about it is available here: http://qzindustries.com/j7u45 To disable such warnings, you can install a self-signed certificate as described here: http://qzindustries.com/CertNotValid Alternatively, you can manually allow the applet to run every time you open or refresh the page that contains the applet. The certificate can be downloaded here: https://code.google.com/p/jzebra/downloads/detail?name=qz-free%20certs.zip&can=2&q=
Notes on the QZ Print applet
The module POS system for X-Cart employs a Java based web applet named QZ Print (https://code.google.com/p/jzebra/) to connect with the printers used to print barcodes and receipts. After the module has been installed, the applet files qz-print.jar and qz-print_jnlp.jnlp can be found in the skin\common_files\modules\POS_System\lib directory on the server where your X-Cart installation is running. Being a Java based applet, QZ Print operates on the client side: from the said directory on the server, the applet is loaded via the web browser onto the computer of the POS system module user where it is employed to discover the printers installed on the system and to send raw commands directly to these printers. The loading of the applet in the client browser happens every time the user opens or refreshes a page that involves connecting to the Barcode or Receipt printers. This includes:
- Pos system for X-Cart module settings page (Here the applet is needed to detect all the printers installed in the system and to tie in the Barcode printer name and Receipt printer name settings with specific printers);
- Pages where you can print out barcodes for specific UPCs (Here the applet is used to find a specific printer in the system by the name associated with the Barcode printer name field as provided in the module settings and to send print commands to it);
- Order details page in the store's back end /Invoice page in the Customer area where the user can print out a receipt (Here the applet is used to find the receipt printer by the name provided in the Receipt printer name field in the module settings and to send print commands to it).
The applet download size is rather small (around 100 kB); however, it takes some time to be found, downloaded and run. For most users this means a noticeable lapse (normally, a few seconds) between opening/refreshing a page on which the applet is embedded and being able to perform the action involving communtication with printers on that page. For example, on the Pos system for X-Cart module settings page, there is no way a user can select a printer for use with the module before the applet is loaded and obtains a list of printer names from which the printer can be selected; this means the user has to wait a couple of seconds for the applet to be found, loaded and do its work. The Pos system for X-Cart module settings page and pages for printing barcodes keep the user informed on the applet’s progress by displaying its current status at the top of the page. Normally, one can see the following consecutive statuses:
- Initial state:
- Applet has been found and is being loaded:
- Applet has been loaded; searching for printers:
- One or more printers have been found:
(The status shown above is used for the Pos system for X-Cart module settings page; the status displayed on the Barcode page uses the actual name of the barcode printer).
On the Order details page in the store's back end and on the Invoice page in Customer area, the applet loading status is not visible to users; however, the page functions in a similar way, and the Print receipt (jZebra) button only becomes available after the applet is fully loaded.
Setting up an account for "POS operator" user
Such POS-related tasks as adding UPC codes for products that will be sold via POS, printing barcode labels for them and printing receipts for POS orders can be performed by any user with full access to the store's Admin or Provider area (In X-Cart PLATINUM, providers, of course, can access only their own products and orders).
However, there is a number of POS-related tasks that need to be performed in the Customer area. These are all the tasks related to accepting orders from visitors shopping at your POS location, such as:
- adding items to cart by scanning their barcode labels,
- placing and processing the order,
- printing the receipt.
The user who will perform the above named tasks at your store will need a customer account with a special type of membership: "POS operator". As a POS operator, this user will have access to some sections and controls in your store's Customer area that will not be accessible to customer users without such a membership. This includes:
- a special form for adding products to cart by UPC;
- a separate simplified checkout flow that does not involve entering the customer's address and payment method, but uses information stored in the customer's profile and creates a new order as Processed;
- a button allowing to print receipts using a special receipt printer.
To create a special membership level for the user who will act as POS operator, go to the Edit Membership levels page (Users menu -> Membership levels) in the Admin area and create a new customer membership level as provided by the article User Memberships:Creating membership levels . The POS operator membership does not have to be called "POS operator"; you can use a different name. However, you must specify that this membership is your "POS operator" membership by selecting the respective check box:
Using the POS system module (Admin area)
Adding UPC codes for products
To create a barcode for a product, X-Cart's POS system module uses the value of the UPC (Universal Product Code) field in the product's details. This means that, before generating a barcode for any of the products in your store, you must add a UPC for this product. A UPC code for a product can be added via the product's details page:
If the product you are editing does not already have a barcode provided by the manufacturer, you will have to create your own UPC for it. To do so, type in the desired UPC code manually into the UPC field and save the product details. If the product already has a barcode that you want to use in your store, you can automate the process: simply place the cursor inside the UPC box and scan the product's barcode label with your Barcode scanner. The scanner will read the UPC code from the barcode, and it will appear in the UPC field. After this you will only need to save the product details.
Once a UPC code is added for a product, a new link - "Barcode" - appears in the section menu:
Printing barcodes
The POS system for X-Cart module allows you to print barcodes for each product in your store individually or for multiple products at once.
A prerequisite for printing barcodes is that the products for which you are going to print barcodes have been provided with UPC codes.
To print a barcode for a single product:
In the Products section of your store's Admin area (Catalog > Products), find the product for which you need to print a barocde and open it for editing.
Click on the "Barcode" tab to access the page where you can print the product's barcode and wait for the QZ Print applet to load:
Use the N items input box to specify the number of barcode labels that needs to be printed and click the Print barcode(s) button.
The Barcode printer will print the specified number of labels.
To mass-print barcodes for multiple products:
In the Products section of your store's Admin area (Catalog > Products), find the products for which you need to print barocdes and select them by putting tick marks in the check boxes opposite their names.
Click the More actions link below the list of products and select Print barcodes to access the page where you will be able to print barcodes for the products that have been selected:
Once the QZ Print applet has loaded, you will see a page like following:
Use the N items input box to specify the number of copies that need to be printed and click Print barcodes(s).
The Barcode printer will print the specified number of labels for each of the selected products.
Printing receipts (Admin area)
To print a receipt for an order via the store's Admin area, you must go to the order's Invoice page and click Print receipt:
Using the POS system module (Customer area)
Adding products to cart by UPC
When a user acting as POS operator is logged in to their user account, they can see a "Checkout POS" link in the store's "Special" menu:
This link allows the POS operator to access the cart page with a special form through which they can add products to the shopping cart by UPC.
The form for adding products by UPC appears at the top of the page - above the cart contents:
The default method for adding products to cart by UPC is with the help of a Barcode scanner. When the scanner "reads" the barcode into the POS system, the UPC code represented by this barcode is displayed in the UPC field, and the form is automatically submitted.
The form also allows the user to enter UPC codes manually. To switch to manual mode, the user should click the link "Manually" at the top of the form. In manual mode, the user must submit the form by hand using the Submit button provided next to the UPC field:
If the store's database contains a product with the UPC that was submitted, the product is added to cart; otherwise, an error message like the following is displayed:
Creating a POS order
After the product has been added to cart, a new button - Process order - appears next to X-Cart's standard Checkout button:
By using this button the user can create the order at once - without having to provide information about the customers' address or payment method.
Important:
- A prerequisite for successfully creating an order via the Process order button is that the profile of the user acting as POS operator must be properly configured (i.e. it must contain information about the user's address and payment method).
- For orders created by users with the "POS operator" role, no shipping information is provided in the order details, since the goods are deemed to be sold at a POS location, without any shiping service involved.
Printing receipts (Customer area)
After a POS order has been created, on the Invoice page - next to the Print receipt button - there appears a button titled Print receipt (jZebra):
The Print receipt (jZebra) button allows the user to print the receipt for the order using the Receipt printer installed in the system.
To print a receipt for an order created earlier, the user must go to the Order history page, find the order for which the receipt needs to be printed, click on it to open the order details, and then, on the Order invoice page that will be opened, click the Print receipt (jZebra) button: