Keyboard-wedge barcode scanners work at the register when configured with the expected Enter suffix, PrintNode-connected scales weigh items with tare codes and scale-embedded barcodes, a customer-facing display mirrors the cart on a second screen, and a Topaz pad captures digital signatures.
Beyond the printer and the card terminal, four pieces of hardware speed up the counter: a barcode scanner, a scale for weighed goods, a customer-facing display, and a digital signature pad. None of them needs special drivers in PHP Point Of Sale — this article covers what each one does, where its settings live, and how to switch it on.
Barcode scanners
A keyboard-wedge scanner needs no PHP Point Of Sale driver: plug it into a USB port and it types what it scans. Configure the scanner to send the register's expected terminator after the code — normally an Enter suffix — because typing into a text field does not by itself prove that the register lookup will be submitted. With one connected you can:
- Scan items on the sales screen to add them to the sale — the everyday flow from ringing up a sale.
- Scan the barcode printed on a receipt to look that sale up instantly, for a return or a reprint.
- Scan customer barcodes or cards to attach the customer to the sale — see customer profiles.
How the barcodes themselves are generated and printed is covered in barcodes and labels.
1D and 2D: which scanner you need
Scanner technology is not a simple laser-versus-imager split:
- Laser scanners and 1D linear imagers read linear ("1D") barcodes only — the stripes on a product, and the Code 128 labels PHP Point Of Sale prints.
- 2D area imagers capture an area and can read linear barcodes plus 2D symbols such as QR codes and Data Matrix. Check the exact model's specification: “imager” alone may mean a 1D linear imager.
Everything in the list above works with a linear-capable scanner. Two things need a 2D area imager: the QR code labels you print from your own catalogue, and the barcode on the back of a driver's license, covered next. Both are read as 2D symbols, and the license is parsed into separate fields rather than handled as one long number.
What is not supported is decoding or parsing GS1 element strings and GS1 Digital Link URIs — the syntaxes behind the GS1 2D barcodes that brands are starting to add to retail packaging for the industry's Sunrise 2027 (Ambition 2027) transition. PHP Point Of Sale does not generate GS1 DataMatrix either. If your suppliers are adding 2D codes to packaging, configure the scanner to transmit the GTIN on its own (GS1 calls this Mode 1) and test a scan into a text field before you rely on it.
Driver's license scanning
A 2D scanner can also read the barcode on the back of a driver's license, two ways:
- Fill in customer forms — turn on Enable customer driver's license scanning in Store Config → Application Settings and the customer form gets a Scan driver's license button that parses the license and fills the name, address, and birth date fields for you.
- Verify age at the register — turn on Verify age for products in Store Config → Items and mark restricted items with Requires Age verification plus a Required Age on the item form (see creating items). When such an item is rung up, the register asks for the customer's date of birth; with Require Drivers license scan for age verification also checked, typing is not accepted — the prompt reads "Scan the barcode on the back of the driver's license" and only a scan satisfies it.
Scales and weighed items
For produce, deli, bulk candy — anything sold by weight — check Enable Scale in Store Config → Barcodes and the register works in weights instead of plain quantities.
To read the weight electronically, connect a digital scale through PrintNode — the same integration described in receipt printers, cash drawers and PrintNode:
- Install the PrintNode client on the computer the scale is plugged into.
- On the location's PrintNode tab, pick the scale under Select Scale, set Weight Type (KG, LB, or OZ), and press Test Scale to confirm a live reading. Each register can be given its own scale in the per-register PrintNode dialog.
- At the register, open an item's quantity editor — a Read Scale button appears next to it. Press it and the register pulls the current weight straight from the scale, so nobody retypes what the dial says.
Tare codes
Tare codes handle packaging: in Store Config → Barcodes, the Tare Codes table takes a code, a Weight Unit (grams, KG, LB, or OZ), and a Tare Amount; Add Tare Code adds rows. Once any tare codes exist, pressing Read Scale at the register first opens a Select Tare Code picker listing every code with its amount and unit, plus a No Tare choice (the default). Pick the container in use and its weight is subtracted from the scale reading before the quantity is filled in, so the customer pays only for the contents; with no tare codes configured, Read Scale reads the weight immediately with no dialog.
Scale-embedded barcodes
If a deli or produce scale prints its own labels, those labels carry the price or the weight inside the barcode, and the register can decode them. In Store Config → Barcodes:
- Scale Barcode Format — pick the layout your scale prints: UPC-12 4 price digits, UPC-12 5 Price Digits, EAN-13 5 price digits, EAN-13 6 price digits, the weight-embedded variants (Weight Embedded Barcode, Weight Embedded Barcode EAN 13, Weight Embedded Barcodes EAN 13 4 price digits, Weight Embedded Barcode EAN 13 4 Weight Digits), or Custom Format.
- Scale Barcode Custom Format — with Custom Format selected, you map each digit position of the barcode to item number, price/weight, or ignore, covering scales that arrange the digits differently.
-
Scale Price Divide By — tells the register where the decimal sits in the embedded value (for example, divide by 100 to read
0250as 2.50).
The result: weigh at the deli counter, print the label there, and the front register rings the item at the value the scale printed with one scan.
The customer-facing display
The customer-facing display is a second screen that mirrors the sale in real time — items with quantity and price, discounts as they are applied, subtotal, tax, total, payments, and amount due — in a cleaner layout than the cashier's screen.
- At the register, open the three-dot menu and click Customer Facing Display. It opens in a new browser tab or window.
- Drag that window to a monitor turned toward the customer (extend the desktop rather than mirroring) and make it full screen.
- Sell normally — every change the cashier makes pushes to the display live.
When the sale completes, the display shows a thank-you screen with your company name, and — when the customer on the sale has an email address — an Email Receipt button they can use themselves.
Two operational notes:
- The display is tied to the register it was opened for. If you switch registers mid-shift, close the display and open it again from the new register, or it will keep showing the original register's sale.
- Turn on Remind employee to open customer facing display in Store Config → Sales and the register nags the cashier when the display isn't open — so a lane meant to run with one doesn't quietly go without it after a reboot.
Digital signature pads
Digital signature capture saves paper and gives customers an easy way to sign for credit card and store account transactions. The supported hardware is the Topaz SigLite family — the T-S460-HSB wired pad is the most cost-effective, and other SigLite models work too.
- Plug the pad into a USB port.
- Download and install the SigWeb software from the Topaz Systems website and follow its setup wizard.
- On a sale that asks for a signature, click Capture Digital Signature on the receipt screen. The customer signs on the pad; click Done Capturing Signature and the signature is saved with the sale.
No pad? The same button lets customers sign in the on-screen signature box with a mouse, finger, or stylus. When the signature prompt appears — and the settings that control it, like Auto Capture Signature and Capture signature for all sales — are covered in taking card payments.
Picking hardware
Scanners, scales, and displays vary widely in build quality even when they all "work," so if you are buying new, start with the hardware overview and the hardware store to see what is known to pair well with PHP Point Of Sale. Barcode scanning summarises what the register reads in 1D and in 2D.
Common questions
Do I need a special scanner brand? No special brand is required. A USB keyboard-wedge scanner needs no PHP Point Of Sale driver, but it must send the expected terminator — normally Enter — after the code. Choose a model explicitly specified as a 2D area imager if you want to read driver's licenses or QR codes.
Can PHP Point Of Sale read 2D barcodes? Yes, with a scanner explicitly specified as a 2D area imager: the QR code labels it prints for your items, and the barcode on the back of a driver's license, which it parses into name, address and date of birth. It does not decode or parse GS1 element strings or GS1 Digital Link URIs, and it does not generate GS1 DataMatrix.
Is PHP Point Of Sale ready for GS1 Sunrise 2027? That depends on your scanner more than on the software, so we do not claim it as a feature. The scanner decides what reaches the register: set to transmit only the GTIN (GS1's Mode 1), a 2D scan arrives as the same digits a linear scan sends today and is looked up the same way, so store the GTIN as the item's UPC/EAN/ISBN number. A scanner transmitting a full GS1 element string sends application identifiers and a group separator character as well, which the register has no field for. Scan into a text field first to see which you are getting.
Why doesn't my scanner add the item? First confirm that the scanner sends the code followed by the register's expected terminator, normally Enter. In a text editor, verify both that the number appears and that the suffix acts like pressing Enter; characters appearing without that suffix do not submit the register lookup. If both are present, check that the item's number/UPC in PHP Point Of Sale matches the label.
Can the register read the weight by itself? Yes — with the scale connected through PrintNode and assigned on the location (or register), the Read Scale button in the quantity editor pulls the live weight.
How do I stop charging customers for the container weight? Define Tare Codes in Store Config → Barcodes with each container's weight; Read Scale then opens the Select Tare Code picker, and choosing the container subtracts its weight from the reading.
My deli scale prints labels with the price in the barcode. Will they scan? Yes — set Scale Barcode Format to the layout your scale prints (or build a Custom Format) and set Scale Price Divide By so the decimal lands correctly.
The customer display shows the wrong sale. It is still attached to the register it was opened from. Close it and reopen Customer Facing Display from the register you are actually using.
Does the customer display need its own computer? No — it is just a browser window. A second monitor on the register PC is enough; extend the desktop and drag the display window over.
Which signature pad should I buy? The Topaz SigLite T-S460-HSB is the recommended, most cost-effective model; other Topaz SigLite pads work as well. Install Topaz's SigWeb software and the Capture Digital Signature button uses the pad automatically.
Comments
0 comments
Please sign in to leave a comment.