Does barcode scanning actually work in v13?

It seems there is integrated barcode scanning but it doesn’t appear to work for me. What are other’s experience? @bkm @Wasif_Khalil

The built-in JS camera-based scanning either uses quaggajs or cordova (now unmaintained). On my Mac’s webcam it doesn’t detect anything. The dialog says “Scan QRCode” but cordova appears to support lots of barcode types, and quagga is set to “code_128_reader” only in code.

From reading other posts it seems you can also use hardware barcode scanners where the cursor is placed in the field, barcode scanned, the data is entered as text then there is code to look up the item and populate other fields. Is this still the case and does it work on the POS screens?

1 Like

I do use Symbol brand scanners to do everything from Stock Entry Material Transfers, to POS Sales using POS Awesome app.

I have only occasionally tried to use the built-in cameras in some devices and it never really worked. Good barcode scanners are worth the investment.

BKM

1 Like

Only use Zebra Symbol or Datalogic scanners. They have never failed for any of our clients.

1 Like

+1 hardware scanners work well, I know lots of active users who use them. We also did whole bunch of UX improvements for the upcoming v14…

https://github.com/frappe/erpnext/pull/30445
https://github.com/frappe/erpnext/pull/30832
https://github.com/frappe/erpnext/pull/30637
https://github.com/frappe/erpnext/pull/30638
https://github.com/frappe/erpnext/pull/30543
https://github.com/frappe/erpnext/pull/30516
https://github.com/frappe/erpnext/pull/30446

And some pending work:
https://github.com/frappe/erpnext/pull/30988

3 Likes

Camera scanner was also recently updated to cover lots of barcode types! (part of v13 and v14)

https://github.com/frappe/frappe/pull/13855

3 Likes

Hi

I have been using a Mindeo 2D scanner on V13. No problems so far. It cost a bit but I think it was worth the investment.

I started looking at phone-scanner-apps just the other day but have not had any luck with that.
From what I can see, the problem is that many of these apps don’t actually mimic a keyboard.
Instead they just print the scanned code to screen. I have an application for the use of
the browser to access ERPNext and to scan items. I am now considering a bluetooth
scanner that can link to the phone.

1 Like

Yeah… I have several Zebra Symbol scanners bluetooth linked to broadband cellular iPads to do remote POS sales. Their performance has improved over the past year since Apple started doing some updates to the iOS.

BKM

1 Like

It looks like this is what I’ve been looking at already since it went into v13.9. The PR doesn’t state what the default supported barcode types are.

From looking at the new library it seems the default is QRCode only, even though the library can scan many different types of barcode. More disappointingly, the feature does not appear to allow the ability to customise the supported barcode types.

It would have been really handy to have a setting defining the default barcode types, and then have the ability to override it in the field options per field.

Barcodes are far more prevalent in businesses than QR Codes.

It looks like the new JS QRCode library supports all different barcode types on all different mobile devices and browsers without any separate app using the device camera. Unfortunately, you can’t configure it without digging into code.

it does

1 Like

The scanner widget works for many barcode formats, not just qrcodes. On my testing, the performance is surprisingly decent. There’s a long way to go before javascript can replace a proper hardware scanner, but for occasional use this is pretty slick.

What version of ERPNext are you testing?

It’s the same code for all versions post merge. I’ve tried it out on both the v13.29 release and the current v14 beta. Both scanned regular barcodes correctly and identically.

What type of barcodes?

First I scanned a bunch of random stuff on my desk; I’m not sure why the format was for those things. I also tested on the screen images here:

The library defaults are documented toward the bottom of the github page:

Scanning only specific formats

By default, both camera stream and image files are scanned against all the supported code formats.

1 Like

For Android the best one I’ve seen is Niko Barcode & QR code Keyboard. The paid app has good features and was very modestly priced from memory. Unfortunately it’s only available for Android.

For iOS I’m yet to find one that has good usability. Scandit Keyboard Wedge (for iOS) has come closest so far but their licensing scheme doesn’t look cost-effective for small-scale deployments. And the Android demo version that I’ve tried lacks the usability of the iOS version.

Of course all of these scanner keyboard apps have the caveat that if they are left as the active keyboard - which is likely the most convenient way to use them - that they then present the potential for leaking all typed content.

1 Like

When I tried it on my iMac I got it to recognise a 40x10mm printed CODE_128 barcode but only after I put a magnifying glass in front of the camera lens.

On an iPad and a Galaxy Tab A7 Lite it worked similarly to a number of the free “Keyboard Wedge” scanner apps - it scans the first barcode that it successfully identifies. It can be a bit of a problem when you’re in an environment where multiple barcodes can end up in view of the camera at the same time, so an option to only scan when the user presses a button etc would be a good option.

I also had to learn that the library has browser/OS limitations on getting access to the camera. My first attempts were with a system using a http: URL but then I read that the camera is accessible on http: only for localhost, otherwise needs to be https:, and also that there are browser (minimum) version requirements for some platforms. Took me a while to work out because I started with an iPad and the “Scanning barcode” message dialog disappeared so quickly it was impossible to see, so an error dialog if camera access is blocked would be a good option there.

Niko Barcode also doen’t reads barcodes in erpnext v13. Default font is Libre Barcode 39, how we can change the font?