Enable Remote Access to QuickBooks
An easy-to-use tool enabling developers to access QuickBooks data remotely.
The 4D Connector (aka Remote Connector) makes it easy for applications to connect to local and remote instances of QuickBooks. The application is commonly used by developers to connect with QuickBooks from remote machines.Download Documentation
FEATURES OF THE 4D CONNECTOR
Easy-to-use Remote Access for QuickBooks
The 4D connector includes a host of powerful features for easily enabling secure remote access to QuickBooks from other Apps. Best of all, it’s FREE!
An easy-to-use web-based proxy for servicing requests between Apps and QuickBooks Desktop & Server.
USE STANDARD TOOLING
Works with any tool, application, or component that can send and/or receive QBXML.
Secure communications enabled through strong SSL/TLS security & Digital Certificates.
MULTI-USER ACCESS CONTROL
Straightforward user-level access controls with fine-grained control of access and permissions.
Advanced connection logging capabilites with configurable output verbosity.
Completely FREE to download & use. Want to distribute with your application? Contact us for licensing.
HOW IT WORKS
Using the 4D Connector (aka Remote Connector) is easy. To get started:
- Install 4D Connector on the machine where QuickBooks is installed.
- Open the Company File you want to connect to in QuickBooks using an administrator account in single-user mode.
Open 4D Connector from the system tray and add a user on the Users tab. Enter a User and Password and select the level of access in the Data Access menu. By default QuickBooks connects to the currently open company file. If you want to access QuickBooks when QuickBooks is not running, specify a path to the company file you want to access.
Note: The 4D Connector does not use the User and Password properties to access QuickBooks; the User and Password properties authenticate the user to 4D Connector. Authentication to QuickBooks is handled based on the Application Name property.
- When you first connect, a dialog will appear in QuickBooks prompting you to authorize the application.
That’s all there is to it. Once you have the 4D Connector running, it will create a web entry-point to service remote QuickBooks requests.
4D QuickBooks Integrator
Connect to QuickBooks from:
The 4D QuickBooks Integrator Components support connectivity with the 4D Connector. To use 4D Connector you simply need to set the QBConnectionString property of any of the controls.
controlname.QBConnectionString = "URL='http://www.foo.com:8166' User='Foo' Password='Bar'"
This will instruct the control to direct its request to 4D Connector instead of the local instance of Quickbooks.
More information about using the 4D QuickBooks Integrator is available online, at 4D QuickBooks Integrator
There are no additional costs for using 4D Connector with any of the 4D QuickBooks Integrator components.
QuickBooks SDK via QBXML
4D Connector hosts a lightweight webserver when launched. This server accepts incoming HTTP POSTs containing QBXML as the body and executes the QBXML directly with QuickBooks. The QBXML response is returned in the HTTP response body.
To issue a request to QuickBooks through 4D Connector, first define a user in the 4D Connector and define permissions. The HTTP POST must use Basic authorization to authenticate to 4D Connector. The body of the POST must be the fully formed QBXML that adheres to the Intuit specifications.
For example, assuming the 4D Connector is running on localhost, port 8166, you could issue an HTTP post similar to the following:
POST / HTTP/1.1 Host: localhost:8166 Authorization: Basic dGVzdDI6dGVzdDI= Accept-Encoding: gzip, deflate Connection: close Content-Length: 166 <?xml version="1.0" ?> <?qbxml version="3.0"?> <QBXML><QBXMLMsgsRq onError="stopOnError"><CustomerQueryRq><OwnerID>0</OwnerID></CustomerQueryRq></QBXMLMsgsRq></QBXML>
After QuickBooks processes the QBXML the server will respond to the POST with the QBXML returned by QuickBooks in the body:
HTTP/1.0 200 OK Content-Type: text/plain X-AcctSyncConnectorVersion: 2.0 Content-Length: 755 <?xml version="1.0" ?> <QBXML> <QBXMLMsgsRs> <CustomerQueryRs statusCode="0" statusSeverity="Info" statusMessage="Status OK"> <CustomerRet> ... </QBXML>
More information about using the QuickBooks SDK and QBXML is available on the Intuit site at Download and install the Desktop SDK