CheckMSI
Specifies which checksum algorithm the MSI (Modified Plessey) barcode uses when computing and optionally appending a check digit (or digits). Selecting an appropriate value affects data validation reliability, barcode length, and scanner compatibility. Set via the Algorithm property (on the MSI symbology) to strengthen error detection for your use case. Example: use Modulo1010 for higher integrity on long numeric inventory identifiers like "0038947215".
Choose the simplest option that satisfies your data integrity requirements: shorter codes scan faster, while additional check digits improve error detection. If you switch algorithms you must regenerate / reprint existing barcodes—scanners expect a consistent scheme.
Definition
Fields
Computes the remainder of the division of one number by 10.
Modulo10 = 0
This method is useful for operations where the modulo 10 result is needed, such as determining the last digit of a number.
Apply two consecutive Modulo 10 computations (first over the data, then over data+first check). Increases reliability for longer numeric strings (e.g., warehouse pallet IDs: "0004829107"). Adds two digits. Example: "12345" → "12345AB" (A = first Mod 10, B = second Mod 10).
Modulo1010 = 2
Use a single Modulo 11 checksum (slightly stronger error detection for transposition errors than Modulo10 but may have reduced support on some low-end scanners). Produces one extra digit. Example: "12345" → "12345X" (where X is the Modulo 11 result mapped 0–10).
Modulo11 = 1
Apply a Modulo 11 checksum followed by a Modulo 10 checksum (over the data plus the Mod 11 digit). Offers robust detection for transcription and transposition errors while staying relatively compact. Adds two digits. Prefer for high-value processes (e.g., asset tracking) when scanner supports both steps.
Modulo1110 = 3