Barcodes and units
Sell by the piece and buy by the carton? Scale labels at the deli counter? This article explains units, conversion factors and barcode aliases, plus the scale barcode format the cashier reads.
On this page
Base unit and conversion units
Every item has a base unit in which the balance is kept, always with factor 1. In the Units tab add other units and set each one's Factor: how many base units it contains. Carton = 12 pieces means factor 12.
- Define the unit itself first under Items, then Units if it does not exist (see Groups, manufacturers and units). Common base units ship with every store.
- In the item, pick the unit and enter the factor.
- Mark one unit Default sales and one Default purchase: invoices propose them and the line can still be changed.
The number of decimals in a quantity follows the unit: 0 for pieces, 3 for kilograms. It is set on the Units screen.
What happens in the books
Every movement is converted to the base unit before it is recorded. Buying 3 cartons with factor 12 brings in 36 pieces, and the carton cost is divided by 12 to compute the average piece cost. Reports and balances are all in the base unit, and the price per unit is derived from the base price times the factor unless you enter a specific unit price in the price list.
The primary barcode and its aliases
The barcode in the Basic tab is the primary. In the Barcode aliases tab add any number of other barcodes for the same item: an old manufacturer code, a new pack, and so on. Each barcode can be tied to a specific unit (optional): the cashier scans the carton barcode and one carton is added, not one piece.
Barcodes are unique across all items. Saving a barcode owned by another item is refused with ERR_BARCODE_TAKEN, naming the duplicate.
Tip
Items with no factory barcode (vegetables, bread, items sold by weight or count) deserve a short internal barcode you print, or a place among the quick items so they appear as buttons on the cashier screen.
Scale barcodes for weighed items
A label scale prints a barcode holding the item number and the weight together. Sahl reads it with no extra setup, provided the item's barcode in the panel has this format:
- 6 digits: the first three identical, from 111 to 999 (meaning "weighed item"), then three digits that are the item number in the scale. Example:
111042.
The label printed by the scale is 12 digits (UPC-A, weight in 5 digits) or 13 digits (EAN-13, weight in 6 digits): prefix and item number, then the weight in grams, then a check digit. When the cashier scans the label, the app looks up the item by the first six digits and takes the weight from the rest: 00735 means 0.735 kg.
| Label | Item | Weight |
|---|---|---|
111042007350 (12 digits) | 111042 | 735 g = 0.735 kg |
2220150012502 (13 digits) | 222015 | 1250 g = 1.250 kg |
Reading conditions: length 12 or 13, identical non-zero prefix, valid check digit and a weight above zero. Anything else is treated as a normal barcode. Some scanners output UPC-A with a leading zero (13 digits starting with 0); the zero is dropped automatically.
Warning
Set the base unit of a weighed item to kilogram with three decimals and enter the price per kilogram. If the unit were "piece", the weight would be counted as a number of pieces.
Scanning and the sale screen are covered in The sale screen.
Frequently asked questions
Can a carton have a price other than 12 times the piece price?
Yes. In the price list enter a price for the carton unit; it takes precedence over the price derived from the base unit.
The scale prints 13 digits and the item is defined with 6. How is it found?
The app takes the first six digits of the label and searches with them, then reads the weight from the following digits. Do not enter the full barcode in the panel.
Why was the barcode refused on save?
Because it is registered on another item. Search for it in the items list and remove it from the wrong item or use another barcode.