Barcode Scanner Configuration

Customize Barcode Scanner

Complete instructions to be published on or before August 15, 2018.

Barcode Scanning Modes

1. Batch

Within a single camera view, the app will read up to 100 barcodes in several seconds. There is no need to scan, tap Next;  then scan again, tap Next; etc. Instead, with Batch Mode, you tap to open the camera and (optionally) tap to submit a record of up to 100 barcodes.

  • You can limit how many barcodes to read in each attempt and then auto-submit when the limit is met; or,
  • Decode every barcode in view and then de-select those you don’t want to record.

Multi scan asset tracking

2. Framing Mode

The frame limits what’s decoded to only the barcode within the frame – and only when the whole barcode is in the frame.

  • Administrators can pre-determine the optimum frame size without needing to give instructions to their app-users. For example, a specific frame size might best suit the Kiosk Mode when using the front camera, giving a clear target area for scanning and thus making scanning faster.
  • You can alternatively allow your app-users to freely adjust the size depending on what’s best for each scanning situation.
  • Smart Scan rules can also be applied in the Framing Mode. In this way, the app-user can capture one or more targeted barcodes in a single camera view faster and with far greater accuracy even when compared to the Framing and Targeting Modes alone.

Windowing frame

3. Targeting Mode

With Targeting Mode,  a barcode is only decoded when an “aimer” touches the target barcode. This mode is particularly helpful when multiple, tightly spaces barcodes are in the camera view at once. Administrators can pre-define the aimers size and shape. It can be a series of elements forming a small box shape or a series of elements arranged in a line.

Targeting mode

4. Selecting Mode

With the Selecting Mode all the barcodes in the camera view are decoded and presented to the app-use in list form. They can then select one or more barcode to capture. This is particularly useful in situations where there are many barcodes in the camera view but Smart Scan can’t be applied in advance.

Selecting desired barcode

5. Default Mode

With the Default Mode only one barcode will be captured in the camera view. This is the fastest scanning mode if your app-users will not have multiple barcodes in the camera view. Smart Scan rules can apply in this mode, making it very effective if periodically the app-user needs to target one or more barcodes in the camera view.

Mode Configurations

1. Enter configuration directly

This is for developers only. Contact

2. Scanner Mode (see above)

You can choose only one Mode for each profile but you can create and assign multiple profiles.

codeREADr App

With the codeREADr app, you can use the Batch Mode for the primary scan (i.e. the scan that starts a scan record) and/or for one or more secondary scans. To do that you need to prompt the app-user to scan again after the primary scan. The primary scan can be set to one Mode and each secondary scan can be configured for its own Mode. The same holds true for Smart Scan configurations. In this way, you better control how your authorized app-users scan and capture data, leading to faster and more accurate results.

codeREADr KEY App

With the codeREADr KEY app, you can enable your app-users to toggle to the codeREADr KEY app and change the Mode as needed. It’s not automatic like the codeREADr app since it requires the app-user to make a setting change but it nonetheless can be quite useful

3. Barcode Format

Choose one or more barcode type (aka “barcode symbology”) to target when using this profile.

4. Specify the number of barcodes

This is for the Batch Mode. Enter a number here if you want the app to stop reading when a specific number of barcodes are read. By default, the record will auto-submit when the specified number is read.

Allow submit of less barcodes than specified” means the app will submit when the number of specified barcodes is met but also allow the app-user to submit when fewer barcodes are read.

Must select expected number of barcodes to confirm batch” means more or fewer barcodes could be read than the specified number but the app-user can only submit when the specified number is met. This allows editing of which scans are to be submitted.

Require app user tap to confirm batch” will stop auto-submit. The app-user must manually submit.

5. Join together barcodes with a separator

You MUST check this option. You can use the common separators such as a comma,  bat, semi-colon or carriage return. For the carriage return, place the cursor in the field and click Enter on your computer.

codeREADr App

All scans will be submitted into the ‘barcode’ field of a scan record if Batch Mode is used for the primary scan. All scans will be submitted into the ‘answer’ field if used for an app-user prompt.


All scans will be submitted into the one target field where the cursor was blinking.

6. Front Camera

This will make the device’s front camera the scanner.

7. Custom Frame Size

This is only for the Framing and Targeting Modes (see above). In this way, the account administrator can define the frame size in advance and not have the app-user change it. Note: For the targeting mode, you can have the frame be a cluster of pixels or a line of pixels.

Smart Scan

Smart Scan is a very powerful feature. Essentially it allows you to configure filter sets which enable your app-users to capture just the right barcode when in the right context.

It’s important to understand what we mean by filters, filter sets, context, and matches.

A barcode filter is created with a preset configuration such that when the app’s camera view is open to read one or more barcodes, the right barcodes are captured in that view only when a match is made.  The barcodes within the camera view must have some definable context, such as the barcode types in the view and optionally the data embedded in those barcodes (suffix, prefix, etc.).

In some applications, you’ll need more than one barcode filter if required by the context. Those filter sets work together to ensure the correct match in that view. Also, for some applications, you may need a set of matches because your app-user may be presented with different camera views, each with their own context and filter sets.

Here’s an example of how Smart Scan can be used to capture just the IMEI barcode on Apple’s iPhone box. There are four Code 128 barcodes and one UPC barcode all within the same camera view. The IMEI is one of the four Code 128 barcodes so we can’t filter simply by barcode type.

For this example, let’s assume the IMEI always starts with “035” or “35” (which it does under certain criteria). One of the filters can be the barcode type code 128 and the other must then must be a pattern match using a regular expression. With these filters the app looks for a Code 128 barcode and only captures it if when it has the suffix is  “035 or “35”.

You can have your app-user instantly capture just the IMEI barcode on an iPhone box in a camera view and still be able to scan Code 128 barcodes when not scanning iPhone boxes.  In that case, you need additional filters to further define the iPhone box’s context and also consider the context of the other camera views to create filter sets and matches accordingly.

So for example with the iPhone box, you could add a barcode filter such that the match must include a UPC barcode, assuming the other contexts won’t meet the matching requiremets of that filter.

Note: Smart scan currently works with the Default and Framing Modes. We could add it to the Batch mode if enough clients request that. However, that may not be necessary because Smart Scan with the Default and Framing Modes you can capture more than one barcode in the camera view.

1. Join together barcodes with a separator

The standard scanning configurations (i.e. non-smart-scan) only captures one barcode in the camera view. However, with Smart Scan the app will try to read every barcode in the camera view but will only capture your targeted barcodes. If there could be more than one barcode captured in a camera view you should check this box and define a separator such as a comma,  bat, semi-colon or carriage return.

codeREADr App

All scans will be submitted into the ‘barcode’ field of a scan record if Batch Mode is used for the primary scan. All scans will be submitted into the ‘answer’ field if used for an app-user prompt.


All scans will be submitted into the one target field where the cursor was blinking.

2. Match barcodes in order

This is not live yet. When released the order in which the barcodes are read must match the order configured here.

3. Match barcode format

Here you will specify the barcode type(s) targeted with this profile.

4. Match barcode value pattern

Here you will define the characteristics of the barcode value(s) that are allowed to be read and captured. Values that don’t match are ignored.

5. Replace pattern match

Here you have the option to change the value read.

6. Not required

Here you can allow an over-ride of the Smart Scan rule if this particular profile is not met.

7. Return barcode with results when found

Here you can choose to have the barcode matching this profile recorded or not. You may want this profile matched but only record the barcode matched with another profile.

8. Add another barcode

Here you can add another barcode filter to create a filter set. Notice in the screenshot below the filter is called “Barcode 1”. You can create Barcode 2, Barcode 3, etc.

9. Add another match

Here you can add other filter sets for matching. Notice in the screenshot below the match is called “Smart Scan 1”. You can create Smart Scan 2, Smart Scan 3, etc.

codeREADr App

With the codeREADr app, you have an extra degree of flexibility in that you can create a filter set for the primary scan and then different filter sets for secondary scans (i.e. app-user prompts after the primary scan).


On the dev agenda is adding configurations for matching fielsd to filters. We will announce that feature when available.

10. Make a copy of this profile

This is a helpful tool when using the  JSON developer option.