How to Use Advanced Parsing Rules for Weight-Embedded Barcodes in Clover Apps to Handle Unusual Labels

How to Use Advanced Parsing Rules for Weight-Embedded Barcodes in Clover Apps to Handle Unusual Labels

How to Use Advanced Parsing Rules for Weight-Embedded Barcodes in Clover Apps to Handle Unusual Labels

In the world of retail point-of-sale systems, like those used in grocery stores with Clover devices, scanning variable-weight items can sometimes hit a snag—especially when dealing with labels that embed weights in an unusual way. A common issue arises when standard barcode parsing options don't align with the label's structure, leading to misreads where an item registers as a fraction of its actual weight. This article draws from a real customer support exchange of Grocer and of CSI Works, illustrating how to resolve such problems using advanced (custom) barcode parsing rules in the Weight Embedded Barcode Parser feature.

Understanding the Problem

Grocer reported that her Clover app failed to scan items weighing over 10 pounds correctly. For example, a fresh turkey label showing 10.325 pounds at $5.99 per pound (total $61.85) with the barcode 0200996103253 would not parse properly. Instead, the system required manual weight entry, disrupting efficient checkout.

Breaking down the barcode example (digits: 0 2 0 0 9 9 6 1 0 3 2 5 3, often displayed without the leading 0 as 200996103253):
  • Product code: Typically the first part (e.g., 200996), used to look up the item and its price per pound.
  • Embedded weight: The next segment (e.g., 10325), interpreted as 10.325 pounds.
  • Check digit: The final digit (e.g., 3) for validation.

For lighter items, like 0.325 pounds (barcode likely 020099600325X, or 20099600325X), scanning worked fine. The issue stemmed from the weight segment starting with a "1" (indicating 10+ pounds), which standard parsing rules mishandled.

CSI Works identified that standard options, such as Option 4 (formatted as I I I I I C W W w w w C), assume a structure where a digit is ignored after the product code before the weight. In this label, there's no such digit to ignore—the weight follows immediately. As a result, Option 4 skips the crucial tens-place digit (position 7, the "1" in 10325), reading 11 pounds as 1 pound or 10.325 pounds as 0.325 pounds.


None of the six standard formats matched this unusual label, where the product code transitions directly into the weight without an intermediary digit.

The Solution: Advanced (Custom) Barcode Parsing Rules

To address this, CSI Works recommended subscribing to the advanced barcode settings feature in the Weight Embedded Barcode Parser app. This unlocks custom parsing, allowing users to define the role of each digit in the barcode manually. No need to adjust the scale's settings—custom rules adapt the app to the label.

Based on CSI Works demonstration in this video (available at https://youtu.be/ieu-FgwUk_0),


Here's a step-by-step guide to configuring the rule for this type of label.
The goal is to correctly extract the 6-digit product code (e.g., 200996), the 5-digit weight (e.g., 10325 interpreted as 10.325 with 3 decimal places), and ignore or validate the check digit.

Step 1: Access the Barcode Settings

  • Open the Clover app on your device.
  • Navigate to the "Barcode Settings" or "Weight Embedded Barcode Parser" section (as shown in the setup screenshots).
  • If not already subscribed, enable the advanced/custom feature (this may require a subscription from CSI Works).

Step 2: Analyze Your Barcode Structure

  • Scan or manually enter a sample barcode, such as 200996103253 for a 10.325-pound item.
  • Note the positions:
    • Positions 1-6: Product code (2 0 0 9 9 6 → 200996).
    • Positions 7-11: Weight digits (1 0 3 2 5 → 10325).
    • Position 12: Check digit (3).
  • The weight is calculated by concatenating the weight digits and dividing by 10 to the power of the number of decimal places (typically 3 for XXX.XX or XX.XXX formats, yielding 10.325).

Standard options fail here because they insert an ignore or misplace the weight start, skipping the "1" in position 7.

Step 3: Configure the Custom Parsing Rule

  • In the advanced settings, you'll see a grid for positions 1-12 (or 13, depending on the barcode length).

  • Assign roles to each position using the notation:

    • I: Item/product code digit (concatenated to form the full code).
    • W: Weight digit (integer part).
    • w: Weight digit (decimal part).
    • C: Check digit or ignore.
  • For this label, set the rule as follows (matching the example in the support images and video):

    • Positions 1-6: I I I I I I (captures the 6-digit product code, e.g., 200996).
    • Positions 7-8: W W (integer weight digits, e.g., 1 0 for the "10" in 10.325).
    • Positions 9-11: w w w (decimal weight digits, e.g., 3 2 5 for ".325").
    • Position 12: C (check digit, validated or ignored as needed).

    This configuration concatenates positions 7-11 as 10325, then places the decimal after the 2 W positions (integer part), resulting in 10.325 pounds. For items under 10 pounds (e.g., 00325), it correctly parses as 00.325 → 0.325.

  • The video shows Steve initially attempting Option 4, which fails (misreading the weight), then switching to this custom setup. After applying, scanning the label correctly pulls the product code 200996, extracts the weight 10.325, looks up the $5.99/lb price, and computes the total $61.85.

Step 4: Test and Apply

  • Scan the label again to verify.
  • For the small-weight example (0.325 lb), confirm it reads correctly without issues.
  • Save the rule and sync if necessary.
  • If the barcode includes a leading 0 (as in EAN-13 format), the parser typically handles it as part of the ignore or prefix.