Overview - QuickBooks
QXchange is a powerful data integration tool to access, integrate and manage large volumes of data from various systems. Extraction, transformation and loading of data are powered by QXchange with source and target database support.
QXchange helps organizations to bond together all enterprise data and ensures accuracy of data in a timely manner. QXchange is a simple stand-alone application that can be used by novice users at ease.
QXchange is flexible, easy to use, data integration software. It can quickly and easily transfer data between many standard data formats and applications, including MS Access, Excel, Comma delimited flat file, MS SQL Server, QuickBooks, Salesforce.com and others. It allows simple and clear setup of extraction, transformation and loading instructions to exchange data between different formats. The instructions are stored and managed as profiles.
QuickBooks is the most popular accounting software used by small and mid-sized businesses in the world today. There are more than 3 million customers of QuickBooks. QuickBooks is available in many countries and configured for many industries.
Intuit, supplies the QuickBooks SDK (Software Development Kit) to allow third party products to work with QuickBooks. The SDK ensures that
- the business sets up the permissions for third-party software access to the data
- provides strong error recovery and data logging to make sure data is protected
- provides standardization across various versions of QuickBooks
We are able to support the following versions of QuickBooks: US Editions of QuickBooks 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 and 2014 (Pro, Premier and Accountant Editions), QuickBooks Enterprise Solutions 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0 and 14.0 - US, Canadian and UK Editions.
Authentication and Authorization
QXchange uses a digital certificate to identify itself while communicating through the QuickBooks SDK. The application and certificate information is presented to the QuickBooks administrative user to allow access to the QXchange application.
The first time QXchange connects to QuickBooks, the user should have QuickBooks up and running and should be logged in with administrative authority. The administrator allows further use of QXchange as well as permissions to access certain types of data such as, Personal and Payroll Data.
Data Access Plug-in
QXchange integration engine uses Data Access Plug-ins (DAPs) for individual application and data format integration. All the DAPs are called using a standard Application Program Interface (API). The QuickBooks SDK is wrapped inside one of these DAPs. This allows for a smooth and standard operation across all the various DAPs.
Communication between QXchange and QuickBooks is based on a client/server model. All communication messages are in a special form XML called QBXML as required by the SDK. QXchange sends a message request to QuickBooks and QuickBooks sends back a response message; the communication managed synchronously.
The QuickBooks SDK exposes most (but not all) of the data objects available in the QuickBooks data file. The various objects available are listed here.
The following lists are available for access:
|Entity Lists||Customer, Customer Job, Vendor|
|Item Lists||Item Inventory, Item Non-inventory, Item Inventory Assembly (Premier Edition and above), Item Service, Item Discount, Item Other Charge|
|Simple Lists||Sales Rep, Price Level|
Transaction objects correspond to the basic accounting entities in a business. Adding a transaction object (except a non-posting transaction object) affects the account balance of the business. The following types of transactions are supported:
|Accounts Receivable Transactions||Invoice, Credit Memo, Receive Payment|
Accounts Payable Transactions:
|Vendor Credit, Bill, Bill Payment Check, Bill Payment Credit Card|
|Non-Posting Transactions:||Purchase Order, Estimate, Sales Order (US Premier Edition and above)|
|Bank Transactions and Sales Receipts:||Check, Deposit, Sales Receipt|
|Other Transactions:||Journal Entry|
The QXchange engine works the same for all different DAPs. Every data transfer is set up as a profile, with a source and target data file, which can be of different data formats. Data transfer between specific objects and the mapping of source to target fields are also set up in the profile. The profile can be executed directly or can be scheduled to be executed later. The process can be run on a local desktop or on a server.
QuickBooks can be defined as source data and the various objects can be accessed. Field level data from the objects can be extracted and mapped to destination objects and fields in different data formats. Data from multiple objects can be extracted. Multiple profiles can be set up to extract data from various objects.
Source data can also be filtered using various expressions. Prior to executing extract the source data can be viewed to make sure the right records are getting selected.
QuickBooks can be defined as target data and the various objects can be updated. Data can be updated to multiple objects. In some cases update may have to affect multiple data objects at the same time, for example: Invoice Header and Line.
Data can be updated in various modes: Insert, Update and Upsert. Insert expects the record being updated to be new and unique. Update expects the record to already exist. Upsert, tries to insert first and if that fails tries to update.
The QXchange ability to integrate QuickBooks allows many uses. Certain limitations in QuickBooks reporting can be exceeded with this tool. Fields such as “Paid Date” on invoice are normally not available to reporting tools. Fields such as internal keys and last modified date/time are also not available directly. Using QXchange, you can access to those fields. This allows many different scenarios:
- Extract paid invoices in the last month into Excel
- Extract customer information with company names starting with “A”
- Make a copy of all available QuickBooks data in an Access Databases, for use in reporting
- Insert spreadsheet invoice data sent from branch offices into QuickBooks
- Extract Opportunities from Salesforce.com and create Customer Jobs and Sales orders in QuickBooks.
- Extract Accounts from Salesforce.com and create Customers in QuickBooks.
- Extract Invoices from QuickBooks and update opportunities in Salesforce.com
- Get orders entered from an online e-commerce system and load them into QuickBooks as Sales Orders and Invoices.
- Get customer data entered online and create Customers in QuickBooks.
- Get vendor data entered online and create Vendors in QuickBooks.
QXchange does a tremendous job, understanding the intricacies of the QuickBooks data structure as well as the complications inherent in the data integration process. With this ability and its ease of use, it allows users to make more effective use of their QuickBooks Data.
CellarStone, Inc. is a Gold level development partner with Intuit.
To learn more about QXchange, fill out information at the Inquiry link.
“The QXchange product was able to take care of my integration needs right out of the box. And the QXchange team solved all the other usual data issues that come up in such a project, very quickly. They worked very closely with me and solved every issue. I am very happy I found QXchange.”
- Rich Bartels. Goose Island Corporation