Creating Barcodes for Warehouse Transactions

Properly barcoded warehouse locations and inventory can exponentially increase efficiency and minimize user input error in a production or distribution warehouse through strict process control. DEACOM’s WMS software utilizes industry-standard barcoding that can allow for quick and easy scanning of items and corresponding warehouse locations to effectively and accurately move inventory lot-by-lot, pallet-by-pallet, or even unit-by-unit. This page will augment how these barcodes can be created in DEACOM to minimize manual user input and expedite warehouse floor operations.

Use and benefits

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. Specific examples include and additional benefits include:

  • Fast-selling items can be identified quickly to allow for efficient reordering.
  • Slow-selling items can be identified, preventing inventory build-up.
  • The effects of merchandising changes can be monitored, allowing fast-moving, more profitable items to occupy the best space.
  • Historical data can be used to predict seasonal fluctuations very accurately.
  • Items may be repriced on the shelf to reflect both sale prices and price increases.
  • Lessens the need for manual user entry.
  • Reduces the opportunity for errant data entering the system.
  • Allows for information to be captured instantaneously for visibility throughout the system.
  • Maintains an efficient work flow across shop floor operations to sustain manufacturing and inventory management pace.

Once the desired barcodes are setup, they may be used in Report Layouts and Part Forms, or scanned to perform general job functions. For example, when performing inventory transactions in DEACOM, users often need to choose a new Location or Location Type to move the inventory into. If the list of Locations is long, selecting the correct Location from the pick list can be tricky. Having pre-printed barcodes that contain the Location Type and Location makes choosing a new Location quick and easy.

The use of GS1-128 barcodes supports this efficiency and are the recommended barcode for warehouse transactions in DEACOM. The main benefit of GS1-128 barcodes is the ability to store multiple pieces of data in one barcode and the scanner being able to determine which piece populates each field on the WMS form. This is done through Application Identifiers. Since GS1-128 barcodes can store more than one piece of data, they are ideal for storing Location and Location Type in the same barcode. The user scans one barcode, regardless of where the cursor is on the form, and the Location and Location Type populate in the correct fields.

Often times DEACOM users will have barcodes printed and attached to each Location in their warehouse. When performing inventory transactions in WMS that require choosing a Location, the user will scan the barcode rather than choosing from a list. This is especially helpful in situations where warehouse workers are required to wear gloves that make touching the screen difficult.

As a best practice, do not include quantities when creating and using barcodes, as quantities constantly change and the need to recreate new labels with the correct quantities may outweigh the benefit of having quantities included within the barcode. Additional barcodes are supported by DEACOM to support different customer requirements. In addition to the barcodes described in this page, ZPL labels can be configured for use. For process information, refer to the Configuring ZPL Labels page.

Supported barcodes

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 GS1 Datamatrix code)

Important definitions

Several terms used throughout the remainder of this document are defined below.

  • Application Identifiers (AI) - A code within the barcode to identify the data that follows.
  • Function Code 1 (FNC1) - A single character control code used in GS1-128 barcodes (ASCII code 234).
  • White Space - Space to the left and right of a barcode to define the boundaries of the barcode for the scanner.

Configuration

Configure Printers - Printers must be properly installed and configured to print barcodes. More information on printers, including their configuration, system defaults, and troubleshooting tips, can be found on the Configuring Printers page.

Install Barcode fonts - Barcode fonts must be installed on the WMS host computer when printing labels containing barcodes from the scanner. In addition, barcode fonts must be installed on any computer where labels or reports containing barcodes will be printed. When running web versions of DEACOM, barcode fonts will need to be installed on the web server (in other words, the server where the web service or the web console is set to run). Barcode fonts do not need to be installed on workstations where labels or reports containing barcodes will be printed when using DEACOM web versions. After the fonts have been installed, the server or user computer needs to rebooted since a service/console restart doesn't always resolve issues. The Code 3 of 9, GS1-128, and ITF-14 barcode fonts are included with the main DEACOM application and are located in the main DEACOM Production folder. The barcode fonts will be in the form of TrueTypeFont, or .ttf, files. To install the fonts:

  1. Open the DEACOM Production folder.
  2. Click the desired font(s) to select it from the list of files. The best practice is simply to select all files ending with a .ttf extension.
    1. Note: Be sure to double check the DEACOM Release Notes for information regarding additions or modifications to barcode fonts.
  3. Right-click on one of the selected files and select Install.
  4. Verify the fonts were successfully installed.
    1. Open the Windows Control Panel.
    2. Navigate to the Fonts folder.
    3. Search for the font(s) installed. Some fonts may have multiple files representing different font sizes.

Process

Understanding the different barcodes

The three main types of barcodes used in DEACOM Part Forms and Report Layouts are Code 3 of 9, GS1-128, and GS1 Datamatrix. Other barcode types such as UPCA and ITF-14 can be printed in DEACOM, but they are not used as frequently. Complete descriptions, including examples, of all DEACOM supported barcodes can be found on the Supported Barcodes page.

What is the difference between 3 of 9 barcodes and GS1-128 barcodes?

3 of 9 barcodes can hold only one piece of information for the scanner to use - either the Location or the Lot. GS1-128 barcodes, on the other hand, are used in connection with Application Identifiers and can hold multiple pieces of information - Lot, Location, Unit, etc.

When scanning 3 of 9 barcodes, the cursor on the scanner must first be placed in the field corresponding to the barcoded information. For example, if scanning a DEACOM Part Number, the cursor must first be placed in the "Part Number" or "Item" field within the DEACOM WMS application running on the scanner. Additionally, when utilizing the Link Documents feature the WMS application will automatically parse out the "PO-" and "SO-" prefixes when scanning a 3 of 9 barcode. These prefixes are required to utilize this feature.

What is the difference between GS1-128 barcodes and Datamatrix codes?

Both are capable of storing the same data. GS1-128 barcodes expand horizontally the more data points are added to them, where Datamatrix codes remain the same size. There are two items to consider when determining which type to use:

  1. Are the scanners capable of scanning and interpreting Datamatrix codes?
  2. Is the package or surface area of where label will be placed large enough to handle wide barcodes, such as a typical shipping box, or does it have a small surface area, such as a pill bottle?

Using barcode options and functions

Configuring font and printing options

The basic structure of the barcode remains the same when printing on Report Layouts or Part Forms, except that different objects or macro tags will be used to format the barcodes depending on the print out that is selected.

  • Report Layouts - Barcodes printed on Report Layouts must be enclosed within a set of asterisks "*" "*" when using the DEACOM classic version. When using the web version, the asterisks are not required.
    • In web versions, set the "Encoding" field to the correct font name then select the actual font in the "Font Name" field. Currently, only Code 3 of 9 barcodes may be used in DEACOM reports. The need to make this modification occurs frequently when converting forms from the classic version to the web version.
    • In the field that will contain the barcode, the appropriate barcode expression may be entered. Examples are included in the "Barcode examples" section below. We recommend users do not bold the barcode font as this can cause issues with the barcode being read by the scanner.
  • Part Forms - Barcodes printed on Part Forms must be enclosed with a set of double carrots <<>>.
    • Part Forms can support the Code 3 of 9, GS1-128, and UPCA barcode types.
    • When printing barcodes on Part Forms in classic versions of DEACOM, the use of the F_BARCODE() function, described below, will be necessary. Web versions do not require the use of this function.
    • When printing the GS1-128 barcodes it may be beneficial to change the font type. If using ConnectCode128_S3.ttf as the default font, install ConnectCode128_S7.ttf and test the scanner accordingly.

A font size of 12 is the smallest font size to use and still be readable by a scanner. This is true in the case of most printers, including laser printers. However, depending on the type of barcode being scanned, as well as the font size and DPI (dots per inch) of the printer, the scanner may have difficulty reading the barcode. In this case it may be necessary to use a smaller font. For example, printers with a DPI measurement below 600 can not print as clearly as printers with 600 DPI and above. This causes the scanners to improperly read the information being displayed. The font size required when printing out certain barcodes is as follows:

  • 200 DPI Printer - 6, 12 18, 24, 30, 36, and other multiples of 6.
  • 300 DPI Printer - 4, 8, 12, 16, 20, 24, 28, and other multiples of 4.

Using the F_BARCODE function

For Part Forms in classic versions, DEACOM uses the internal F_BARCODE() function to print the Code 3 of 9, GS1-128, and UPCA barcodes. F_BARCODE() takes three arguments:

  1. Barcode Type: Any of DEACOM's supported barcodes (3of9, UPCA, ITF14, GS1128, along with several other barcode types). The different barcode variants that can be specified are as follows: GS1128, GS11281, GS11282, ..., GS11287, 128, 128a, 128b, 128c
  2. Size: Font size of the barcode. Deacom experience suggests 12 is the smallest font size to use and still be readable by a scanner.
  3. Data: Information encoded in the barcode. This data does not include any of the control characters required for a given barcode (FNC1 for instance with GS1-128 barcodes). These are DEACOM data fields or user calculations.

The F_BARCODE() function is not used in .NET.

Users have the option to use a barcode type of ITF14RECT or ITF14TB when creating ITF-14 barcodes using the F_BARCODE function. The ITF14RECT option will create a full box around the barcode, while the ITF14TB option will create only a top and bottom line on the barcode. Which option is chosen depends on customer preferences and the scanners that are to be used by the customer.

Additional information on the various functions that may be used within barcode expressions is available via DEACOM Basics > Functions and Operators Library.

Configuring label information and including barcodes

  1. Navigate to Print Outs > Maintenance > Part Forms to display a list of all available Part Forms.
  2. Select the desired Part Form and click the "Modify" button to open the Edit Part Form form.
  3. Click the "Edit Doc" button to open Report Designer.
  4. Click the "Field" option from the Toolbox column on the left hand side of the report and drag the field into the "Detail" section of the report.
  5. Double click in the field to display the Edit Field form.
  6. Select the appropriate value in the "Encoding" field to match the type of barcode that should be added. Information on the different barcodes supported in DEACOM is available via the Supported Barcodes page.
  7. Change the "Type" to "Expression".
  8. In the "Expression" field enter the appropriate expression. One example of a GS1-128 expression would be "(10)"+ALLT(fi_userlot)+"(90)" + ALLT(pr_codenum). This expression would print the User Lot and Part Number. Additional examples of that and other barcode types are available on the Supported Barcodes page.
  9. Enter any additional information, including font size.
    1. Note: A minimum font size of 12 is suggested. Any smaller and the scanner may have difficulty reading the barcode.
  10. Once the appropriate information has been entered, click the "Save" and "Exit" buttons to close the Edit Field form.
  11. If additional fields, besides barcodes, will be entered they can be added now.
  12. Once complete, click the "Save" and "Exit" buttons on the Report Designer form to complete the process.

Inputting production with a single barcode scan

Utilizing GS1-128 barcodes, the system has the capability to record a Job finish transaction through the Input Production form with a single scan of a barcode. This can be used in cases where the User Lot for a Job finish is calculated automatically through the system. The barcode scanned needs to have two components and has one option component for those utilizing serialized parts:

  • GTIN/Part Number
  • Job Number
  • Serial Number (optional)

As these labels are coming off the production line they can be scanned by an end user. Typically this process is used when palletizing where multiple items are coming off the line and are directed to the appropriate pallet. In this case, the “Use Entire” functionality can also be leveraged to assign all un-palletized User Lots to the Master Lot being built.

Example:

<<F_BARCODE("GS11285",12,"(10)"+ALLT(fi_userlot)+"(90)" + ALLT(pr_codenum)+“(30)1”)>>

In the above example, the user would need to pre-print the labels in some fashion in order to generate a scannable barcode. The quantity of 1 here is telling the system to input a quantity of "1".

Receiving catch weight items with a single barcode scan

DEACOM allows the configuration of barcodes to include a Part's Catch Weight. Vendors can use the DEACOM Label Generator to create and affix these labels to products being received by the company, who can then scan the barcode, which will populate the Catch Weight and receive the item without the user having to type in the weight or re-weigh the product. More on Catch Weight items can be found on the Using Catch Weight Parts page.

Example:

"(90)" + ALLT(pr_codenum) + "(10)" + ALLT(TRANS(tp_purnum)) + "(30)1" + "(3202)" + TRANS(123412)

The example above would populate with a Catch Weight of 1,234.12. The variables are as follows:

  • "(90)" + ALLT(pr_codenum) represents the Part Number of the item being received.
  • "(10)" + ALLT(TRANS(tp_purnum)) represents the User Lot of the material, which will generate as the Purchase Order number.
  • "(30)1" indicates the Lot being received is a quantity of one.
  • "(3202)" the "02" portion represents how many decimal places there are in the Catch Weight.
  • TRANS(123412) represents the Catch Weight of the Lot, with two decimal places defined by the previous segment. When scanned, the catch weight is input as “1234.12”.

Enabling scanner buttons and printer selections via barcodes

The "buttons" in the DEACOM WMS application can be scanned via 3 of 9 barcodes. This is useful in situations where workers cannot remove their gloves to click the buttons on the scanner screen. When scanning on any form and the barcode starts with either "BUTTON+" or "CHECKBOX+", the proceeding label name after will either be clicked or checked. Scanning a menu item does not require "Continue" to be scanned.

Examples:

  • BUTTON+EXIT
  • BUTTON+UNDO
  • BUTTON+APPLY
  • BUTTON+PRINT
  • BUTTON+OK
  • BUTTON+YES
  • BUTTON+NO
  • BUTTON+CANCEL
  • CHECKBOX+PRINT LABEL
  • CHECKBOX+COPYNOTES

Users can also barcode a valid printer name. Once done, users can scan this printer in the "Printer" field on transactions throughout WMS to have the printer selection populate the field.

Adding barcode labels to printers

Barcode labels containing the full network printer name can be created and placed on the necessary printers themselves to save time when scanning.

This is particularly useful where there is a large production floor and workers move from one line to another during the course of their workday since the dropdown selection for printers on the scanner can be very small and network printer names may be a bit longer.

The most useful solution is to use a 2D (Data Matrix) barcode code as seen below:

Data used in the Barcode Expression should be the full printer name as shown in the Deacom Printer selection window (see examples below).

Note: for MCS customers, you can pass the piped |CLOUDLOCAL| statement so Deacom can interpret the correct path:

\\SERVER8\PRINTERS\HP9DFEDD (HP ENVY Photo 7100 series)

//|CLOUDLOCAL|\\Deacom Zebra 1

//|CLOUDLOCAL|\\Canon 525IF II Shipping

FAQ & Diagnostic Tips

Tips:

  • The "Commit on Scan" box is available via System > Maintenance > WMS Forms Layouts. The box is only enabled for the Issue Job, Input Production, Final Staging Job, and Final Staging Sales Orders options. The box is checked on these forms by default. This field was added to support situations where scanning GS1-128 barcodes, containing multiple AIs, was automatically committing transactions.
  • The DEACOM WMS & DSD applications cannot correctly scan and interpret user lots that begin with 0. This is due to manner in which these applications read and interpret the 10 AI code. An option to work around this problem is to enter the AI 10 as an exception via System > Maintenance > Excluded AIs.
  • Datamatrix barcodes (aka 2D GS1-128 barcodes or a datamatrix GS1-128) are most often the best option for items with a small surface area. They provide companies with the ability to pack more information into a smaller amount of space. The business was unable to wrap a 1D barcode on the product that included the part number and the lot number. However, a 2D barcode was able to fit on the container and easily be scanned with the same information encoded.
  • If you scan a barcode on WMS and it shows your GS1 data all together in that error, then something might be wrong with the barcode expression. Troubleshooting steps should include verifying data for each AI. For instance, the quantity AI may have too many characters.
  • This ZPL command,^PQ<<labelqty>>,0000,0000,N^FS, can be used to control the number of labels that are printed when you use ZPL. This command is passed along the quantity from the print command (or the label quantity expression).

How do I install barcode printer fonts on my computer?

If using Windows 7 or later, double-click the free3of9.ttf file and click install button. Do the same for ConnectCode128_S3.ttf. These files are located in the DEACOM\Production folder. If using Windows XP, you will need to install both fonts from Control panel, Fonts area. You will need to do this on all workstations that will be printing barcodes. Also perform on the server that will be running the WMS scanner service.

Barcodes will not print on my label. What is the problem?

First, check to make sure the barcode fonts are installed on the server on which the automation service is running. Second, check to make sure all label printers (i.e. Zebra printers) are installed on the server on which the automation service is running.

How would I format GS1-128 barcodes using non web versions of DEACOM?

Non web versions of DEACOM use MS Word to design part forms. The creation of barcodes in MS Word and DEACOM requires the use of the internal F_BARCODE() function.

Here is how the barcode is created on the DEACOM Part Form:

<<F_BARCODE("GS1128",24,"(17)" + fi_expires + "(10)" + fi_userlot + "(21)" + fi_serial)>>

The format above contains a set of carrots “<< >>” which are required when adding expressions or barcodes into MS Word. Next, the F_BARCODE () function is included as described previously. Finally, the DEACOM field names “fi_expires”, “fi_userlot”, and “fi_serial” indicating the expiration date, lot number and serial number respectively are indicated.

Additional GS1-128 barcode examples are included below.

My scanner will not scan barcode after changing to landscape.

Check the printer properties and the darkness settings. If necessary, recalibrate the printer per vendor instructions.

I see extra space on my labels above my 3 of 9 barcode. How do I resolve this?

Please install the Free 3 of 9 barcode font. For assistance, contact mailto:[email protected]

My GS1-128 barcode setup includes a company identifier AI (AI # 019). Is this AI supported by DEACOM?

The company identifier AI, 019, is not supported by DEACOM but may be included in GS1-128 barcodes. If it is included in a barcode, DEACOM will skip over it.

How does the WMS process remapped AIs?

When scanning in a remapped AI, the WMS will still attempt to first evaluate the AI as if it were the original because of complications with variable data length. This means that an AI of, lets say 17 (A Date AI), with a value of "123ABC" will not remap correctly to 10 (lot number), because it will attempt to format 123ABC as a date and error out. But an AI of 21 remapped to 10 would work without issue as both are just general strings.

Are there any diagnostic tips for dealing with Zebra printing issues from the WMS?

The following section contains details on Zebra settings to consider when printing labels from the WMS. Since there are several different Zebra models, drivers and related printing software, the list below provides general guidelines. Users may have to try a few different settings to ensure the best match for their specific printer model/setup. On your computer, go to Devices and Printers, right-click on the Zebra printer, click Printer Properties and check the following:

  • On the General tab, check "Printing Preferences" and ensure the paper size is set appropriately (2 x 3, 4 x 6 etc.) and that the page orientation is set to the best option for the specified printer, (Landscape or Portrait).
  • On the Advanced tab, check "Printing Defaults" and ensure the paper size is set appropriately (2 x 3, 4 x 6 etc.) and that the page orientation is set to the best option for the specified printer, (Landscape or Portrait).
  • On the Printer Settings tab, ensure the "Always use drivers settings" flag is unchecked. if this flag is checked, it may cause issues when attempting to print a quantity greater than 1 for labels.
  • On the "DEACOM Automation Service.exe", right-click to display the "Properties" form, click the "Log On" tab and uncheck the "Allow service to interact with desktop" flag.

Useful resources for designing ZPL (Zebra Programming Language) labels with Zebra printers

Labels that will be used for Zebra printers may be designed in DEACOM via Print Outs > Maintenance > Part Forms. Users will need to select a print method of "ZPL" in the print method field of the "Edit Part Form" window. Once this is done, users will add the appropriate ZPL commands to the "ZPL Definition" field. Some helpful sites dealing with ZPL commands are listed below:

  • http://labelary.com/docs.html - Describes various ZPL commands and includes an online viewer where you can type in ZPL commands and see a presentation of what the finished label will look like.
  • https://www.zebra.com/content/dam/zebra/manuals/printers/common/programming/zpl-zbi2-pm-en.pdf -Zebra Programming guide.