ADO.NET Provider for QuickBooks

Build 24.0.9060

Troubleshooting/Advanced

The following sections show how to resolve common connection errors and detail functionality that may be needed in more advanced integrations. Contact the support team for help tracing the source of an error or circumventing a performance issue.

Troubleshooting

Automatic Login Access Denied or Access Denied

Try the following to resolve this error:

  • 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 QuickBooks Gateway 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".
  • Set DelayAfterClose.

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.

  1. Check the log for the QuickBooks request processor, QBSDKLOG.txt. The file is not necessarily in the same directory as QuickBooks. The location of the file depends 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:\ProgramData\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 ensures that the log is not cleared and that the error message in the QBSDKLOG.txt file is actually captured.

  2. 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. You can set DelayAfterClose to wait before a new connection is opened.

    You can also reuse the same connection for multiple requests by enabling persistent connections on the Advanced tab in the QuickBooks Gateway and then setting the QBXMLVersion property in the connection string.

    In addition to enabling persistent connections, you can use the following QuickBooks Gateway settings to have more control over starting and stopping the QuickBooks process. When enabled, the QuickBooks Gateway will take steps to resolve connection issues if the conditions below are met. In some scenarios, the QuickBooks Gateway may forcibly end the QuickBooks process.

    USE THESE SETTINGS WITH CAUTION:

    CloseAndRetryConnect: Boolean with a default of 'false'. If set to true, the QuickBooks Gateway will attempt to close the QuickBooks process if an error is encountered when the QuickBooks Gateway 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 QuickBooks Gateway 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 registry keys in HKEY_LOCAL_MACHINE\SOFTWARE\RemoteConnector. In most situations, only CloseAndRetryConnect needs to be set the True.

    Restart the QuickBooks Gateway for the changes to take effect.

Fine Tuning Data Access

You can use the following properties to gain more granular control over how the provider surfaces functionality in the QuickBooks API:

  • CustomFieldMode: By default, custom fields are displayed and modified as XML values. However, you can also use JSON to work with custom fields.
  • IncludeLineItems: By default, line items are returned only when you query a line item table such as InvoiceLineItems. This saves performance when querying base transaction tables such as Invoices. Set this property to true to retrieve line item data when you query the base transaction table.
  • IncludeLinkedTxns: By default, the provider does not retrieve linked transactions when you query a base table, similar to IncludeLineItems.

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9060