October 14, 2018 10 min read

Inventory Audits: Stop Collecting Bad Barcode Data

The Smarter Barcode Scanner


2D Barcode Generator

Asset Tracking

Delivery Tracking

Inventory Audit

Process Tracking


Track & Trace

Warehouse Operations

Wholesale Ordering


What is “REGEX” and how can that help solve my barcode scanning problems?

Regular Expressions (“REGEX”)

According to Wikipedia, regex (a regular expression) is “a sequence of characters that define a search pattern. String searching algorithms use this pattern for “find” or “find and replace” operations on strings, or for input validation.”

Let’s say you’re entering an email address online to register for a service. If the text you input (the “string”) doesn’t have an “@” symbol in it, the service will not allow you to register. That’s regex at work.

So, how does this help you with barcode scanning? Simple. On the CodeREADr website, you can configure the CodeREADr mobile apps with regex. As a result, your app-users can capture just the right barcode data.

Select Barcode Type(s)

While this configuration option doesn’t involve regex, it is a building block for all of the regex technologies listed below. By limiting scans to one or more barcode types, your app-users will not be able to scan barcodes you don’t want them to capture. For example, you may want them to capture just an item’s UPC/EAN code and not the shelf label’s MSI code.

Alter Scan Value

Sometimes the values embedded in the target barcode are not the same values you store in your database. Then, you can match those values with regex. For example, with UPC codes, the check digit is in the barcode. However, what if it’s not in your inventory database? Then, use regex to capture the barcode value but exclude the check digit. Thus, you can validate it against your inventory database.

Smart Scan

We call this ‘contextual’ scanning because the CodeREADr app will know which barcode to capture based on the filters and filter sets you pre-configure. We often use the IMEI on an iPhone box as an example because there are four code 128 barcodes and one UPC code in very close proximity. One of those code 128 barcodes is the IMEI barcode. So, how can your app-users capture just that IMEI barcode quickly and accurately?

With Smart Scan, you can configure a filter that will only capture code 128 barcodes. However, that won’t be enough because there are three other code 128 barcodes very close to the IMEI barcode. Since the IMEI (the device ID) begins with either “035” or “35”, a regex can be written to look for that pattern. Then, it will only capture the barcode if it matches that pattern. Also, you could add to the filter that there had to be four code 128 barcodes and a UPC/EAN barcode in the camera view before applying the regex.

What if you also wanted to capture the UPC/EAN barcode? Configure a Smart Scan filter to capture the UPC/EAN barcode as the primary scan. Then, configure an app-user prompt (a “Question”) with a Smart Scan filter to capture the IMEI code, both of which are included in the scan record.

Validate Scans

If you have a database of your UPC/EAN values or SKUs, validate every scanned value against that database to capture the right barcodes. Also, the app-user can see a description of the item (and optionally an image) for verification purposes before entering any other data associated with that scan (quantity, photo, etc). Moreover, you can use regex when validating scans as well. For example, you can alter the scanned value to match what’s in your database.

Pattern Validation

If you only have a partial database or no database at all, you can use pattern validation instead. With regex, you can force the scan to be valid only if it matches a defined regex pattern. If Invalid (not in the database or non-matching), you can prompt the app-user to enter associated information to build a database or otherwise disposition the item in some other way.

Also, you can use Pattern Validation to disposition items out of warranty, discontinued, or slated for a recall.

Duplicate Checking

To keep your app-users from scanning the same barcode more than once, enable duplicate checking. You can check duplicates for a specific period.

How is this valuable? It helps when your app users forget where they left off in the audit. Also, you may have many people scanning for an audit. With duplicate checking, all app-users will know when an item has already been audited.

However, what if you do have the same items in several locations? Then, create audit tasks (“Services”) for each location. In that way, duplicate checking is limited to the Service.

Alter Response

You can use regex to alert your app-users to certain conditions. For example, let’s say part of the auditing task is to separate discontinued items from inventory. When using regex to alter the scan or when using validation patterns, you can have a specific textual response. To emphasize certain conditions, you can use regex to find that text (the pattern). Then, replace that simple text with an HTML-formatted response so the app-user cannot miss that message and instructions. This will save time and money in your auditing tasks.

Another Auditing Consideration: Sessions

Asset tracking often requires the scanning many barcodes, associated with locations (client, building, floor, room, shelf, etc) or similar data points. To do that, we recommend our Sessions feature for optimum app user productivity.

Your app user will select/scan/enter and save the session data appropriate for their next series of scans. It automatically includes the data in the subsequent scan records without the app user needing to do anything but scan the asset.

combined validate view