Skip to content

Features

The following features are supported by Biip.

GS1 messages

GS1 messages can encode information about products, shipments, and other business entities. They are used in several different barcode symbologies, including GS1-128, GS1 DataBar, GS1 DataMatrix, and GS1 QR Code.

  • Recognize all specified Application Identifiers.
  • Recognize allocating GS1 Member Organization from the GS1 Company Prefix.
  • Recognize the GS1 Company Prefix.
  • Parse fixed-length Element Strings.
  • Parse variable-length Element Strings, including support for configuring the separation character.
  • Parse AI 00 as SSCC.
  • Parse AI 01 and 02 as GTIN.
  • Parse AI 410-417 as GLN.
  • Parse dates/times into datetime.date/datetime.datetime values. The year is interpreted to be within -49/+50 years from today. Dates with day "00" are interpreted as the last day of the month.
  • Parse variable measurement fields into Decimal values.
  • Parse discount percentage into Decimal values.
  • Parse amounts into Decimal values. Additionally, if py-moneyed is installed, parse amounts with currency into Money values.
  • Encode as Human Readable Interpretation (HRI), e.g. with parenthesis around the AI numbers.
  • Parse Human Readable Interpretation (HRI) strings.
  • Easy lookup of parsed Element Strings by Application Identifier (AI) prefix and part of AI's data title.
  • Encode as GS1 Digital Link URIs.

GS1 Digital Link URIs are used to encode the same information as GS1 messages, but as the path and query parameters of an URL. The URL can point to any domain. This means that barcodes containing GS1 Digital Link URIs can be used both in the supply chain and for consumers to look up product information. GS1 Digital Link URIs are used in the GS1 DataMatrix and GS1 QR Code barcode symbologies.

  • Everything supported for GS1 messages are also supported for GS1 Digital Link URIs.
  • Parse GS1 Digital Link URIs, both canonical and non-canonical URIs.
  • Encode GS1 Digital Link URIs, both canonical and with custom domains, path prefixes, and with short names instead of AIs for the fields encoded in the path.
  • Encode as GS1 messages.
  • Parse compressed GS1 Digital Link URIs is not supported.
  • Encode as compressed GS1 Dgitial Link URIs is not supported.

GLN (Global Location Number)

GLNs are used to identify locations, such as warehouses and stores.

  • Parse.
  • Extract and validate check digit.
  • Extract GS1 Prefix.
  • Extract GS1 Company Prefix.

GTIN (Global Trade Item Number)

GTINs are used to identify trade items, such as products or services.

  • Parse GTIN-8, e.g. from EAN-8 barcodes.
  • Parse GTIN-12, e.g. from UPC-A and UPC-E barcodes.
  • Parse GTIN-13, e.g. from EAN-13 barcodes.
  • Parse GTIN-14, e.g. from ITF-14 and GS1-128 barcodes.
  • Extract and validate check digit.
  • Extract GS1 Prefix from GTIN-12/13/14.
  • Extract GS1-8 Prefix from GTIN-8.
  • Extract GS1 Company Prefix from GTIN-12/13/14.
  • Extract item reference from GTIN-8/12/13/14.
  • Extract packaging level digit from GTIN-14.
  • Encode GTIN-8 as GTIN-12/13/14.
  • Encode GTIN-12 as GTIN-13/14.
  • Encode GTIN-13 as GTIN-14.

RCN (Restricted Circulation Numbers), a subset of GTINs

RCNs are a subset of GTINs that may include additional information about the trade item. The rules for parsing geographical RCNs vary from country to country. The rules for parsing company RCNs vary from company to company, and are thus not standardized.

  • Classification of RCN usage to either a geographical region or a company.
  • Extract item reference from RCNs.
  • Parsing of variable measurements (price/weight) into Decimal values.
  • Parsing of price values into Money values if py-moneyed is installed and the region's RCN parsing rules specifies a currency.
  • Denmark: Parsing of weight and price.
  • Estland: Parsing of weight.
  • Finland: Parsing of weight.
  • Germany: Parsing of weight, price, and count, including validation of measurement check digit.
  • Great Britain: Parsing of price, including validation of measurement check digit.
  • Latvia: Parsing of weight.
  • Lithuania: Parsing of weight.
  • Norway: Parsing of weight and price.
  • Sweden: Parsing of weight and price.
  • Encode RCN with the variable measure part zeroed out, to help looking up the correct trade item.

SSCC (Serial Shipping Container Code)

SSCCs are used to uniquely identify a shipping container.

  • Extract and validate check digit.
  • Extract GS1 Prefix.
  • Extract GS1 Company Prefix.
  • Extract extension digit.
  • Encode for human consumption, with the logical groups separated by whitespace.

UPC (Universal Product Code)

UPCs are used to uniquely identify a product. They are commonly used in American products with UPC barcodes.

  • Parse 12-digit UPC-A.
  • Parse 6-digit UPC-E, with implicit number system 0 and no check digit.
  • Parse 7-digit UPC-E, with explicit number system and no check digit.
  • Parse 8-digit UPC-E, with explicit number system and a check digit.
  • Expand UPC-E to UPC-A.
  • Suppress UPC-A to UPC-E, for the values where it is supported.

Symbology Identifiers, e.g. ]EO

Symbology Identifiers are used by barcode scanners to specify the symbology of a the scanned barcode, so that barcode data parsers like Biip can automatically select the correct parser.

  • Recognize all specified Symbology Identifier code characters.
  • Strip Symbology Identifiers before parsing the remainder.
  • Use Symbology Identifiers when automatically selecting what parser to use.