Printing barcode labels in SAP R/3

Last week I spent some time finding out how to implement barcode printing in SAP. As usual I googled the internet and a couple of alternatives were flung at me: middleware, hardware vendor applications, installing fonts, etc.

Interestingly enough there is one very simple solution: using the standard barcode font that SAP standard offers for SmartForms.  You wonder why there are so many alternatives while SAP already includes the easiest one. The main requirements for printing barcodes this way are:

  • It will only work with SmartForms. If you are still using SapScript this is the time to switch to the modern era of form design.
  • SAP R/3 4.6C: you are running an older version? Seriously? Then wake up your CIO.

How to approach label design with barcodes:

1) Design the label: choose the text elements and the type of barcode. Think about what technical data elements to include and from what structure table these can be taken (e.g. MATNR for material number). The below example is designed to let the barcode represent the batch number.

Bar code label

Bar code label

2) In your design include Font: standard text is Helvetica, but your barcode is the standard font that SAP offers. Go to transaction SE73 to create the appropriate barcode type. On the opening screen of SE73 choose “System Bar Codes” > Change.

SE73 - Choose system bar codes

3) On the screen <Change System Bar Codes> choose Create (F5). Choose new barcode technology. Run through the steps that SAP offers you. It will ask you what type of barcode you prefer. Code 128 is a common type that will fit your need in most cases. Create your new type starting with ‘Z’.

SE73 - Change System Bar Code

4) The developer will make sure that using your data elements and font types in SmartForm the label will be ready for use. If your batch code (CHARG) is ‘1234567890’ then with the new barcode font this number will be displayed as the barcode in the example label above.

5) Set up the output configuration through customizing. In case of GR labels: IMG > Materials Management > Inv Management and Phys Inventory > Output Determination. Unfortunately the special label output determination (output types WEE1, WEE2 and WEE3) don’t go together with SmartForms. This means you cannot use the ‘special’ label output determination as described here.


If you experience problems printing barcode labels in SAP, below you find links to two of the most popular printer vendors who partner with SAP:

  • Printing SmartForm barcode labels with SATO
  • Printing SmartForm barcode labels with Zebra

Below is a link to SAP note 64158 that explains in nitty-gritty detail the new bar code functionality (SAP Service log-on required):

  • SAP note 64158 – New Barcode Technology for SmartForms

Finally, if you wish to stick to SapScript for your forms and require barcode support, I recommend following solutions that involve installing a SAP barcode printer driver on your local machines. Site licenses are approximately 1200 EUR (1500 USD). Demos are available at:


9 thoughts on “Printing barcode labels in SAP R/3

  1. Edward Koziol

    I’m currently FTP SAP data to systems running DOS based price tag software that prints to Avery-Dennison printers. Does this support Avery-Dennison? Thanks, Ed. 904-415-5707.

    1. Kowboy Post author

      Hi Edward, impossible to give you a conclusive answer on that. Just install a demo of one of the dll suppliers. Then you set up a new barcode as I explained in SE73. You can test print this barcode from the same transaction and output it directly to your AD printer (assuming that Avery driver is set up in SAP). If it comes out allright there is a good chance that you can drop the DOS middleware. Like most configuring in SAP: trial and error.

  2. appyface

    Hi Kowboy,

    Thanks to your article I am able to print a test barcode graphic on different laser printers now without 3rd party software/hardware.

    But I am brand-new to Smartforms and I need to design a label very similar to your example. I cannot figure it out 😦 I can’t find any sample or test barcode Smartforms in our system either. I am trying to do it inside a table loop but maybe that is why I can’t figure it out, is wrong approach?

    Would you provide instructions to create a sample Smartform of your example label in this article? I think having working example would help me a lot, and maybe others too that find your blog.

    (I am using ECC 6.0 if that matters)

    Thanks and regards,

    1. Kowboy Post author

      Hi appyface, thanks for your comment. I can see how some Smartform guidelines can help you (or anyone) in creating the label. Unfortunately as a functional consultant I have no Smartform knowledge. I always leave form creation to the development guys; I just stick to the design in Excel. They do a much better job at building. Perhaps I can get someone to write a piece on this in the future. Hope you find alternative sources (e.g. standard forms at

  3. Prem Karthick

    Hi Kowboy,

    Thanks for sharing your knowledge.

    I am an abaper trying to print Barcode for the given input material.
    I have designed the smartforms and input screen in R/3 to print barcode for the given material numbers. I have followed your steps to create Z-Barcode types with code 128. After this i have included this barcode type in my custom smart-styles. Then I created smartforms using this smart-style.

    Here, it is printing barcode for the given materials in the printer.. but the problem is, the printer skips 10 or 15 barcode stickers and then it prints my barcode..

    Please let me know.. what could be the problem?

  4. Ken Harrison

    Hi Kowboy,

    I have created a 2D barcode via a SMARTFORM by concatenating several fields into one barcode field. Each individual field is suffixed by ‘&’. The barcode appears to print O.K. but will not scan. I am using the same scanner which I use for scanning linear barcodes and it works fine. Do I need a specific scanner to scan 2D barcodes please. The 2D symbology used is PD417. Also, is the method of concatenating the fields correct or do I need to include other control characters, please.

    Your help is much appreciated.

    Kind regards

    Ken Harrison

  5. sharif from SA

    to design a barcode in smartforms, you need to use the one created in se73
    you create a ‘character format’ using transaction code ‘smartstyles’
    when you create a new char format, select the barcode that you have created in se73 from the drop down!
    in your smartform, use this character format as a ‘tag’ with your barcode number in between.
    and you are done.

  6. shah

    Hi ,

    Thanks for the post, it is very useful information.

    I have a requirement to implement Barcode at my Client (Mining Company) for Stocktake purpose only. They have IM environment currently and they don’t use any serialization for their stock. I have following questions:

    1. Can we use Barcode in IM environment or do we need to implement Lean WM?
    2. Is Serialization of inventory a must for Barcoding? Can I simply convert MATNR to Barcode or do I need to create some unique code for every stock item?

    Pls Note that currently we are implementing Barcode for stocktake only but in future we might have requriement to use it for STO’s GR and All GI’s purposes as well. So pls advise keeping this in view as well.

    Any help will be highly appreciated

    Thanks n Regards,


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s