Barcode Scanners

From NewHaven Software Wiki

Jump to: navigation, search


Overview of scanning methods

There are two primary modes of communication for a scanner to communicate: serial (USB) or keystrokes. If the scanner is configured/connected as a serial scanner, it transmits all of the scanned data to the software and lets the software determine what to do with the data. If the scanner is operating in a keyboard emulation (aka keyboard-wedge), the software is out of the loop for any interpretation of the scan and just processes the keystrokes as if you had typed them in.

Keyboard emulation is great in a lot of ways because there are no drivers for Windows or settings for the software. Very little to go wrong. Its strength is also its weakness though. While operating in keyboard mode, the software does not know when you are scanning and thus cannot do anything to help. This is the reason we've elected to use scanners in the serial mode for CMS's POS module and also the shipping manifest. With serial scans CMS can know when you are scanning and can do more for you.

The benefits of operating in serial mode currently include:

You can scan a barcode from anywhere on the Item screen. Say, for example, your cursor is in the qty or price field. CMS will recognize your scan as an 'Add new item' operation and will add the item you've scanned. (In keyboard mode you would have to make sure your cursor is always in the Product field, again, the same as if you were typing it in.)

Other such "smart" solutions are available to us in the shipping manifest as CMS can add a package when you scan, regardless of where you are on the manifest screen. It can also automatically bring in the weight from the scale as part of the scan. In keyboard wedge mode, you would have to be sure your cursor was in the Add A Single Package field.

With the way the serial-mode scans work in POS now, you merely scan the barcode and the cursor jumps to the qty field with a qty of 1. From there you can change the qty if it is other than 1 or, if 1 is correct, you can just move on to scanning the next product and not have to press Enter or click + to be ready for the next item. In other words, you can just scan products with no keyboard interaction unless the qty > 1. We saw this as a very efficient means of scanning while not making the qty field required since most items will be qty = 1.

If you prefer, you can reprogram the scanner to use keyboard emulation instead. As stated above though, it comes at the cost of operator having to make sure they are in the Product field when scanning. In the hectic POS/Retail environment, we did not think this was acceptable. Much the same holds true for shipping stations and the use of serial scanners there.


As described above, scanners can work in a serial mode (serial emulation for USB) or keyboard emulation. Most any scanner can be programmed to work with either method. Changing between them is typically just a matter of scanning barcodes in the scanner's manual to program the options you want to use. Some scanners, however, will require specific cables for different communication types and, to facilitate these, most scanners' cables can be replaced.

Not sure what mode your scanner is in? Open Notepad and scan any barcode (coke can, candy bar, tracking number, etc.) and if the text shows up in Notepad, the scanner is in keyboard emulation mode. If you see nothing, chances are it is in serial emulation mode.

Presently CMS will work with serial scanners (again this includes USB scanners operating in serial emulation mode) in the following places:

  • POS Module (all CMS versions)
  • Manifest (all CMS versions)
  • Products (CMS Ten+)
  • Stock Manager (CMS Ten+)


Support for this mode of scanning was added in CMS TEN and should be your first choice where possible. It is also the only mode supported in Windows 10 currently. Despite the name, scanners running in the HID POS mode are not limited to use in point of sale (POS.) They can be used wherever CMS supports scanner input. HID POS scanners are faster to setup and use with no driver software to install. They are about as close as you'll get to plug and play.

Not all scanners support this mode but many of the popular ones do and should only require a single programming code scan to put your scanner in this mode. Look for USB HID or HID POS in your scanners programming guide if you're using an unsupported scanner otherwise contact NewHaven Software for a programming instruction sheet for one of our supported scanners. See our wiki page on CMS System Requirements for a current list of known and supported scanners that can operate in this mode.


WINDOWS 10 USERS - Honeywell has been unable to get USB Serial Emulation to work on Win10. If you expect to need a barcode scanner on a Win10 machine, please choose a scanner model that supports USB HID POS mode (below).

    • Honeywell 1300G (replaced the 3800G) - Supports only USB HID POS
    • Honeywell (Metrologic) Fusion MS3780 - Supports both USB serial and USB HID POS
    • Honeywell (HandHeld) 3800G - Supports both USB serial and USB HID POS (this model has been replaced by the 1300g above)
    • Honeywell Voyager MS9520 (no trigger) - Supports only USB serial
    • Honeywell (Metrologic) Voyager MS9540 (has trigger) - Works only with the MX009 USB cable only and then only known to work with USB Serial, not USB HID POS)


  • CMS TEN added support for USB HID POS interface which works in lieu of USB serial emulation. Not all scanners support USB HID POS but, for those that do, its configuration should be easier and you may have more scanner models to choose from. The following Honeywell models support USB HID POS and should work with CMS (with no programming other than putting the scanner into HID POS mode), but these models have not been specifically tested by NewHaven Software:
    • MS5145 Eclipse
    • MS9590 VoyagerGS
    • MS9591 VoyagerGS HD
    • MS9521 VoyagerHD
    • MS9524 VoyagerPDF
    • MS9540 VoyagerCG
    • MS9541 VoyagerHD
    • MS9544 VoyagerPDF
    • MS9535 VoyagerBT
    • MS1633 FocusBT
    • MS1690 Focus
    • MS1691 FocusHD
    • MS9590i VoyagerGS
    • MS1890 Focus
    • MS7120 Orbit
    • MS7180 OrbitCG
    • MS3580 QuantumT

While these scanners do have to be programmed to work in the USB HID POS mode (aka USB HID serial mode, not USB HID SurePOS or USB HID keyboard) there should be no driver installation necessary as there is with USB serial emulation. You'll just need to find the proper bar code to scan in the scanner's programming guide for USB HID. You can purchase a scanner and ship it to us if you'd like us to add it to our supported scanner list. We can then provide documentation on proper setup and help with troubleshooting any future issues.

Serial Scanner Programming

While NewHaven Software offers support and programming instructions for a select number of scanner models (available from Support Downloads), chances are most any scanner can be programmed to work with CMS. If you'd like NewHaven Software to certify your preferred scanner model, just have one shipped to us. In return we will provide step by step setup instructions and ongoing support for your use of that scanner model. If we get it to work, we keep the unit for future testing and support. If we cannot get it to work, we'll ship it back. Contact your account rep or technical support for more details.

If instead, you'd like to take a crack at it on your own, here are the elements we look for when programming a scanner:

  1. Get the manual - If you don't have it handy, download a copy from the manufacture's website. Most are available in a .pdf format.
  2. Get the Windows driver - Here again, download from the manufacture's website if you do not have a driver disk or know the location of the driver file
  3. Reset Product Defaults - scan the code that resets the scanner back to factory defaults
  4. USB Com Port Emulation - If the scanner is connected by USB (recommended), scan the code to enable USB Com Port Emulation. When programming a scanner to operate in serial mode, Windows will immediately recognize it, assign a COM port, and prompt you to install new hardware. Be prepared for this and have the driver handy, ideally in a sub-directory of NewHaven Software on the network for easy access to all workstations (each workstation using a serial scanner will need its own driver). Drivers for supported scanners are included on CMS CD's that we ship and are available on request along with the scanner's PDF manuals used for programming the scanners.
  5. Add a Carriage Return (CR) suffix - scan the code in the programming guide that appends a carriage return after every scan
  6. Remove the Line Feed (LF) suffix - Not all scanners default to include this but if yours does, you'll want to disable it
  7. Configure CMS to work with your scanner - In CMS the setup for serial scanners is in Workstation Specific under the Serial Dev tab. There you can click test to confirm it is working properly (you will see the contents of your scan in the box next to Test.) Refer to Device Manager in Windows if you are unsure of the com port assigned to the scanner. Default baud is typically 9600.

Where scanners are used

There are several places in CMS where scanning barcodes is supported and even encouraged. If you consider barcodes in keyboard emulation mode though, your imagination is your limit on what could be done to help automate anything you might do repeatedly in CMS that can be keyboard navigated.

  • Order Entry/POS - In CMS's optional POS module we support serial/usb scans. In other words, CMS knows that a scan in Order Entry translates to the following steps
  1. Add new product
  2. product code added
  3. Advance cursor to the Qty field (defaults to 1)

There the operator can enter a quantity (if other than 1) or just scan the next item. Note that with the POS module, CMS will recognize either product codes or UPC codes. UPC codes can even be typed in. UPC codes for products can be entered in the Products section.

  • Shipping - UPS Worldship and FedEx Ship Manager will work only with keyboard emulation and this works nicely with the barcoded package number CMS can print on your fulfillment forms. This also works well in CMS's Manifest screen for use with Endicia or general USPS manifesting. As of version 5.2 CMS can also support serial scanners in the manifest. Here again this means you do not have to be in the 'add new package' field and the weight can automatically be brought in from a connected scale.
  • Products (v10) - Scan a product or UPC barcode while the Products window is open and CMS will jump to that product in the list.
  • Stock Manager (v10) - Scan a product or UPC barcode in Stock Manager and CMS will jump to that product in the list.

Printing Barcodes

CMS can print barcoded package numbers on CMS forms and can also be done with Crystal as described in our Release Notes

CMS does not yet print product barcodes. In the mean time, if you'd like to print barcodes we're recommending Bartender. The Professional version allows you to connect to CMS via ODBC and can print anything from our database. You may opt for Basic at the sacrifice of ODBC connectivity. Either way, this is great software that lets you design your own label formats and contents.

Personal tools