Retail software built for independent businesses
Barcode scanning

What the register reads, in 1D and in 2D

A USB keyboard-wedge barcode scanner works with no driver when it sends the register's expected terminator — normally Enter — after each code. Add a 2D area imager and the same register also reads QR code labels and the barcode on the back of a driver's license.

No scanner drivers, no configuration in the software, no per-register licence.

Three kinds of code

One scanner, three jobs at the counter

A scanner types what it reads, but it must also send the register's expected terminator — normally Enter — to submit the lookup. For QR codes and licenses, choose a model explicitly specified as a 2D area imager; a 1D linear imager still reads linear codes only.

01

Product barcodes

Scan to add an item to the sale. The register matches the code against the item id, the UPC/EAN/ISBN item number, your Product ID, additional item numbers, serial numbers and variation item numbers — in an order you set yourself.

02

QR code labels

PHP Point Of Sale prints Code 128 barcode labels and QR code labels for your items, from the items list, a completed receiving or an open inventory count. A 2D-capable scanner reads the QR labels back at the register.

03

Driver's licenses

A 2D scanner reads the barcode on the back of a driver's license. The register parses it — not as one long number, but into the fields it needs: name, address and date of birth.

Driver's license scanning

The register already parses a 2D barcode into fields

License scanning is the part of this that surprises people. The barcode on the back of a license is a 2D symbol carrying several data elements, and PHP Point Of Sale reads it into a customer record or an age check rather than dropping the raw payload into a search box.

Both uses are switched on in Store Config. Neither needs software installed on the register.

Fill in the customer form

Turn on Enable customer driver's license scanning and the customer form gets a Scan driver's license button. One scan fills the name, address and birth date fields instead of the cashier typing them off the card.

Verify age at the register

Turn on Verify age for products, then mark restricted items Requires Age Verification with a Required Age. Ringing one up prompts for a birthday or a license scan, and an item that fails or cancels the check is removed from the cart.

Or require the scan

With Require Drivers license scan for age verification enabled, a typed birthday is rejected: the prompt reads "Scan the barcode on the back of the driver's license" and only a scan gets past it. Useful where a typed date is not evidence.

What it needs

A scanner explicitly specified as a 2D area imager with QR and the required license symbology enabled. Laser scanners and 1D linear imagers read linear codes only, so “imager” by itself is not enough.

Item identity

A scan finds the item because your data says it should

Lookups match the numbers you stored, so which identifiers an item carries decides what scans. Every one of these is searched, in an order you drag into place under Store Config.

  • UPC / EAN / ISBN
  • Product ID
  • Additional item numbers
  • Serial numbers
  • Variation item numbers
  • Your own lookup order

Scale and deli labels

Labels printed by a weighing scale carry the price or the weight inside the barcode. Pick the UPC-12 or EAN-13 format your scale prints, or map the digit positions yourself, and the register rings the line at the value on the label.

Receipts and customers

The barcode printed on a receipt finds that sale again for a return or a reprint, and a customer barcode or card attaches the customer to the sale.

Labels you print yourself

Print Code 128 and QR labels on Avery sheets or a thermal label printer, or lay out your own in the Label Designer. There is also a free barcode generator if you just want to preview a symbol.

GS1 2D and Sunrise 2027

Where we are on GS1 2D barcodes, stated plainly

What works today

Code 128 and QR code labels printed from your own catalogue and read back at the register, scale-embedded UPC-12 and EAN-13 labels decoded into a price or a weight, and the 2D barcode on a driver's license parsed into customer fields or an age check.

What we do not claim

We do not decode or parse GS1 element strings or GS1 Digital Link URIs, and we do not generate GS1 DataMatrix. We are not going to call ourselves "Sunrise 2027 ready" — that depends on your scanner, its firmware and the codes your suppliers actually print.

Read our guide to what Sunrise 2027 means for small retailers, or see Scales, scanners and customer displays in the Help Center for the settings.

Try it with the scanner you already own

Start a free trial, plug your scanner in, and scan a product, a label you printed and a driver's license before you decide anything about hardware.

START 14 DAY FREE TRIAL