QR Code in SSRS

I spent too long yesterday adding a QR code to an SSRS report and found too many conflicting instructions. So here’s a brief video on adding a QR code to an SSRS report via a .dll. You can also use web services to generate the image, but I went with the .dll method so I could encode complicated data that couldn’t be easily passed in a url string.

Carson

10 Likes

When you enable SSRS for an App, via EAC, the deployment adds a few DLL’s to the ...\ReportServer\bin\ folder, and updates the rssrvpolicy.config file with some entries about DLL’s the Epicor adds.

.
Here’s a sample of what is added to the rssrvpollicy.config file.

<CodeGroup 
	class="UnionCodeGroup" 
	version="1" 
	PermissionSetName="FullTrust" 
	Name="EpicorCodeGroup" 
	Description="Epicor Code group for data processing extension">
	<IMembershipCondition 
		version="1" 
		class="UrlMembershipCondition" 
		Url="\\usdcadbs00375\C$\Program_Files\Microsoft_SQL_Server\MSRS13.MSSQLSERVER\Reporting_Services\ReportServer\bin\CLSEpicor.dll"_
	/>
</CodeGroup>

a similar entry exists in rssrvpolicy.config, for EpiNum2Words.dll

Why doesn’t adding the QR DLL to the bin folder, require an entry in the rssrvpolicy.config file?

That’s a good question. I’ve found google results that say you also have to add it to the GAC. I’ve used the method in my video on 3 different servers and it worked on all of them. I forgot to mention you need to put it in your visual studio directory on your local machine to run report builder locally.

Hi Carson

This was extremely useful and works really well in an on-prem environment. We are looking at going to the cloud with Epicor but are still going to need to generate QR codes for our labels. Do you have any suggestions? I’m guessing that Epicor isn’t going to allow the QRCode.dll to be placed on their reporting server. Any suggestions would be appreciated.

Rewgards
Marty

I actually use an online QR generator for a long time and it does still work since 2014.

Simply add an image to the report.

Then in the “Use this image:” expression, change it to

="http://qrcode.kaywa.com/img.php?s=8&d=" +Fields!PartNum.Value

There are a lot of different online QR Code generator can also work too.

5 Likes

Thanks Toby

do you feel that relying on an external source to generate the process both creates latency and additional failure points?

vs using the built in barcodes did you measure the latency increase?

I ended up purchasing the encoder and put it on the on-prem server to generate the code.

Relying on external source is not good practice, as I remember the site went down, it will only have [X] on the report.

I am not sure how the cloud client generate the code these days.

Sorry for the necro but we are moving from on-prem to cloud soon and I just started testing this method:

=“http://qrcode.kaywa.com/img.php?s=8&d=” +Fields!PartNum.Value

It is working but I have to say the solution makes me itchy for various reasons, mostly relating to the dubious reliability.

I imagine there aren’t any recent developments regarding Epicor implementing their own solution. I met with a support rep yesterday and the solution he gave me was the ‘use the kaywa url method’ @TobyLai posted here earlier.

Is anyone aware of a more reliable 3rd party? I would feel much better about this solution if I had some guarantees it would always work.

I have used the ID Automation solution for a number of Epicor Customers and it works well, is provided by a reputable company that offers support, AND it is basically a one time purchase.

Our company has a server that host our own API. QR Code generator can be called from a web link and SSRS and crystal report both can call that API. Having your own service is better option as you have full control on it.

2 Likes

So much this. Relying on a third party internet QR generator adds an uncontrolled input to SSRS. While that’s not an easy exploit by any means… There have been related SSRS patches in the past, and a QR generator exploiter should know that they’re delivering to far higher than average amount of SSRS. Especially for SaaS clients - risk exposure may affect other clients on shared resources.

Want a new funny?

there is talk of 1d barcodes being phased out, is Epicor reactive or proactive… proof is in the actions not words

QR Codes to Replace Barcodes on All Products Starting 2027—GS1

Why GS1 QR Codes Are Replacing Barcodes And What You Should Know

2 Likes

A little context…

What is Sunrise 2027

From these articles it appears that the “industry push” is more focused on replacing retail EAN/UPC 1D barcodes for POS use cases.

1 Like

Epicor has always tried to work with GS1 with EKMW, most their screens are configured to allow for multiinput scanning using GS1 standards.

If you read the article carefully, this line should jump out at you:

“By the end of 2027, retailers would need to ensure their POS systems are equipped with scanners capable of reading both traditional barcodes and 2D barcodes.” [emphasis mine]

The Code 39 stuff on tags and travelers and what-all-else-have-you isn’t just going to evaporate in 2027. Yes, those and other 1D barcodes will eventually go away, but I would certainly not consider it a priority at the moment.

1 Like