FEATURES OF THE 4D PAYMENTS QUICKBOOKS GATEWAY
Easy-to-use Remote Access for QuickBooks
The 4D Payments QuickBooks Gateway 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 Payments QuickBooks Gateway (aka Remote Connector) is easy. To get started:
- Install 4D Payments QuickBooks Gateway 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 Payments QuickBooks Gateway 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 Payments QuickBooks Gateway does not use the User and Password properties to access QuickBooks; the User and Password properties authenticate the user to 4D Payments QuickBooks Gateway. 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 Payments QuickBooks Gateway running, it will create a web entry-point to service remote QuickBooks requests.
4D Payments Components
4D Accounting SDK
Connect to QuickBooks from:
The 4D Accounting SDK Components support connectivity with the 4D Payments QuickBooks Gateway. To use 4D Payments QuickBooks Gateway 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 Payments QuickBooks Gateway instead of the local instance of Quickbooks.
More information about using the 4D Accounting SDK is available online, at 4D Accounting SDK
There are no additional costs for using 4D Payments QuickBooks Gateway with any of the 4D Accounting SDK components.
QuickBooks SDK via QBXML
4D Payments QuickBooks Gateway 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 Payments QuickBooks Gateway, first define a user in the 4D Payments QuickBooks Gateway and define permissions. The HTTP POST must use Basic authorization to authenticate to 4D Payments QuickBooks Gateway. The body of the POST must be the fully formed QBXML that adheres to the Intuit specifications.
For example, assuming the 4D Payments QuickBooks Gateway 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