A common question that I see people ask is about printing MICR on checks in Acumatica.
MICR stands for Magnetic Ink Character Recognition and it’s basically those funny looking numbers on the bottom of a check.
You have two options when printing checks. The first option is to buy checks that already have the MICR printed on them which includes the check number in it. The second option is to buy blank check stock and print your own MICR.
There are two components to MICR. The first component is the software which uses a MICR font to print the funny looking numbers. The second component is the hardware which is the printer that prints the MICR characters using special ink or toner. The special ink/toner is magnetic which allows it to be read more easily by bank scanners.
Acumatica, like any ERP system, only handles the software side of MICR and that’s what the rest of this post is about.
1. Download a MICR font
I prefer to use the one that is recommended in the Acumatica Help article on check printing. If you haven’t seen the article, here is a picture showing how you can browse to it within Acumatica. Once you browse to it, scroll to the bottom to find the MICR area.
As you can see in the screenshot above, the recommended MICR font can be found at:
Once you browse to the link, just click the red DOWNLOAD button
You need to save the digital-graphics-labs_micr-encoding.zip download file to the IIS (Internet Information Services) server that is hosting your Acumatica instance. That’s because IIS will need to read the font in order to use it on a check form in Acumatica.
Also, just in case the digital-graphics-labs_micr-encoding.zip file stops getting hosted on the site above at some point in the future, I have downloaded it here to my website and you can download it directly from here: digital-graphics-labs_micr-encoding
Many thanks to the person who created this font and made it available to be freely distributed.
2. Install the MICR Font
First, make sure that you downloaded the .zip file in step 1 to the IIS server that is hosting your Acumatica instance.
If you open the .zip file, you will find a file called micrenc.ttf
Just double-click on the micrenc.ttf file
Then click the Install button
The MICR Encoding Regular font should automatically get installed to the Fonts folder on the IIS server.
Since I’m running IIS and Acumatica on my local computer and my computer is running Windows 10, the fonts folder is located here:
The Fonts folder might be in a different location in a Windows Server operating system (I’m not really sure). If you know and wouldn’t mind leaving a comment below, that would be awesome!
3. Maybe some extra steps
I’m not sure if this is always needed, but on my computer I had to do an extra step in order to actually use the font.
I had to right-click on the MICR Encoding font, click Properties, check Unblock, then click OK
You might also need to reboot (thanks Windows).
4. Add field to the Check
Now you’re ready to use the font by referencing it in Report Designer on the Check form.
Open the check form in Report Designer. I’m using AP640500.rpx in this example.
I’m using the MICR format mentioned over on http://www.check-routing-number.com where I got this picture from:
You can see that there are some funny characters in the picture above, but MICR allows me to enter some “normal” characters and it will take care of turning them into funny characters for me.
I used this webpage to get the following picture so I could know what “normal” characters to use:
I’m adding a TextBox to the AP640500.rpx report and formatting it according to the two pictures above.
I’m going to be lazy and manually type in some numbers:
- Routing Number: 044000037 (happens to be the Routing Number for Chase Bank)
- Account Number: 1234567 (I made this up, creative huh?)
- Check Number: 1234 (more brilliant creativity!)
In the “real world”, you would likely pull this information from the Cash Account in the Acumatica database so it could dynamically work for any bank account in Acumatica. But I’m being lazy here and typing it manually.
Anyways, here is what my field looks like when I pull the 3 pieces of information together, including the characters that MICR will turn into the “funny characters”. I’m not 100% if there should be two spaces between each segment, but that’s what I’m using here two make the three segments stand out from each other.
Then, just change the font to the MICR Encoding font that we installed earlier. I also made it bigger (20px) so we will be able to see it better.
5. Use PDF with Embedded Fonts
Now we need to tell Report Designer to open the Check in PDF by default and to embed our MICR font within the PDF file.
Acumatica reports (including forms like Purchase Orders, Invoices, Checks, etc.) can display in HTML or PDF. PDF gives you better control so I recommend it in general for things like Checks where you need to place fields in precise locations.
Now, with MICR, we have no choice but to use PDF because we need to embed the MICR font within the PDF file since we have no idea if the user will have the MICR font installed on their computer (they probably won’t).
In the screenshot below, the ViewPdf setting is telling Acumatica to render the Check in PDF by default and the PdfFontEmbedded setting is telling Acumatica and the IIS server to embed our MICR Encoding font within the PDF file itself.
By using the PdfFontEmbedded option, we ensure that the font only needs to be installed on the IIS server, not on every Acumatica user’s workstation.
6. You’re Done!
Now we can save the AP640500.rpx report definition and print a check to see what it looks like:
What I just showed was the out-of-the-box way to do things.
If you want a “smoother” way, checkout MaxQ Technologies.
I left out an important piece above: how to make the Bank Routing and Bank Account numbers dynamic. If you want to learn how to do that, checkout this post from Martin & Associates.