Barcode masks are created and managed by users with the Retail Manager role in iVendNext Desk. No developer access or technical coding is required. The mask definition interface is a standard form with clearly labelled fields, and the built-in Test Mask tool lets the manager verify that the configuration works correctly before it goes live at any till.
This no-code approach is intentional. Barcode formats can change when a new supplier is onboarded, when a product category is rebranded, or when internal labelling specifications are updated. If creating a new mask required developer involvement, those changes would take days or weeks. With the self-service interface in iVendNext Desk, a retail manager can configure, test, and activate a new mask in a single session.
The process begins by navigating to the Barcode Mask list in iVendNext Desk and creating a new record. The mask form is divided into a header section and a segment detail section.
Mask ID is the unique identifier for this mask. It is user-defined and should be descriptive enough that any manager can recognise what it is for at a glance. For example, PRODUCE01 for a fresh produce mask, or PHARMA-BATCH for a pharmaceutical batch-tracking mask. The Mask ID becomes the document name and must be unique across all masks in the system.
Description is an optional free-text field for a more detailed explanation of what the mask is designed to handle. This is useful when multiple masks cover similar product categories or when masks are reviewed during an audit.
Mask Type determines how the barcode is parsed. Select Fixed Length if every segment in the barcode occupies the same number of characters every time. Select Delimiter if segments are separated by a consistent character and may vary in length. This choice determines which additional fields are required: Fixed Length masks require a total Barcode Length, while Delimiter masks require the Delimiter character.
Start Sentinel is the two-character prefix that identifies which barcodes should be processed by this mask. It must be exactly two characters and must be unique across all active masks in the system. If another active mask already uses the same sentinel, the save will be blocked with a validation error.
Disabled is a flag that allows the mask to be deactivated without deleting it. Disabled masks are completely ignored during barcode scanning. This is useful for masks that are seasonal, temporarily inactive, or being revised before reactivation.
For a Fixed Length mask, the Barcode Length field specifies the total number of characters in the barcode body — not counting the two-character start sentinel. This total must exactly equal the sum of all segment lengths defined in the detail table.
The detail table — the Mask Segments child table on the form — is where each segment is defined. Segments are added as individual rows, and the system automatically assigns a Mask Order to each row based on the sequence in which they are added. The Mask Order determines the order in which segments are extracted from the barcode — starting immediately after the two-character sentinel and working left to right.
Each segment row requires two things for a Fixed Length mask: the Value Type (what kind of data this segment contains) and the Segment Length (how many characters it occupies).

Price and Quantity segments have an additional field: the Factor. The Factor is a scale multiplier that converts the raw integer extracted from the barcode into the actual decimal value. Because barcodes store only integers — no decimal points — the factor is the agreed convention for interpreting the number. A price encoded as 00250 with a factor of 100 becomes $2.50. A quantity encoded as 05000 with a factor of 1000 becomes 5.000 kg. The Factor must be agreed between the retailer and the barcode source (supplier, labelling system, or internal team) to ensure the parsed values are correct.
Skip Characters segments are used for any portion of the barcode that carries no useful data — check digits, filler characters, or padding that exists for technical reasons but is irrelevant to the transaction. These segments are parsed positionally and then discarded.
When the form is saved, the system validates that the sum of all segment lengths equals the declared Barcode Length. If they do not match, the save is blocked with a clear error showing the discrepancy.
For a Delimiter mask, there is no Barcode Length field and no Segment Length required for individual segments. Instead, the Delimiter field specifies the single character that separates each segment in the barcode string.

The segment detail table works the same way as for Fixed Length masks in terms of Value Types and Mask Order, but without the length fields. The parser splits the barcode by the delimiter character and maps each resulting token to the segment row at the corresponding position in the Mask Order sequence.
For example, if a barcode is structured as [Sentinel][ItemBarcode];[Price];[Quantity] with a semicolon delimiter, the mask would have three segment rows: Mask Order 1 = Item Barcode, Mask Order 2 = Price (Factor = 100), Mask Order 3 = Quantity (Factor = 1000). When the barcode VA1234567890;00250;05000 is scanned, the sentinel VA is matched to the mask, the remaining string is split by semicolons, and the three tokens are mapped to their respective segment definitions.
Before activating a new mask, the retail manager should verify the configuration using the Test Mask tool. This tool is available directly on the Barcode Mask form and allows the manager to enter a sample barcode string and see exactly how it would be parsed — without needing to be at a physical POS terminal or to scan a real barcode.
When the manager enters a test barcode and runs the tool, the result shows a segment-by-segment breakdown of the parsing: the raw extracted value for each segment, the Factor applied (for Price and Quantity segments), and the final interpreted value. If the parsing is correct, the manager can save the mask with confidence. If the values are wrong — perhaps because the Factor needs adjustment or the segment lengths are off by one — the manager can correct the configuration and retest without any impact on live scanning.
Once masks are created, they appear in the Barcode Mask list view in iVendNext Desk with columns for Mask ID, Description, Mask Type, Start Sentinel, Barcode Length, and Disabled status. The list defaults to showing only active masks.


Barcode formats are not static. Supplier barcode specifications change, new product lines are introduced with different formats, and internal labelling systems evolve. The Barcode Mask configuration in iVendNext Desk is designed to be maintained as an ongoing operational task rather than a one-time technical setup.
Retail managers should treat the Barcode Mask list as a live configuration asset — reviewing it when scanning issues are reported, updating it when new supplier formats are introduced, and disabling obsolete masks when they are no longer needed. The Test Mask tool makes this maintenance low-risk: any change can be validated before the updated mask affects live scanning at the till.