Troubleshoot QuickBooks Errors
In this entry you will find resolutions for the most common issues that can occur while connecting to QuickBooks.
Date Entered: 9/15/2014 Last Updated: 9/15/2014
In this article you will find typical scenarios for using the CData data providers with QuickBooks and how to resolve the most common error messages.
Below you will find procedures to resolve the most common errors encountered when accessing the company file.
401: Authorization Required
This error typically occurs when the Remote Connector does not have permissions to write the user/password to the RemoteConnector.ini configuration file. One solution is to log in to your machine as an administrator and change the permissions for the RemoteConnector folder located in the installation directory.
Alternatively, you can follow the procedure below:
- Copy the RemoteConnector folder from the installation directory to a location where you have read/write permissions.
- Set the Location connection property to this path when you connect from your application.
If the Remote Connector is running, you may need to restart the RemoteConnector.exe process or the RemoteConnectorService.exe service before the changed connection settings will take effect.
Automatic login access denied or Access denied
- If this error occurs the first time that you connect to a company file, ensure that QuickBooks is open as an administrator in single-user mode. Be sure to open the company file that you want to allow access to.
- The application may have permission to access the company file but not to log in automatically. To allow automatic login, open the company file preferences in QuickBooks by clicking Edit -> Preferences -> Integrated Applications -> Company Preferences and then select the Remote Connector application. Then, try connecting again.
- In the company file preferences, ensure that the following option is NOT checked: "Don't allow any applications to access this company file".
Unable to find the QuickBooks Request Processor on your system
- Make sure that QuickBooks is installed on the machine that you are connecting to. The process QBW32.exe is required. You may get this error if only the database management tool is installed.
- This error can result if multiple instances of QuickBooks are installed on the same machine. In this case you will need to connect after opening the instance of QuickBooks that you need.
Could not start QuickBooks
This is the most common error and the solution depends on your specific QuickBooks installation. Follow the steps below to identify several typical causes for this error.
To resolve this error, you will need the information in the log for the QuickBooks request processor, QBSDKLOG.txt. The file will not necessarily be in the same directory as QuickBooks. The location of the file will depend on the version of QuickBooks and the operating system you are using. The qbsdklog.txt may be in the following locations:
- C:\Program Files\Common Files\Intuit\QuickBooks
- C:\Documents and Settings\All Users\Intuit\QuickBooks
Modify the QBSDK.INI file by appending the following value to the end:
[LOG] LEVEL=verbose UnlimitedSize=Y
This should ensure that the log is not cleared and that the error message in the QBSDKLOG.txt is actually captured.
Check if the error message in this file matches one of those below:
Is your company file on a mapped drive? If so, the QBSDKLOG will contain entries similar to the ones below:
20140623.102658 E 5136 RequestProcessor Unknown QBInstanceFinder error. File Name: "S:\Quickbooks\MyCompanyFile.qbw" hr = 80070057
20140623.102658 E 5136 RequestProcessor Could not find or create an instance of QuickBooks using InstanceFinder hr = 80040403
The solution is to use the network path instead of a mapped drive.
Does the QBSDKLOG contain many error messages like the one below?
20140612.145409 I 272 RequestProcessor Previous instance of QB is going down..! Wait and retry to get a new instance.
This error can occur if a request is received to start a new QuickBooks instance while the previous QuickBooks instance is closing. Repeated connections to QuickBooks in short succession can cause abnormal behavior. Limit the number of connections to QuickBooks and use only the Remote Connector process, if possible.
You can reuse the same connection for multiple requests by enabling persistent connections on the Other tab in the Remote Connector and then setting the QBXML property in the connection string.
In addition to enabling persistent connections, you can use the following properties to have more control over starting and stopping the QuickBooks process. When enabled, the Remote Connector will take steps to resolve connection issues if the conditions below are met. In some scenarios, the Remote Connector may forcibly end the QuickBooks process.
USE THESE SETTINGS WITH CAUTION:
- CloseAndRetryConnect: Boolean with a default of 'false'. If set to true, the Remote Connector will attempt to close the QuickBooks process if an error is encountered when the Remote Connector attempts to launch a new instance of QuickBooks. All other settings are only applicable when this setting is set to true.
- CloseAndRetryCount: Integer with a default of 3. The number of times to try to close and relaunch QuickBooks. Our developers found that 3 worked in all cases we encountered.
- CloseAndRetryTimeout: Integer with a default of 30. The number of seconds to wait for the current QuickBooks process to close before trying to connect again.
- CloseAndRetryErrorList: Comma-separated list of error codes with a default of '0x80040408,0x80040402'. Specifies a list of error codes that will cause the Remote Connector to try and forcibly end the QuickBooks process. A value of '*' means all errors. It is not recommended that you change this property unless you have a very specific reason to do so.
You can set each of these properties as a 'name=value' pair on its own line under the [options] section of the RemoteConnectorService.ini file. In most situations, only CloseAndRetryConnect will need to be set the True. For example:
[options] Port=2080 CloseAndRetryConnect=True CloseAndRetryTimeout=60
You will need to save your changes and restart the Remote Connector for the changes to take effect.
EnumProcessModulesEx could not be located
This error comes from QuickBooks - not the data provider. It means that the operating system is not supported. Newer versions of QuickBooks require Windows Vista or later for desktop systems and Windows 2008 Server or later for servers. One possible solution is listed in this thread on Stack Exchange.
We appreciate your feedback. If you have any questions, comments, or suggestions about this entry, please contact our support team at firstname.lastname@example.org.