Scany
Scany reads the product code and the price or weight from UPC-A and EAN-13 scale labels. The cashier scans the label on the Embedded Barcodes tile, and the matching product goes into the POS cart at the label's price.
How it works
You describe your labels
Pick a ready template, or build a rule that says which digits are the prefix, the product code and the price or weight.
You turn scanning on
Enable embedded barcode scanning. The app saves the rules and sets up a Shopify Cart Transform function in your store. That function sets the price of scanned lines.
The cashier scans a label
On the Embedded Barcodes tile. The app reads the code and finds the one active product variant, published to Point of Sale, whose SKU or barcode equals the product code. It adds that variant to the cart, quantity 1, and the window closes.
The cart gets the label price
A price label gives its price. A weight label gives the weight times the product's price at the sale location. POS shows the line like a bundle: 1 item with the same product inside.
One label, one line
Each scan adds one line. Inventory goes down by one unit per label; the weight is kept in the line's properties.
A settings change needs a new scan
Every save creates a new settings version. Lines scanned with an older version block checkout until they are removed and scanned again.
The label is the price
The app charges what the label encodes. Scale accuracy, label layout, product SKUs and prices, and the weights and measures rules of your area stay your responsibility. Check the final price in the cart and at checkout on each POS device before cashiers rely on it.
What it does
Price and weight labels
Reads 12-digit UPC-A and 13-digit EAN-13 labels that carry a price or a weight. Weight units: kg, lb and 100 g.
Six ready templates
UPC-A price (prefix 2), EAN-13 price (prefix 21), UPC-A weight kg (prefix 2), EAN-13 weight kg (prefix 22), EAN-13 weight lb (prefix 23) and EAN-13 weight 100g (prefix 24).
Custom rules
In Advanced, the Barcode constructor shows a sample label digit by digit. You mark the prefix, the product code and the price or weight, and the rule saves itself once it is valid.
Exact product match
The product code must equal one variant's SKU or barcode, leading zeros included. Product lookup order sets which is tried first. Several matches are refused.
Scanner, camera or typing
A connected scanner, Open camera scanner, or the Barcode field with Add to cart.
Barcode Playground
Test a label in the admin: the matched rule, the decoded product code and value, the calculated price, and the real Shopify product. Nothing is added to a cart.
Store compatibility check
The admin checks that Shopify lets your store adjust cart line prices. If not, it shows Cart price adjustment unavailable and keeps scanning off.
Changes save by themselves
No Save button. Saving…, then All changes saved.
Price & installation
How to install
- Open the app on the Shopify App StoreUse the button above, signed in to your store.
- Click InstallApprove the permissions the app asks for.
- Choose the planThe 30-day free trial starts at once. Shopify bills the subscription with your Shopify invoice.
- Set the app up in your Shopify adminIt is listed under Apps. The first setup is below.
- Add the app's tile to Shopify POSOn the POS home screen add a tile, choose Apps and pick the app.
How to cancel the subscription
Cancelling means uninstalling the app. There is no separate billing screen.
- In the Shopify admin open Settings → Apps.
- Open the menu on the app's row and choose Uninstall.
- Confirm. The subscription stops when the app is uninstalled.
First setup
Do this once, in this order. The app is then ready for the shift.
- Prepare the product.Active, available to the Point of Sale channel, with a SKU or barcode equal to the product code on the label, leading zeros included, for example SKU 00123. For a weight item, the variant price is the price per kg, lb or 100 g.
- Open Scany in the Shopify admin.The page is titled Embedded Barcodes. Approve the plan if Shopify asks.
- In 1. Barcode rules, keep Rule editor on Basic and click Choose template.Pick the template that matches your labels. It is applied and saved at once. If no template fits, switch to Advanced.
- For a weight template, set Shopify variant price is per.In 2. POS configuration: Kilogram (kg), Pound (lb) or 100 grams (100g). It is the unit of your Shopify price and can differ from the unit on the label.
- Tick Enable embedded barcode scanning.Wait for All changes saved. Step 2 of Get started gets a green check when the price adjustment is ready.
- Test a label in Barcode Playground.Type the full code in Barcode, click Parse barcode, then Look up Shopify product. Check the product and the Calculated line price.
- In Shopify POS, add the Embedded Barcodes tile and scan a real label.Check the item and the price in the cart and at checkout. The admin cannot check this step for you.
Setup scenarios
Each scenario is a complete configuration. Follow the steps in order.
1. Deli counter: weight labels in kg
The scale prints an EAN-13 label with the weight; the product price is per kg.
- Give the product a SKU equal to the product code on the label, for example 00777.Price it per kg, for example 20.00.
- In Basic, Choose template → EAN-13 weight kg (prefix 22).
- Set Shopify variant price is per to Kilogram (kg).
- Tick Enable embedded barcode scanning.
- Test 2200777005002 in the Playground.0.500 kg at 20.00 per kg gives 10.00.
- Scan the label on the Embedded Barcodes tile.The cart line costs 10.00.
2. Pre-packed items with a price label
The label already holds the price to charge.
- Choose EAN-13 price (prefix 21), or UPC-A price (prefix 2) for 12-digit labels.
- Tick Enable embedded barcode scanning.
- Scan the label.The cart line costs the price on the label, whatever the product's own price is.
3. A label no template fits
Your scale uses another prefix, more product digits or a price verifier digit.
- Switch Rule editor to Advanced and click Add custom rule.The Barcode constructor opens.
- Type a real label in Sample barcode.12 digits make it UPC-A, 13 digits EAN-13.
- Select the prefix digits and click Assign Prefix.The prefix starts at the first digit. To select a range, click its first and last digit.
- Select the product digits and click Assign Product code.
- Select the value digits and click Assign Price.For weight, set Embedded value to Weight first; the button then reads Assign Weight.
- Set Value decimal places, and Barcode weight unit for weight.The last digit is the checksum and stays fixed.
- Click Close and test the label in the Playground.The rule was saved as soon as it was valid.
4. Price labels and weight labels in one store
Pre-packed items carry a price, the counter prints weights.
- In Basic, choose the weight template, for example EAN-13 weight kg (prefix 22).
- Switch to Advanced and click Add custom rule.
- Build the price rule from a price label, for example 2000456008757.Digits 1 to 2 prefix, 3 to 7 product code, 8 to 12 price, 2 decimal places.
- Check both labels in the Playground, then on the POS tile.
5. After you change the rules
Items scanned before a settings change block checkout.
- Open the Embedded Barcodes tile on each register that has an open cart.
- If a red banner says Items scanned before the barcode settings changed: N, tap Remove outdated items (N).Only those lines are removed.
- Scan those labels again.
Screens and settings
Every screen of the app and what each setting does.
Ready templates
Example prices assume a variant with SKU 00123 priced 20.00 USD per kg.
| Setting | What it does |
|---|---|
| UPC-A price (prefix 2) | 200123012342 → product 00123, price 12.34. |
| EAN-13 price (prefix 21) | 2100123012343 → product 00123, price 12.34. |
| UPC-A weight kg (prefix 2) | 200123005009 → 0.500 kg, line 10.00. |
| EAN-13 weight kg (prefix 22) | 2200123005007 → 0.500 kg, line 10.00. |
| EAN-13 weight lb (prefix 23) | 2300123010008 → 1.000 lb, line 9.07. |
| EAN-13 weight 100g (prefix 24) | 2400123050001 → 5 × 100 g, line 10.00. |
Admin page
One page, titled Embedded Barcodes. Changes save by themselves.
| Setting | What it does |
|---|---|
| Get started | Three steps: choose a rule, enable scanning, check a label in POS. Done steps get a green check. The POS step always stays to do. |
| 1. Barcode rules | Rule editor: Basic (one template) or Advanced (several rules). |
| 2. POS configuration | The scanning switch, the lookup order and the price unit. |
| 3. POS App Tiles | Reminds you to add the Embedded Barcodes tile in POS. |
| Barcode Playground | A test tool below the cards. |
| Miss something? · Tell us | Sends us a feature request: up to 1,000 characters and an optional email. |
| Saving… · All changes saved. | The save indicator. If a save fails, read the message and click Retry. A failed save is not retried by itself. |
| Cart price adjustment unavailable | Shopify does not let this store adjust cart line prices. Scanning stays off; rules and the Playground still work. |
1. Barcode rules: Basic
| Setting | What it does |
|---|---|
| Choose template · Change | Opens the list of six templates. A choice replaces the current rule and is saved at once. It does not turn scanning on. |
| Rule card | The rule's name and its digits in colors: prefix, product code, price or weight, checksum. |
1. Barcode rules: Advanced
| Setting | What it does |
|---|---|
| Add custom rule | Opens the Barcode constructor for a new rule. |
| Rule row | Name, format · Price or Weight · Prefix, the colored digits, and Disabled when the rule is off. |
| Actions menu | Edit rule, Disable rule or Enable rule, Move earlier, Move later, Remove rule. |
Barcode constructor
| Setting | What it does |
|---|---|
| Sample barcode | A real label. 12 digits for UPC-A, 13 for EAN-13. It is not saved and not sent to POS. |
| Digits | Click a digit, or the first and last digit of a range. Adjacent digits of the same type join together. |
| Assign Prefix · Assign Product code · Assign Price | Give the selected digits their role. With Weight, the last button reads Assign Weight. Clear selection drops the selection without changing the rule. |
| Embedded value | Price or Weight. |
| Value decimal places | 0 to 6. A price label usually has 2, a weight label 3. |
| Barcode weight unit | Weight rules only: Kilogram (kg), Pound (lb) or 100 grams (100g). |
| Technical settings | Rule name, Enable this rule, Priority (lower runs first), Barcode format, Prefixes, separated by commas, start positions and digit counts (from 0), Barcode checksum, Optional value verifier. |
| Close | Closes the window. Valid changes are already saved. An incomplete rule is not saved; the last valid version stays in use. |
2. POS configuration
| Setting | What it does |
|---|---|
| Enable embedded barcode scanning | Turns scanning on in POS. Needs at least one enabled rule. |
| Product lookup order | SKU, then barcode (default) or Barcode, then SKU. Exactly one active variant published to Point of Sale must match. |
| Shopify variant price is per | Shown when a weight rule exists. The unit of your Shopify price: kg, lb or 100 g. All weight rules use it. |
Barcode Playground
| Setting | What it does |
|---|---|
| Barcode | The full code, 12 or 13 digits with the check digit. |
| Test unit price | Optional, for a weight test without a product. |
| Parse barcode | Decodes the code with the current rules: Matched rule, Decoded product code, Decoded value, Calculated line price. |
| Look up Shopify product | Finds the real variant: Shopify variant, its price and what it matched by. Nothing is added to a cart. |
POS tile: Embedded Barcodes
Subtitle Scan price or weight. The version of the tile, v and a number, is at the bottom of the window.
| Setting | What it does |
|---|---|
| Loading current settings… | The window reads the current rules. It needs a connection. |
| Scan an item | Scan with a connected scanner at any time while the window is open. |
| Open camera scanner | Scans with the device camera. |
| Barcode · Add to cart | Type all 12 or 13 digits, including leading zeros, then tap Add to cart. A keyboard-mode scanner types into this field after you tap it. |
| Clear | Empties the field for the next label. |
| After a match | The item is added and the window closes. Open the tile again for the next label. |
| Scan next item | After an error. Returns to scanning. |
| Reload settings | Shown when scanning is off or the settings changed. |
| Remove outdated items (N) | Shown with a red banner when the cart holds lines scanned before the settings changed. Removes only those lines. |
Screenshots of the running app in Shopify POS and the Shopify admin. Click one to enlarge.
Everyday use
What the cashier does after the app is set up.
- Open the Embedded Barcodes tile.
- Scan the label with the scanner, or tap Open camera scanner. To type it, enter all digits in Barcode and tap Add to cart.
- The window closes and the cart shows the item.
- Check the price in the cart. Open the tile again for the next label.
- If a red message appears, read it, then tap Scan next item. Do not repeat a failed add before checking the cart.
Troubleshooting
Symptom on the left, what to do on the right.
| Symptom | What to do |
|---|---|
| No Shopify variant exactly matches this product code. | The SKU or barcode must equal the product code exactly, leading zeros included. The product must be active and available to Point of Sale. Check Product lookup order. |
| Settings changed or several variants match this code. Reload settings and check the product SKU or barcode. | Two variants share this SKU or barcode: give each a unique one. If you just changed the rules, reopen the tile. |
| Check the barcode digits, length, prefix and check digit, then scan again. | The label matches no enabled rule, or its check digit is wrong. Test it in the Barcode Playground. |
| Embedded barcodes are disabled. Enable them in Shopify Admin, then reload settings. | Tick Enable embedded barcode scanning in the admin, then tap Reload settings. |
| Price adjustment is unavailable. Cart Transform setup is unfinished, or Shopify does not allow this store to adjust cart line prices. Check the app in Shopify Admin. | Open the admin. Wait until step 2 of Get started has a green check. If the page shows Cart price adjustment unavailable, the store cannot use scanning. |
| Settings saved; scanning setup failed | Click Retry. If it fails again, write to contact@merchbytes.com. |
| Checkout is blocked after you changed the rules. | Open the tile on that register and tap Remove outdated items (N), then scan those labels again. |
| Shop and POS currencies differ. Reload settings before continuing. | Reopen the tile. The price is only set when the store currency and the POS currency are the same. |
| Bundle variants require a separate POS compatibility check. | The matched variant is a bundle. Scany does not add bundle variants. |
| The weight price in POS differs from the Playground. | POS uses the product's price at the sale location, including location prices, Markets and B2B catalogs. The Playground uses the variant price. |
| The cart shows the item as 1 item with the same product inside. | That is how POS shows a line priced by the app. It is one unit of your product at the label price. |
| The app's tile is not on the POS home screen. | Add it: on the POS home screen add a tile, choose Apps and pick the app. |
| The tile does not react or shows an old screen after an update. | Close and reopen Shopify POS. If that does not help, update Shopify POS on the device. |
| The app asks for new permissions. | A new version needs them. Open the app in the Shopify admin and approve them. |