Your barcoding solution
GS1 DataBar Coupon
Coupon barcode has been in use in retail industry for a long time (mid 1980). At first, it was UPC code with system ID 5. Since UPC code cannot hold more than 12 digits, it requires another barcode to hold the additional information like offer code, expiration date or household ID numbers. Therefore, it gets extension to UCC/EAN 128 barcode attached to it. EAN 13 barcode was also in use instead of UPC code, which starts with 99, hence called EAN 99 coupon barcode. After more than 20 years in use, now there is a need to encode more data for complex couponing, and accommodate longer company ID, and the traditional coupon code becomes less efficient and sometimes not usable at all.
Issues with old coupon:
- Cannot accommodate longer company ID: It cannot accommodate bigger Company Prefix ID: Traditional UPC/EAN Coupon code can hold company prefix with 6 digits long, but now GS1 is assigning Company Prefix that is more than 6 digits long. Therefore company holding ID number with more than 6 digits long cannot use old UPC barcode for their coupon.
- Complex offer code not possible: For marketing purposes, many complex offers are not possible to encode with old coupon barcode. For example, buy a shampoo and a conditioner, and get a hair get free.
- Frequent manual entry cause delay: In many cases, salesman needs to enter information manually with traditional coupon barcode, especially when a product is free. This manual process delays the purchase process.
- Manual entry cause error: Since old coupon cannot hold many data, information is required to enter manually and hence make the process more error prone.
- Delay and error at register is very costly: Delay at register and coupon processed wrongfully cost retailer a huge amount of money.
There are many limitations and disadvantages with the traditional UPC/EAN based coupons. In order to encounter these problems GS1 comes up with a new solution for coupon barcode. Instead of using UPC barcode and Extended UCC/EAN part, it is decided to use GS1 DataBar Expanded Stacked (formerly RSS Expanded Stacked) barcode. This barcode can hold up to 74 numeric data with multiple application Identifiers, like expiration date, serial number, etc.
GS1 laid out specific instruction on how to compose new coupon data to be encoded with DataBar Expanded Stacked barcode. They plan to roll out in two phases, first interim phase where an UPC code will be intact for backward compatibility along with expanded barcode. This interim process started in 2007. By 2011, the final phase with stand alone Expanded Stacked barcode for coupon will be in fact. By 2014, everyone should adopt new GS1 coupon format.
How to compose Data for new GS1 DataBar coupon
DataBar coupon data uses application identifier, length indicator, and 7 data field to compose a continuous data. Application identifiers (AI) are 2 to 4 digits (for now) number that describes the type of data which follows. For example, AI for expiration date will be (17) and data is laid out as (17)010101 where last 6 digits are date format. AI tells the decoder what to look for following it. Length indicator, as name suggests, tells the length of a data that follows it. Sometimes it can be an offset of some number, for example, length indicator for GS1 company prefix will be an offset of 6. Therefore, if we have 1 as a length indicator, it will have a GS1 company ID which is 6 + 1= 7 digits long.
The entire coupon data has 8 Data Field, and first one is the mandatory field. The supplementary section contains data field 1 through 6 and a data field 9, each comprising of special data. I will describe each section in details.
Mandatory section
| 1 | Application Identifier
4 digits long usually 8110 for new coupon |
This Application Identifier indicates the decoder that the data is for coupon. | |
| 2 | Primary GS1 Company Prefix Length Indicator
1 digit long from 0 to 6 |
It indicates how long the GS1 Company Prefix ID, which follows it immediately, is. It is an offset of 6 that means you add 6 with the given number. E.g., if the number is 1, then the following GS1 Company Prefix is 6 + 1 = 7 digits long. | |
| 3 | Primary GS1 Company
[6 to 12 digits long as indicates by the previous length indicator] |
This number is assigned by GS1 Member
Organization, which denotes the manufacturer company ID that is funding the offer. This should match the company ID mentioned in the old UPC-A code with the manufacturer’s NSC code during interim phase. E.g., Company Prefix 012345 would be included in the UPC-A as 12345 and as 012345 in the GS1 DataBar Expanded Stacked during interim phase. |
|
| 4 | Offer Code
[a 6 digit number] |
The Offer Code identifies the offer as an unique number, which usually assigned by the Primary GS1 Company Prefix holder. | |
| 5 | Save Value Length Indicator
[1 digit] |
The Variable Length Indicator specifies the length of the save value which follows it. | |
| 6 | Save Value
[1 to 5 digits long] |
This defines the amount of savings, and it depends on Data Field 9 (see miscellaneous section). If save value code is 0 in Data Field 9 then this value describes cents off, if 1, then it means that item is free, etc. See data Field 9 for more information. For example, when it is cents off, 250 in this field means $2.50 off. | |
| 7 | Primary Purchase Requirement Length Indicator.
|
The Variable Length Indicator specifies the length of Primary Purchase Requirement which follows it | |
| 8 | Primary Purchase Requirement
[1 to 5 digits] |
The Primary Purchase Requirement Code defines the threshold amount to qualify the purchase.
E.g., ‘buy 2 items to get 3rd free’ will make this value to 2 followed by the Primary purchase requirement code 0 (next field). E.g., ‘Get a CD free when you shop $40.00’ will make this field to ‘4000’. Therefore it could be value of qualifying item, cash value, or specific qualifying weight.etc |
|
| 9 | Primary Purchase Requirement Code
[1 digit long] |
It describes the type of threshold involved for primary purchase requirement in the previous field.
E.g., It indicates whether it is item number threshold, or specific dollar amount or weight limit to buy, etc. Code includes the following: 0 = the number of units to purchase 1 = the cash value of the qualifying purchase items (2 decimals) 2 = the cash value of the total transaction 3 = the number of pounds (2 decimals) 4 = the number of kilograms (3 decimals) 9 = Cashier intervention is required |
|
| 10 | Primary Purchase Family Code
[3 digit long] |
The Family Code is issued by the Primary GS1 Company Prefix holder. It can be used for validation of the qualifying purchase items. |
Data Field 1: Second Qualifying Purchase
It is normal to have second item involved in a coupon offer, and this information goes in this section.
| 1 | Second Qualifying Purchase Field presence indicator
[only digit ‘1’ is acceptable] |
This indicates that a second qualifying item is present with offer. |
| 2 | Additional Purchase Rules Code | This field specifies additional qualifying purchase rules and they are:
0 = Either the Primary or 2nd or 3rd Item can be used to validate the offer 1 = All items listed (Primary, 2nd and 3rd) must be purchased. 2 = Both the Primary Item and either one of the 2nd or 3rd Items must be purchased 3 = Either 2nd or 3rd item can be used to qualify (Purchase requirement code for both in this case can be ignored, only family code and GS1 company prefix will be required) |
| 7 | Second Purchase Requirement Length Indicator.
|
This field specifies the length of 2nd Purchase Requirement which follows it |
| 8 | Second Purchase Requirement
[1 to 5 digits] |
The Second Purchase Requirement Code defines the threshold amount to qualify the purchase.
E.g., Therefore it could be threshold value of qualifying items, cash value, or specific qualifying weight, etc. |
| 9 | Second Purchase Requirement Code
[1 digit long] |
It describes the type of threshold involved for second purchase requirement in the previous field.
E.g., It indicates whether it is number of item threshold, or specific dollar amount or weight limit to buy, etc. Code includes the following: 0 = the number of units to purchase 1 = the cash value of the qualifying purchase items (2 decimals) 2 = the cash value of the total transaction 3 = the number of pounds (2 decimals) 4 = the number of kilograms (3 decimals) 9 = Cashier intervention is required |
| 10 | Second Purchase Family Code
[3 digit long] |
The Family Code is issued by the Primary GS1 Company Prefix holder. It can be used for validation of the qualifying purchase items. |
| 2nd Purchase GS1
Company Prefix VLI [1 digit long from 0 to 6 and implies as an offset of 6] |
It indicates the length of the GS1 Company Prefix
Holder of second qualifying item, which follows it. |
|
| 2nd Purchase GS1
Company Prefix [6 to 12 digits long] |
This is GS1 Company Prefix for second qualifying item. This also depends on additional purchase rules describes little earlier. |
Data Field 2: Third Qualifying Purchase
If a third item is involved in coupon, then that information goes here.
| 1 | Third Qualifying Purchase Field indicator
[only digit ‘2’ is acceptable] |
This indicates that a Third qualifying item is present with the offer. |
| 2 | Third Purchase Requirement Length Indicator.
|
This field specifies the length of 3rd Purchase Requirement which follows it. |
| 3 | Third Purchase Requirement
[1 to 5 digits] |
The Third Purchase Requirement Code defines the threshold amount to qualify the purchase. It could be threshold value of qualifying items, cash value, or specific qualifying weight, etc. |
| 4 | Third Purchase Requirement Code
[1 digit long] |
It describes the type of threshold involved for third purchase requirement in the previous field.
E.g., It indicates whether it is number of item threshold, or specific dollar amount or weight limit to buy, etc. Code includes the following: 0 = the number of units to purchase 1 = the cash value of the qualifying purchase items (2 decimals) 2 = the cash value of the total transaction 3 = the number of pounds (2 decimals) 4 = the number of kilograms (3 decimals) 9 = Cashier intervention is required |
| 5 | Third Purchase Family Code
[3 digits long] |
The Family Code is issued by the Primary GS1 Company Prefix holder. It can be used for validation of the qualifying purchase items. |
| 6 | Third Purchase GS1
Company Length Indicator.
[1 digit long from 0 to 6 and implies as an offset of 6] |
It indicates the length of the GS1 Company Prefix
Holder of third qualifying item, which follows it. |
| Third Purchase GS1
Company Prefix [6 to 12 digits long] |
This is GS1 Company Prefix for third qualifying item. This also depends on additional purchase rules describe little earlier. |
Data Field 3: Expiration date
Each coupon should have an expiration date and it goes here. It is stated in YYMMDD format, which is year, year, month, month, Day, Day format.
| 1 | Expiration date Indicator
[a digit ‘3’ is required] |
This indicates that an expiration date is present following it. |
| 2 | Expiration Date
[6 digit long in YYMMDD (year month Day) format |
An expiration date after which the coupon may no longer be valid. |
Data Field 4: Start Date
This field indicates the start date of the coupon in YYMMDD format.
| 1 | Start date Indicator
[a digit ‘4’ is required] |
This indicates the presence of start date in the next field |
| 2 | Start Date
[6 digit long in YYMMDD (year month Day) format |
It shows a date from which coupon will be in effect. |
Data Field 5: Serial Number
If there is a serial number involved to identify a specific group, or region, this field may be used. This field can also used for the household ID used in traditional coupon.
| 1 | Serial Number Indicator
[a digit ‘5’ is required] |
This indicates the presence of a serial number in the coupon |
| 2 | Serial Number length Indicator
[1 digit long as an offset of 6 in the next field ] |
Indicates the length of serial number in the next field |
| Serial number | Describes a serial number which might indicate specific group, region, or household members. |
Data Field 6: Retailer Identification
In retailer funded coupon, retailer can be identified by company ID (GS1 Company Prefix) or by location (GLN). This information will go in this data field.
| 1 | Retailer ID Indicator
[a digit ‘6’ is required] |
This indicates the presence of a Retailer information in the coupon |
| 2 | Retailer GS1 Company
Prefix or Global Location Number (GLN) Length Indicator [1 digit long implies as an offset of 6] |
Indicates the length of Retailer Company Prefix or Location number in the next field |
| Retailer GS1 Company
Prefix or GLN [7 to 13 digits long] |
This is retailer’s GS1 Company Prefix, or the GLN for a location. |
Data Field 9: Miscellaneous Section
All or none of the entry of this data field should be entered. If this section left blank, default value will be considered. Therefore, if the coupon is a store coupon, or offer in coupon cannot be multiplied, or offer is not in dollar amount, you may have to fill this section out.
| 1 | Miscellaneous
Elements [‘9’ is required] |
This indicates the presence of Miscellaneous section or data field 9. The entire section should be filled in or leave completely blank. It cannot be composed partially. |
| 2 | Save Value Code
[1 digit ] |
It describes the format of the offer, and they are:
0 = cents off qualifying purchase items (default). 1 = item is simply free or free up to maximum amount 2 = number of qualifying purchase items free. 5 = percent off. 6 = cents off final transaction amount. |
| 3 | Item on which Save Value Applies
[1 digit] |
This data element indicates which qualifying item the savings
applies: 0 = Primary Qualifying Item (default) 1 = 2nd Qualifying Item 2 = 3rd Qualifying Item |
| 4 | Store Coupon
[1 digit ] |
0 = not a store coupon (default)
1 to 8 = the number of qualifying items, 9 = all qualifying items. |
| 5 | Don’t Multiply Flag
[1 or 0 ] |
0 = offer can be multiplied.(default).
1 = offer must not be multiplied. |
Coupon barcode physical dimension
Although most coupon in practice have 2 rows in Expanded Stacked barcode, but in general this barcode can have 1 to 10 rows, which might look ugly. As the data gets longer Expanded stacked barcode increases its row number. You can increase segment per row variable to make it wider and fit into 2 rows.
It is recommended that Expanded Stacked barcode uses 34 times of its XDimension as its row height. XDimension, again is the width of the narrowest bar, or a single module. As for XDimension, it is highly recommended that we use 0.013 inches. We may go narrower than that but not less than 0.010 inches. As for separator, it is suggested that we use 3 times the XDimension for its height. Therefore all barcode metrics will be:
ü XDimension : 0.010 to 0.013 inches
ü Row Height: 0.34 to 0.442 inches
ü Separator height: 0.03 to 0.039 inches
Human Readable:
Human readable is important to have when barcode does not scan and human interaction is required. It is recommended that GS1 company Prefix and offer code, separated by a dash, is stated on top of Expanded Stacked barcode. Although OCR B is widely used as a human readable font, any font that clearly states the human readable part will be sufficient.
Creating coupon bar code data is easy with VectoBar Pro DataBar
VectoBar Pro DataBar Barcode Software will let you enter coupon data step by step to create a valid coupon code. Its strong input filter will prevent you entering wrong data. Once you compose data, you can just import it to main window to create coupon and interim coupon instantly.
Create GS1 DataBar Coupon with VectoBar Pro
Creating GS1 DataBar Coupon barcode using VectoBar Pro DataBar Barcode Software is very easy and you can do it in less than a minute. Follow the simple steps mentioned below:
Step 1: Choose Interim Coupon Symbol:
Open the application, and choose GS1 Interim Coupon barcode from the symbol menu list.
Step 2: Enter Data:
You will see two text fields below preview panel. First text field is for UPC code which should start with digit “5” for coupon. Second text field is for DataBar Expanded Stacked barcode. If you know your data, just enter it here, and you will see your coupon code in preview panel. If you do not use step 2(a), you should go to text dialog to enter human readable (company prefix and offer code separated by hyphen) in the additional text field and move it horizontally to see the text above the GS1 Expanded Stacked barcode (see step 4).
Step 2(a): Launch Data Composer to create
Coupon Data:
If you need help with composing data for Expanded Stacked part, you can click “?” button on the right side of the text field, and it will open a dialog window prompting you enter necessary data. It will guide you through the data composing process. You may need to know a few information on coupon, such as, company prefix, offer code, family code, and other optional information such as expiration date, coupon start date, etc. Once you are done, click “show” button to see the data, and finally press “export” button to get the data encoded in the main window.
Step 3: Adjust “Segment per Row” for double stack (2 rows):
If your coupon barcode does not show in two rows, you can change that in setting dialog. Click settings button in the bottom of the main window, and it will open settings dialog. Change “Segments per Row” field to make it in two stacks. The higher the number you set, the fewer rows you will see in the expanded stacked barcode. For example, if you use only mandatory section of the coupon data, a setting of 3 segments per row will create 2 rows in Expanded Stacked barcode, but if you have to add more optional data in the coupon code you may have to choose bigger number to create a two stacked barcode.
Step 4: Adjust Text alignment:
Sometimes you may need to adjust the additional text on top of the stacked barcode (which is company prefix and offer code separated by hyphen). You can do that by going to text dialog and adjust the “Horizontal Displacement” field for additional text as you need.
Finally, when you are satisfied with the barcode you created, just save it in a desired location from where you can then export to different application. You can also send a copy of coupon barcode for verification to ensure data encoded properly. For best bar code quality assurance, we recommend that you send (by mail) us the hard copy of your final barcode graphic for verification.
Coupon Sample 1
Save $2.25 on any size of Shampoo (item 2) when you buy either item Conditioner or hair gel (item 3)
| Application Identifier | 8110 | |
| Primary GS1 Company Prefix Length Indicator | 1 | |
| Primary GS1 Company Prefix (6 + 1 = 7 digits) | 0123456 | |
| Offer Code | 654321 | |
| Save Value Length Indicator | 3 | |
| Save Value | 225 | |
| Primary Purchase Requirement Length Indicator | 1 | |
| Primary Purchase Requirement | 1 | |
| Primary Purchase Requirement Code | 0 | |
| Primary Purchase Family Code | 123 | |
| Element Data | ||
| Data Field 1 – 2nd Qualifying Purchase | 1 | |
| Additional Purchase Rules Code (2 = Both the Primary Item and either one of the 2nd or 3rd Items must be purchased) | 2 | |
| 2nd Purchase Requirement Length Indicator | 1 | |
| 2nd Purchase Requirement | 1 | |
| 2nd Purchase Requirement Code | 0 | |
| 2nd Purchase Family Code | 321 | |
| 2nd Purchase GS1 Company Prefix Length Indicator | 1 | |
| 2nd Purchase GS1 Company Prefix | 0345678 | |
| Data Field 2 – 3rd Qualifying Purchase | 2 | |
| 3rd Purchase Requirement Length Indicator | 1 | |
| 3rd Purchase Requirement | 1 | |
| 3rd Purchase Requirement Code | 0 | |
| 3rd Purchase Family Code | 234 | |
| 3rd Purchase GS1 Company Prefix Length Indicator | 1 | |
| 3rd Purchase GS1 Company Prefix | 0987654 | |
| Data Field 3 – Expiration Date | 3 | |
| Expiration Date | 111231 |
Data encoded: 811010123456654321322511012312110321903456782110234109876543111231
Coupon Sample 2
Get a Free DataBar Barcode Software when you buy item a barcode scanner (item 2) and a barcode verifier. (Item 3)
| Application Identifier 8110 | 8110 | |
| Primary GS1 Company Prefix Length Indicator | 1 | |
| Primary GS1 Company Prefix | 0654321 | |
| Offer Code | 001234 | |
| Save Value Length Indicator | 1 | |
| Save Value | 0 | |
| Primary Purchase Requirement Length Indicator | 1 | |
| Primary Purchase Requirement | 1 | |
| Primary Purchase Requirement Code | 0 | |
| Primary Purchase Family Code | 567 | |
| Data Field 1 – 2nd Qualifying Purchase | 1 | |
| Additional Purchase Rules Code | 1 | |
| 2nd Purchase Requirement Length Indicator | 1 | |
| 2nd Purchase Requirement | 1 | |
| 2nd Purchase Requirement Code | 0 | |
| 2nd Purchase Family Code | 789 | |
| 2nd Purchase GS1 Company Prefix Length Indicator | 9 | |
| 2nd Purchase GS1 Company Prefix | N/A | |
| Data Field 2 – 3rd Qualifying Purchase | 2 | |
| 3rd Purchase Requirement Length Indicator | 1 | |
| 3rd Purchase Requirement | 1 | |
| 3rd Purchase Requirement Code | 0 | |
| 3rd Purchase Family Code | 345 | |
| 3rd Purchase GS1 Company Prefix Length Indicator | 9 | |
| 3rd Purchase GS1 Company Prefix | N/A | |
| Data Field 3 – Expiration Date | 3 | |
| Expiration Date | 111231 | |
| Data Field 9 – Miscellaneous Elements | 9 | |
| Save Value Code | 1 | |
| Save Value Applies to Which Item | 0 | |
| Store Coupon | 0 | |
| Don’t Multiply Flag | 0 |
Data encoded: 8110106543210012341011056711110789921103459311123191000






_
December 31, 2009 - 7:44 pm
Thanks for the posting. Does VectoBar Pro create Interim databar coupon barcode?
January 25, 2010 - 9:45 am
Is VectoBar Pro databar create 2 dimention code?
January 25, 2010 - 12:36 pm
DataBar can create two dimensional barcode which goes on top of DataBar barcode, which is mostly PDF417 or microPDF. We are working on separate 2D barcode package containing Data Matrix, QR code and others.
January 25, 2010 - 12:37 pm
VectoBar Pro can create Interim Coupon barcode without extra steps of putting two barcodes together.