Scene from the workplace
A warehouse worker has to scan a new shipment — 80 items. The phone is recording, but Odoo doesn’t recognize half of the barcodes on the first try. Each item takes 5–6 seconds instead of 1–2. An inventory that should have taken 20 minutes takes an hour.
The reason is most often trivial: the phone used the wrong camera in the scan.
Why is this happening?
Modern Android devices (Samsung S, Pixel, newer Xiaomi models) have 2-4 rear cameras — main, ultrawide, telephoto, sometimes macro. When a web application requests a camera without additional specification, the browser chooses "default back camera". On a large number of devices, the default is the ultrawide lens, which due to its construction distorts the edges of the frame. Barcodes that are not exactly in the middle are not recognized.
Standard Odoo does not have a UI for camera selection — it uses the default one and does not give the user an alternative.
Module Viavista Barcode Camera
The Viavista team has developed a module for Odoo 19 that adds a camera selection directly to the barcode scanner interface. A small button in the corner of the video preview opens a menu with a list of available cameras. The user selects the main (or any other) and the scan works without distortion.
The selection is remembered per user, on the server. This solves two real situations:
Multiple users, one device (e.g. two workers sharing the same tablet in a warehouse) — each has their own saved camera, switching accounts does not change the other's selection.
The same user, multiple devices (phone in the field, tablet in the warehouse, laptop in the office) — the module remembers the choice separately for each device, without manual adjustment at login.
Flash control
The module has also been upgraded with a button to turn on the phone's LED flash. Important to know: while Odoo scanner is active, the system toggle for the flash (slider in the status bar, button in Quick Settings) is disabled — the camera is in exclusive use of the application. Without the button in the module, it is not possible to turn on the LED during scanning.
Useful for scanning in poorly lit areas: cold storage, lower warehouse racks, outdoor warehouses at dusk.
QR codes
The module does not distinguish barcodes (EAN, Code 128, UPC) from QR codes — it reads everything through the same scanner. Useful for items with QR tags (links to specification, seasonal coupons, internal warehouse locations), without additional module or configuration.
Compatibility
The module works reliably in Chrome (and other Chromium browsers) on Android devices — the most common configuration in field use. It works in the browser and as an installed PWA.
Contact
The module is part of the Viavista premium package for Odoo 19. For implementation, demo or questions:
E-mail: info@viavista.ba
Phone: +387 63 727 726.
