Bitta Retail POS guide

Barcode setup

Configuring barcode resolution: standard BC Item References as the scan source, STANDARD, WEIGHTED, and PRICED Barcode Setup formats, check digits, the default setups generator, duplicate and expired reference rules, and legacy fallbacks.

status: verified applies-to: 1.0.0.121rev: 1

This page covers how Bitta Retail POS resolves a scanned barcode and how administrators configure the scan sources: standard Business Central Item References as the authority, POS Barcode Setups for weighted and price-embedded formats, and the legacy fallbacks. The cashier-side experience is described in Barcode scanning.

Item References are the scan source

Standard Business Central Item Reference records of type Bar Code are the authoritative scan source. Maintain them on the BC Item Card as you would for any other channel - no POS-specific duplication is needed.

  • Item-level and per-variant references carry Variant Code and Unit of Measure into the POS line and the standard BC Sales Line, so a variant GTIN lands with exactly that variant and selling unit.
  • Alternate-UOM prices are converted using the item's Qty. per Unit of Measure.
  • Two current active references with the same barcode are rejected with a duplicate-reference message - the app never sells an arbitrary pick. Duplicate active POS mappings are rejected the same way.
  • Expired references (outside their valid dates) are ignored.
  • Weighted and price-embedded barcode PLUs and Price Check use the same resolver.

Barcode Setup formats

A POS Barcode Setup row describes one structured barcode format by length, prefix, and field positions, so the parser can extract an item code, an embedded weight or quantity (produce and deli scales), or an embedded price, and optionally validate an EAN-13-style check digit. Open Tell Me (Alt+Q) and search POS Barcode Setup List.

Each row defines: Code, Description, Barcode Type (Code 128, EAN-13, EAN-8, UPC-A, UPC-E, Custom - documentational; parsing is driven by the structure fields), Item Type (Regular, Weighted, or Price Embedded), Barcode Length (8-20), Prefix, the Item Code / Quantity / Price start-length-decimals positions, Check Digit Position (0 = none), Active, a Sample Barcode, and Notes.

The default setups

The Create Default Barcode Setups action (also run by company initialization) generates three formats; existing rows are never overwritten:

Code Structure (length 13) Meaning
STANDARD ItemCode(12) + CheckDigit(1) Standard EAN-13 / Code 128 item barcode; quantity always 1.
WEIGHTED Prefix "2" + ItemCode(5) + Weight(5, 3 decimals) + CheckDigit(1) Scale barcodes: the embedded weight becomes the line quantity (for example ...01234 = 1.234 kg).
PRICED Prefix "3" + ItemCode(6) + Price(4, 2 decimals) + CheckDigit(1) Price-embedded barcodes: the embedded price becomes the line unit price.

Check digits and samples

Whenever Check Digit Position is greater than 0, the digit is validated with the EAN-13 mod-10 weighting; a wrong check digit rejects the parse and resolution falls through to the raw fallbacks. Each setup can generate a sample barcode from an item number, quantity, and price, and the list's Test All Barcode Setups action exercises every active row.

TIP

Parsing tries active setups in code order and takes the first that matches. Keep formats disambiguated by prefix and length so a weighted code can never be mistaken for a priced one.

How a scan resolves

The same chain runs at the register, in the back office, and in Price Check:

  1. Raw BC Item Reference - an exact, currently valid Item Reference of type Bar Code resolves first, to its one active mapped POS Item, carrying Variant Code and Unit of Measure.
  2. Parsed-PLU Item Reference - active Barcode Setups parse weighted and priced formats; the extracted item code is tried as an Item Reference while the embedded quantity or price stays authoritative.
  3. Legacy POS Item Barcode - the POS Item's own Barcode field remains an exact compatibility fallback for existing customers.
  4. POS Item No. - the parsed or raw value is tried as a POS item number last; otherwise the cashier sees an inline "No POS item matches barcode" message.

On the sale, an existing line for the same item and variant is merged (quantity added); otherwise a new line is created, with the embedded price applied when present.

NOTE

A failed parse is logged to telemetry without the barcode text, because scanned data can encode customer-specific information.

Testing your configuration

  1. Run Create Default Barcode Setups. Expected: STANDARD, WEIGHTED, and PRICED rows appear; existing rows are untouched.
  2. Create an Item Reference with a variant and an alternate UOM, then scan it. Expected: both values reach the POS line and the BC Sales Line, with the price converted by Qty. per Unit of Measure.
  3. Create two current Item References with the same barcode. Expected: the scan is rejected with a duplicate-reference message.
  4. Scan a WEIGHTED code for an item with weight digits 01500. Expected: quantity 1.5 on the line.
  5. Scan a PRICED code embedding 0999. Expected: unit price 9.99 on the line.
  6. Scan a 13-digit code with a wrong check digit. Expected: the setup rejects it and resolution falls through to the raw fallbacks.
// next step

Ready to try Bitta Retail POS?