Tomatoes, meat, rice — goods sold by weight. A label-printing scale writes the weight into the barcode itself, and the BuySale till reads that code and drops the item into the basket with its weight. The seller types nothing. This guide covers how the code is built, setting up the scale and what happens at the till.
A scale label barcode is a 13-digit EAN-13: a 22 (weight) or 21 (price) prefix, a five-digit item number (the PLU), a five-digit value and a check digit. BuySale reads it only in shops of the “Grocery” type. You give the item a scale number in the app and enter the same number into the scale — a one-time setup, after which every label is recognised at the till and lands in the basket with its weight.
Example: tomatoes have scale number 00012, cost 18 000 UZS a kilo, and the customer takes 1.25 kg. The two labels below record the same purchase in two formats — the till reads the pictured codes exactly like this.
Weight label — 22
The code carries the weight in grams: 01250 = 1.25 kg. The till takes the price from the app: 1.25 × 18 000 = 22 500 UZS.
Price label — 21
The code carries the amount in so‘m: 22500. The till works the weight out from it: 22 500 ÷ 18 000 = 1.25 kg — so the price in the scale must match the price in the app.
| Part | Digits | Meaning |
|---|---|---|
| Prefix | 22 | Weight label (21 means a price label) |
| Item number (PLU) | 00012 | The five-digit scale number from the app — the scale uses the same one |
| Value | 01250 | Weight in grams: 1 250 g = 1.25 kg (with 21, the amount in UZS) |
| Check digit | 5 | Worked out from the other 12 digits; if it does not match, the code is not read as a scale label |
The value has five digits: a weight of at most 99 999 g (about 100 kg), or an amount of at most 99 999 UZS.
Many scales can print either format. BuySale reads both, but the till works them out differently.
When a price changes you change it only in the app — no need to reprogram the scale. One label holds up to 99.999 kg.
The scale’s price must match the app’s, or the weight at the till comes out wrong. Amounts above 99 999 UZS do not fit in the code.
Our advice: use format 22 where you can. The price lives in one place — the app — while an amount in UZS easily outgrows five digits: a label for a kilo or two of meat can top 99 999 UZS.
The scale section opens only in the “Grocery” type. In other types a code starting 21 or 22 is looked up as an ordinary barcode.
Keep weighed goods in kilograms in the app — the till adds the weight to the basket in kg. Enter the price per kilo or per 100 g and the app does the rest.
On the product card in stock, press the button to create a scale number. The app assigns the first free number from 00001 and draws a sample code for 1 kg.
Set the item up in the scale under the same number and choose the barcode format 22 (or 21) + five-digit item number + five-digit value + check digit. On some scales the PLU and the item code that goes into the barcode are separate fields — the app’s number must end up in the barcode. The scale’s manual has the exact steps.
Weigh something, print a label and scan it at the till: if the item lands in the basket with the right weight, you are set. If not, compare the label’s code with the app’s 1 kg sample code. Clear the test basket without selling.
With format 22 you change the price only in the app. With format 21, update the price in the scale at the same time.
Weigh on an ordinary scale and type the weight into the basket — kilograms take decimals, 0.850 for example. A label-printing scale simply removes that step.
The app assigns it — the lowest free number from 00001. If your scale already holds items under other numbers, change the number in the scale to match the app. Each item has one scale number.
There are three likely reasons: the shop type is not “Grocery”; the number inside the code does not match the app’s scale number (the scale holds a different number or a different code format); or the check digit does not match. Compare it with the app’s 1 kg sample code: the five digits after the prefix — the scale number — must match.
With format 22 (weight), no — the price comes from the app. With format 21 (price), yes — update the scale’s price too, or the weight at the till comes out wrong.
No — only in the “Grocery” type. In other shop types a code starting 21 or 22 is looked up as an ordinary barcode, so that a number on a jewellery tag, say, is never mistaken for a scale label.
No problem: only weighed items get a scale number; everything else sells as usual by its factory code or the shop’s own code — see the barcode guide.
Prepared by: the BuySale team · Checked: 04.10.2026 · Spotted a mistake? Tell us on Telegram
Software for grocery shops and mini markets: fast POS that reads scale labels, expiry batches, low-stock alerts and a customer credit ledger.
Learn more →Goods-in on your phone: scan the factory barcode and catalogue items fill in their name and section. Label and delivery-note photos, expiry and batches.
Learn more →A POS app on your phone: camera barcode scanning, cash, card and credit sales, 58/80 mm receipts and shift cash counts. Not a fiscal till. 7 days free.
Learn more →Make a free in-store EAN-13 barcode starting with 20 for items without one and print labels on A4 or a roll. Supplying retail chains needs a GS1 code.
Learn more →
7 days free, no payment card needed. Then from 6 630 UZS a day, depending on the shop type.
Start for freeBuySale assistant
Answers from what is published on this site
AI can make mistakes — check anything important via Telegram.
Writing an answer