Another article on
I’ve written many articles about QuickBooks and PDF drivers over the years, because it tends to be one of the more frustrating aspects of the program. QuickBooks (Windows desktop versions) use a “printer driver” approach to creating PDF files, which tends to create problems in many Windows installations. The program prints to a special printer driver that turns the data into a printed format, and then that printed format is transformed into a PDF file. It could be done differently, using just internal PDF export routines (Amyuni has routines for this, as do other software developers), but this approach is so widely used in QuickBooks code that it probably would be a lot of work to switch to something that is easier to support. I wish they used a different approach, but at this stage I doubt that they’ll make changes.
So, let’s talk about the “history” of QuickBooks and PDF drivers, about the odd “two driver” issue in QuickBooks 2013, and some information about how to resolve these problems.
The Sad History of QuickBooks and PDF Drivers (abridged)
In QuickBooks 2010 and older, Intuit was printing directly to a PDF driver from a company called Amyuni. This driver was very sensitive to operating system configuration issues, and often had problems with 64 bit computer systems. This is the nature of printer drivers in Microsoft Windows – all drivers like this tend to be affected by many different factors outside the control of the software. A lot of the fixes to PDF problems that are being implemented for these versions of QuickBooks involve configuring the driver and the printer ports that it is using.
Starting with QuickBooks 2011, Intuit switched over to a new approach where the program would send the data to the Microsoft XPS Document Writer, which in turn would send the data to an internal Amyuni API for conversion to a PDF file. Now the XPS driver is the “printer driver” that interfaces with Windows, which shifts the burden from Amyuni to the Microsoft driver. This should help avoid a lot of the issues that we saw with the older approach, and it was more likely to work smoothly, but not always. QuickBooks expects the XPS driver to be configured a particular way, and if it isn’t then there are problems.
QuickBooks 2013 introduced a bit of confusion for me at first – we could see another driver, the “ABS PDF Driver”. But it wasn’t being used? I could erase it and still export transactions to PDF! And if you dug in, you saw that it was the Amyuni driver again? But the XPS driver was still being used. This was confusing – why two drivers?
Understanding the Two Drivers in QuickBooks 2013
After I wrote one of my recent articles on this subject, I received a call from Dany Amiouny, President and CTO of Amyuni. We had a long discussion about PDF Drivers and QuickBooks, and he cleared up some confusion I had on this subject.
The Amyuni PDF drivers have been on the market for about 15 years now, and they are updated regularly with each version of Windows. Both QuickBooks and Quicken use one version or another of their product.
As I mentioned above, when you use the “printer driver” approach, as Intuit does, you are subject to the whims and vagaries of the many variations of Microsoft Windows, which makes things very complicated. The printer driver being used by Intuit is the portion that interface with Microsoft Windows, and is therefore subject to all of these variables. This means that if you are having problems with creating a PDF file from QuickBooks:
- Prior to 2011 you need to tweak the Amyuni PDF printer driver to resolve problems.
- From 2011 on you need to tweak the Microsoft XPS printer driver to resolve problems.
So, why is there a second driver installed with QuickBooks 2013 – the “ABS PDF Driver”, which under the hood is the old Amyuni driver? This driver is required by one component of QuickBooks that is developed by a third party – the Business Plan Tool. The version of this ancillary product that is built in to QuickBooks still uses the older Amyuni driver, it hasn’t been updated to use the new Microsoft XPS driver / Amyuni internal API approach that QuickBooks itself uses.
Therefore, if you are trying to resolve PDF issues with QuickBooks 2013, don’t bother looking at the “ABS PDF Driver” or doing any of the fixes we normally associate with the Amyuni drivers, unless you are specifically working with the Business Plan Tool.
What Is The Business Plan Tool?
I have to admit, this is a feature in QuickBooks that I’ve never really looked at. It’s found in the Company/Planning and Budgeting menu. For a short description of it see Scott Gregory’s summary article.
The tool was created by Atlas Business Solutions (get it – “ABS” driver?), and they market an enhanced version of the business planner that I have not reviewed (there is only one review of it in the Intuit Marketplace from 2003).
If you try to save a business plan as a PDF in the 2011 and 2012 versions of QuickBooks (which only installs the XPS driver) you will find that you can’t – the Preview button is always grayed out. This is why Intuit brought back that driver in QuickBooks 2013, just for this one add-on product. Intuit has a KB article on how to fix this problem in the 2011 and 2012 products.
No, Another PDF Printer Driver Won’t Fix This
Many times I see people say that the way to fix a QuickBooks PDF problem is to get an alternate PDF driver (such as Adobe Acrobat, or the free CutePDF driver) and just print your forms using that. While this may be a workaround for some situations, it is not a complete fix. Why?
- QuickBooks stores a PDF copy of your bank reconciliation reports to the database. You can’t do that directly with another PDF driver, and if you have a problem you may be getting an error message with each reconciliation.
- If you are sending forms (like invoices) via email, QuickBooks is more efficient if the PDF system is working properly. You just click on “send” and the email is created with the PDF attachment, using the email address from the customer record. If you are using an added external PDF printer driver that isn’t integrated with QuickBooks specifically you have to save the form as a PDF, then create the email, then find and add the customer email address, then attach the PDF. Far too many steps…
Fixing PDF Problems
Here’s a quick rundown on how to fix PDF problems in QuickBooks:
- Make sure you have the most current revision of your year of QuickBooks, as earlier revisions are more likely to have problems. For example, QuickBooks 2013 R6 has at least 7 fixes that directly relate to correcting PDF problems in various circumstances
- Try the the PDF Repair Utility from Intuit, which works through a number of different issues with the various drivers and Windows settings. This works for MOST cases.
- Make sure you have proper access permissions to the “temp” folder in Windows (details for how to do this are in my article on QuickBooks/Windows 8 PDF problems, which has a few additional tips).
- If this is QuickBooks 2011 or older, check the outline below.
- If all else fails, try the Intuit support site for PDF problems, which has some other things to try.
The PDF Repair Utility is updated from time to time, and it runs through a number of common fixes that you may have seen listed in other articles.
Here is an outline that explains what it does for QuickBooks 2011 and later installations, more or less in sequence, as far as I’m aware (no promises that this is entirely accurate, as the tool evolves over time).
- It ends the QB related process running in the background.
- It will rename the QBPrint files (so that QB can create new ones, which gets away from many printing-related issues).
- MSXML4 & MSXML6 DLL’s are un-registered, then re-registered (MSXML is Microsoft XML Core Services, a collection of tools used in programming with Microsoft tools).
- The Windows Print Spooler is stopped.
- Temporary print spooler files are deleted. This clears out any files that got stuck in the print queue.
- The Windows Print Spooler is restarted.
- Reboot.bat is run (re-registers a long list of QuickBooks components)
From this point on, the steps depend on the version of QuickBooks you are using. - For Windows XP , Vista and 7: Adds the XPS printer driver with the XPSPort.
- For Windows 8: Adds the XPS printer driver with the PORTPROMPT port.
For pre-2011 versions the utility will do the first seven steps above, plus:
- Rename (thereby removing from use) the Amyuni 300 and 400 DLL’s.
- Remove the Amyuni registry values.
- Remove the QuickBooks PDF Converter printer drivers and reinstall them.
- Looks to see if this is a 64 bit version of Windows, and if so it fixes an issue that relates to Microsoft Office OneNote and how it interferes with the PDF system.
Amyuni’s Check List
Although they don’t have to, the Amyuni technical support staff have been trying to provide support to QuickBooks customers who contact them with problems. The company has pride in their product and they want to see that it works for people, even though QuickBooks customers don’t buy it directly from them. Here is a slightly modified version of the checklist that Amyuni support uses (with thanks to Dany Amiouny). These apply to QuickBooks versions older than 2012.
- Check the version number of Quickbooks:
- Quickbooks 2010 -> “Quickbooks PDF Printer” or “Quickbooks PDF Printer v2”. This is version 3.0 of Amyuni Document Converter
- Quickbooks 2011 -> “Quickbooks PDF Printer v3”. This is version 4.0.0.7 of Amyuni Document Converter
- Quickbooks 2012 -> No PDF printer installed. The Amyuni library is hidden behind the Microsoft XPS Printer driver. Redirect user to Intuit customer support.
- Quickbooks 2013 -> ABS PDF Printer installed. Not used for sending emails or converting invoices to PDF. Our library is hidden behind the Microsoft XPS Printer driver. Redirect user to Intuit customer support.
- Check the Operating System version, determine if it is 32 or 64-bit.
- Open the printers’ panel, check that the printer is installed. Check the port to which the printer is attached.
Symptom 1: Quickbooks hangs when saving an invoice to PDF
- 64-bit Operating System: The printer should be attached to a port named “NUL:”, in general this is done automatically upon installation. Microsoft Office 2007 and later create a lower-case “nul:” port which prevents our installer from creating a NUL: port.
- Attach the Quickbooks PDF printer to the nul: port created by Office
- Remove any pending print jobs from all printers
- Delete any 0KB PDF file that might be found in the output folder
- If the 0KB file cannot be deleted, the spooler has to be restarted (“net stop spooler”, “net start spooler”) or the system rebooted
- 32-bit Operating system or the 64-bit resolution doesn’t work: We need to check where the output file is going. Open Regedit, go to HKEY_CURRENT_CONFIG\Software\Quickbooks PDF Printer. Check the registry values for “File Name” and “GeneratedFile”.
- Make sure the user has access to the file indicated by “File Name”
- If the file already exists, delete it
- If the file cannot be deleted, the spooler has to be restarted (“net stop spooler”, “net start spooler”) or the system rebooted
- Remove any pending print jobs from all printers
Symptom 2: Error code -20 when saving an invoice to PDF
- Problem started to occur after the user upgraded their version of Windows or Quickbooks (shouldn’t happen on a clean installation.)
- You need to fix the security settings on the registry. Follow the instructions outlined in this Amyuni Support Document
Symptom 3: Error code -30 when saving an invoice to PDF
- User might not have full access to the registry
- You need to fix the security settings on the registry. Follow the instructions outlined in this Amyuni Support Document
- Quickbooks 2011 using version 4.0.0.7 of Amyuni Document Converter. Problem occurs if user has other applications installed that also use the Amyuni Document Converter.
- Remove any pending print jobs from all printers
- Close Quickbooks and reboot the system to make sure printer driver is cleared from memory (this is optional by recommended)
- Update the Quickbooks PDF printer to 4.0.1.2 through Windows update
- Check that the right printer driver version shows in the About box of the printer
- Copy the CDintf400.dll from c:\windows\system32\spool\drivers\x86\3 to the Intuit Quickbooks folder under Program Files
Symptom 3: Error code -41 when saving an invoice to PDF
- This is an indication that the version of Quickbooks does not match the version of the PDF printer driver
- Close Quickbooks and reboot the system to make sure printer driver is cleared from memory (this is optional by recommended)
- Quickbooks 2010: Update the Quickbooks PDF printer to version 3.0.x.x through Windows update
- Quickbooks 2011: Update the Quickbooks PDF printer to version 4.0.1.2 through Windows update