Supported Barcodes

Barcodes may be printed on Report Layouts and Part Forms within DEACOM, both of which are designed in web versions using the Report Designer. Report Layouts are used to create various business documents such as invoices, batch tickets, bills of materials, and packing lists, whereas Part Forms are used to generate various sales, purchasing, and production labels. Barcode systems allow users to more quickly and efficiently scan information to support improved sales and inventory tracking. When using barcodes in classic versions of DEACOM, the F_BARCODE function is required. In web versions, this function is not necessary. 

DEACOM currently supports the following barcode types:

  • Code 3 of 9 (also known as Code 39)
  • PDF 417
  • GS1-128/Code 128 (formerly named UCC/EAN-128)
  • ITF-14/GTIN-14 (Interleaved Two Of Five)
  • UPCA (GTIN-12)
  • 2D barcodes (also known as a GS1 Datamatrix code)
  • 1D barcodes (also known as Linear codes)

Configuration

Configuration information for using barcodes in DEACOM can be found on the Creating Barcodes page.

Process

Using Code 3 of 9 barcodes

Code 39 (also known as Code 3 of 9, USD-3, or Alpha39) is a common barcode type used for various labels such as name badges, inventory, and industrial applications. Barcode 3 of 9 is used in situations where one single piece of data needs to be barcoded, as opposed to GS1-128 barcodes, where multiples pieces of data may be included in the barcode.

The Code 39 specification defines 43 characters, consisting of uppercase letters (A through Z), numeric digits (0 through 9), and a number of special characters (-, ., $, /, +, %, and space). An additional character, usually denoted '*', is used for both start and stop delimiters. The stop delimiter should not be part of the data in the barcode. The barcode may be of any length, although more than 25 characters really begins to push the bounds. A minimum font size of 22 is recommended for Code 39 barcodes.

Code 3 of 9 Examples - DEACOM Report Layouts

Deacom Information/Data

Barcode Format

Purchase Order Number

"*"+ALLT(STR(m.tp_purnum,15))+"*"

Sales Order Number

"*"+ALLT(STR(m.to_ordnum,15))+"*"

Job Number

"*"+TRANS(m.jo_jobnum,"999999999") + "*"

Part Number

"*"+ALLT(pr_codenum)+"*"

User Lot

"*"+ALLT(fi_userlot)+"*"

System Lot

"*"+ALLT(fi_lotnum)+"*"

Code 3 of 9 Examples - DEACOM Part Forms

Deacom Information/Data

Barcode Format

Part Number

<<F_BARCODE(”3of9”, 20, pr_codenum)>>

User Lot

<<F_BARCODE(”3of9”, 20, “LOT” + ALLT(UPPER(fi_userlot)))>>

Using PDF 417 barcodes

PDF417 is a stacked linear barcode symbol format used in a variety of applications - primarily transport, identification cards, and inventory management. PDF stands for Portable Data File. The 417 signifies that each pattern in the code consists of 4 bars and spaces, and that each pattern is 17 units long. PDF417 is often used on FedEx packages. In DEACOM, PDF417 is mainly used with 2D barcodes, explained below. Additional information on how PDF417 is used with 2D barcodes is available via the "Constructing barcodes" section below.

Using GS1-128 and Code 128 barcodes

GS1 is an international not-for-profit association with Member Organisations in over 100 countries. GS1 develops and maintains standards for encoding data for worldwide supply chain management. A company code assigned to your organization ensures the uniqueness of your barcodes. To obtain a GS1 Company code, contact the GS1 participating organization in your country. In the US it is: www.gs1us.org.

The GS1-128 barcode is a universal barcode application of the Code 128 barcode format. GS1-128 provides a worldwide format and standard for exchanging common data between companies. The barcode format was previously known as the UCC/EAN-128 barcode, as well as UCC-128 or EAN-128. GS1-128 barcodes encode data about items and shipments of items. A GS1-128 barcode can contain a SSCC (Serial Shipment Container Code), or item information, including company code, container number, Item Number, Item Description, Lot Number, Serial Number, Weight, Quantity, and Price.

Users can combine several pieces of data into a single GS1-128 barcode. In addition to the GS1-128 barcode, users may also create Code 128 barcodes. GS1-128 barcodes always start with the Function Code 1 FNC1 character. An Application Identifier and data follows the opening FNC1. Most application identifiers have a fixed width length. An application identifier where the data has a variable width length requires an additional FNC1 to identify the end of the data, unless it is at the end of the barcode. Depending on the application identifiers used in the barcode, the overall length of the barcode can be 48 characters in length. The entire barcode requires white space before and after the printed barcode.

DEACOM requires the addition of the Warehouse Management System (WMS) to read GS1-128 barcodes and process the data they contain. During a scan, the DEACOM scanner reads the information contained in the barcode and parses the information into the appropriate DEACOM field(s). DEACOM uses this information throughout the system to identify and process items. DEACOM primarily uses GS1-128 barcodes in receiving, job issuing, job finishing, and sales reserving.

Encoding types of 128a 128b and 128c are supported by the F_BARCODE functon and follow the specifications listed via the Code 128 Wikipedia page. Specifically, code 128 encoding has been reworked to utilize all code subsets, subset switching, FNC2-4, and subset shifting. The characters utilized for the FNC characters are the common characters as defined in the Code 128 Wikipedia page specification. The original business case called for the need to have Code 128 Codeset C barcoding functionality in DEACOM. The Codeset C functionality allows users to encode two times as much data in half the space. Additional information on the Code 128 barcode widths is available via the "Barcode widths" section of the Code 128 Wikipedia page.

GS1-128 Examples

This first example is a SSCC (Serial Shipment Container Code) with the unique company code followed by the company’s unique container code:

FNC100106141410123456786

AI

Company

Container

00

10614141

0123456786

This second example encodes multiple pieces of data – serial number, lot number, and expiration date. Notice the second FNC1 code after the serial number to close the variable length serial number field:

FNC1010061414199999617100101101123ABCFNC1211234567890

AI

GTIN

AI

Expiration Date

AI

Lot Number

AI

Serial Number

01

00614141999996

17

100101

10

123ABCFNC1

21

1234567890

Here is how the barcode is created on the DEACOM Part Form in web versions of the system:

"(17)" + fi_expires + "(10)" + fi_userlot + "(21)" + fi_serial

The format above uses the DEACOM field names “fi_expires”, “fi_userlot”, and “fi_serial” indicating the expiration date, lot number, and serial number, respectively. The numbers 17, 10, and 21, indicated in parenthesis, specify the required Application Identifiers (AIs). A list of all available DEACOM field names is available in the main DEACOM application via System > Data Dictionary.

Below are a few additional examples of the construction on GS1-128 barcodes using a combination of GS1 AIs and various DEACOM field names to accompany them:

  • Part Number and User Lot: ("GS1128",12,"(10)"+ALLT(fi_userlot)+"(90)" + ALLT(pr_codenum))
  • Part Number and Serial Number: (“GS1128”,12,”(21)”+ALLT(fi_serial)+”(90)”+ALLT(pr_codenum))
  • Job Number and Part Number: (“GS1128”,12,”(400)”+ALLT(STR(m.jo_jobnum))+ ”(90)”+ALLT(pr_codenum))

These barcodes can be embedded on various DEACOM Part Forms and Report Layouts to expedite WMS scanner user access into specific transactions. The ability for GS1-128 barcodes to contain and populate multiple data element fields will help to ensure correct data entry and save operators time in filling out all applicable fields simultaneously in lieu of each field individually.

GS1-128 Examples - DEACOM Part Forms

Deacom Information/Data

Barcode Format - Entered in the "Expression" field

Part Number and User Lot

"(10)"+ALLT(fi_userlot)+"(90)" + ALLT(pr_codenum)

Part Number and Serial Number

”(21)”+ALLT(fi_serial)+”(90)”+ALLT(pr_codenum)

Job Number, Part Number, User Lot, Quantity*

”(400)”+ALLT(STR(m.jo_jobnum))+“(90)”+ALLT(pr_codenum)+”(10)”+ALLT(fi_userlot)+”(30)”+ALLT(TRANS(m.quant,go.quanmask))

Part Number, Serial Number, Catch Weight

"(21)101(90)testcatch3(3101)000060"

In the example above dealing with Part Number, Serial Number, and Catch Weight, the digit directly after the 310 AI specifies the location of the decimal point in the number. Specifying "(3101)000060" equates to a Catch Weight of 00006.0 pounds.

Encoding a GS1-128 barcode in Code 128

Key

Customer Item #

Quantity

Lot #

Customer PO #

Gross Weight (lbs)

Key

Customer Item #

Quantity

Lot #

Customer PO #

Gross Weight (lbs)

AI

90

30

10

400

3204 *

Data

ABC123

23

J20110825XRC

2011-00-10456

341200

For the Gross Weight AI, use the format (320d), where d = number of decimal places in weight. For example:

  • (3202)341200 = 3,412 pounds
  • (3204)341200 = 34.12 pounds

GS1-128 barcodes should not be longer than 44-48 characters. The information in the table above must be separated into two barcodes. Because Lot #, PO #, and Weight require either an AI01 or AI02 to accompany them in a GS1-128 barcode and this example does not provide an AI01 or AI02, this example is using the Deacom-defined AI90 to substitute for AI01 or AI02. Both barcodes require the AI90 to be present to be valid, DEACOM-defined GS1-128 barcodes.

'Code128Start'FNC190ABC123FNC13023FNC110J20110825XRC'Code128End'

'Code128Start'FNC190ABC123FNC14002011-00-10456FNC13204341200'Code128End'

Additional examples of GS1-128 barcodes are available via the Creating Barcodes page.

Using ITF-14 barcodes

The ITF-14 barcode is the GS1 implementation of an Interleaved 2 of 5 barcode and is used to encode a Global Trade Item Number. ITF-14 symbols are generally used on packaging levels of a product. The ITF-14 will always encode 14 digits. An example of an ITF-14 barcode image is shown below.

The thick black border around the barcode is called the Bearer Bar. The purpose of a Bearer Bar is to equalize the pressure exerted by the printing plate over the entire surface of the symbol, and to enhance reading reliability by helping to reduce the probability of misreads or short scans that may occur when a skewed scanning beam enters or exits the barcode symbol through its top or bottom edge. In the image above, only the actual barcode will be displayed when using the F_BARCODE() function and not the 14 digit number at the bottom of the image. If users wish to have the number printed, they will have to create a separate expression.

ITF-14 Example

The following is an example of a DEACOM ITF-14 barcode.

<<F_BARCODE("ITF14RECT3",24,99999999999999)>>

The format above contains the following elements:

  • A set of carrots “<< >>” which are required when adding expressions or barcodes into MS Word.
  • The F_BARCODE () function, described below, is included.
  • The barcode type of ITF14RECT3. Note the portion that indicates ...RECT3. The "3" indicates the height of the barcode. Users have the option of the choosing from 1-7. The default is 3.
  • 24 indicating the font size.
  • 99999999999999 indicating the 14 digit value that will be barcoded. The 14 digit value may be hardcoded or populated by using an expression.

Using UPCA barcodes

UPCA (GTIN-12) is a barcode type used by many countries for tracking trade items and is the most common barcode type used in connection with UPC, or Universal Product Code, numbers. Trade items, in reference to UPCA barcodes, are items in which there is a need to retrieve pre-defined information that can be used when pricing, ordering, or invoicing these items. No letters, characters, or any other content of any kind may appear on a standard UPCA barcode. The UPCA or UPC-A barcode must consist of 12 numerical digits only and are supported in DEACOM versions 14.6 and higher.

UPCA Structure

The structure of a UPCA barcode consists of 12 numerical digits, divided into four areas, as indicated in the picture and described below.

  • Number System - A single digit which identifies the "type" of product, in a sense, that the following numbers represent. "0" is the most commonly used number system.
    • 0, 7 - Regular UPC codes
    • 1, 6, 8, 9 - Reserved
    • 2 - Weight items marked at the store
    • 3 - National Drug/Health-related code
    • 4 - No format restrictions, in store use on non-food items
    • 5 - Coupons
  • Manufacturer Code - A unique code assigned by the UCC Council to each manufacturer or company which distributes goods that will include a UPC-A barcode. All products produced by a given company will use the same manufacturer code. A company may not choose one randomly or without consulting with the UCC Council since this would quickly result in multiple manufacturers using the same code. Additional information on the UCC Council is available via the UCC Council, Inc. website. Deacom, Inc is not affiliated with the UCC Council.
  • Product Code - A unique code assigned by the manufacturer. Unlike the manufacturer code, which must be assigned by the UCC, the manufacturer is free to assign product codes to each of their products without consulting any other organization. Since the UCC will already have guaranteed that the manufacturer code is unique, the manufacturer need only make sure that they do not repeat their own product codes.
  • Check Digit - An additional digit used to verify that a barcode has been scanned correctly. Since a scan can produce incorrect data due to inconsistent scanning speed, print imperfections, or a host of other problems, it is useful to verify that the rest of the data in the barcode has been correctly interpreted. The check digit is calculated based on the rest of the digits of the barcode. Normally, if the check digit is the same as the value of the check digit based on the data that has been scanned, there is a high level of confidence that the barcode was scanned correctly. The most common methods for calculating the check digits are:
    • Add the digits in the odd-numbered positions (first, third, fifth, etc.) together and multiply by three.
    • Add the digits in the even-numbered positions (second, fourth, sixth, etc.) to the result.
    • Find the result modulo 10 (i.e. the remainder when divided by 10.. 10 goes into 58 5 times with 8 leftover).
    • If the result is not zero, subtract the result from ten.

UPCA Examples

<<F_BARCODE(“UPCA”,20,CAST(u_10 AS Numeric (12)))>>

<<F_BARCODE(“UPCA”,20,u_10)>>

Both examples above are simulating a situation in which a DEACOM Item Master User Field, u_10, contains the required 12 numbers that represent the UPC for the selected item/SKU. The difference between them is due to the fact that in the first example the User Field was created with a "Field Type" of "Character" and the second example was created with a "Field Type" of "Numeric". Recall that UPCA barcodes must contain 12 numeric values only and may not contain any other characters. If the User Field that contains the UPC code is set as a character field, then the "CAST" function must be used to convert the values in the field to a numeric value that may be scanned. If the User Field is already set as a numeric type, no additional functions within the barcode expression will be required. 

Using 2D barcodes

2D barcodes have gained popularity recently as they provide companies with the ability to pack more information into a smaller amount of space. DEACOM now supports a 2D GS1-128 barcode (also known as a GS1 Datamatrix) that utilizes the same AIs as the 1D GS1-128 barcode. These barcodes are especially useful for companies that have very small container sizes for materials, such as those that are unable to wrap a 1D barcode on product that includes the part number and the lot number. The range of 2D barcode scanners has now exceeded the range of 1D barcode scanners making the 2D barcode a great barcode to leverage for manufacturing operations with high and/or deep warehouse racks.

Datamatrix codes are sizable. The entered font size value will be the narrowest bar (or width of the smallest column) on the Datamatrix code, in millimeters (a default of 0.6 mm may be used). Users need to ensure that the scanner used can scan the different sized barcode, understanding that the distance from the scanner to the Datamatrix code will also make a difference. When using Data Matrix barcodes on reports or forms in web versions, simply set the "Encoding" field to "Data Matrix" then specify the desired AI's and fields in the "Expression" field.

Moving to a 2D barcode in DEACOM classic versions involves updating the part form expression F_BARCODE. Below are the expressions for the same 1D and 2D barcode in DEACOM. This barcode encodes the part number and user lot for efficient use throughout the warehouse.

2D Barcodes are compatible with PDF417 barcodes. In web versions of DEACOM, users may select "PDF417" in the "Barcode Type" field when adding fields to Report Layouts and Part Forms. In classic versions of DEACOM, users may replace "gs1datamatrix" with "PDF417" in the barcode expression.

2D Examples

"(96)"+TRANS(fi_lotnum) + "(90)"+ALLT(pr_codenum) + "(30)0"

The above uses AIs 96, 90, and 30 to insert the DEACOM System lot, item number, and variable count of items on the label, respectively.

Using 1D barcodes

One-dimensional (or 1D) barcodes represent data by varying the widths and spacings of parallel lines. These include some of the most traditional and well-recognized barcode types, such as the UPC and EAN codes. Deacom supports 1D barcodes using multiple encodings including 3 of 9 and GS1-128. When using GS1-128 encoding DEACOM has the following formatting requirements.

  • Barcodes must be a multiple of 6, with a minimum font size of 18.
  • The data to be encoded must be less than or equal to 48 characters.
    • This applies to the data that’s going to be encoded, not the expression.
    • Application Identifier symbology (e.g., “(40)” ) is included in this 48 character limit.
  • The total length of the barcode itself cannot exceed 6.5 inches (165.10 mm).
    • This includes both the barcode bars, as well as required “quiet zones” (white space) before and after the bars of the 1D GS1-128 barcode.

Notes:

  • Customers will need to consider the length limitations of ID barcodes when designing things like warehouse location names to ensure they fall within the length requirements.
  • Customers may want to consider using 2D barcodes if length limitations are a concern.