[September 24, 2001] Intuit's QuickBooks Extensible Markup Language (qbXML) is a language "at the core of a new framework that allows electronic exchange, creation and management of accounting and other business data." Following the design maxim "Never Enter Data Twice (NED2)," Intuit is constructing the XML specification for third-party applications to use to exchange data with QuickBooks. "Data integration will be supported with both Web applications and Windows desktop applications. With qbXML, software developers will be empowered to build specialized vertical applications and horizontal productivity applications that mine, enrich and share this data. Businesses stand to benefit by gaining maximum leverage of their most critical data." A draft version of the QuickBooks XML specification was made available on the company web site in June 2001. A pre-release, open version of QuickBooks has been made available to participants in the QuickBooks SDK Beta program. The next major release of the US version of QuickBooks, QuickBooks 2002, will be accessible through the qbXML API, and is expected to be released in late fall 2001.
From the overview document 2001-02:
Application Types: "Virtually any application can use qbXML. Desktop applications can use it to interact directly with QuickBooks. Web applications can use framework services to interact with QuickBooks. qbXML allows multiple requests to be batched together in one qbXML transaction. This option enhances the efficiency and performance of applications and suits certain batch-oriented applications well. The qbXML developer sets an option flag to determine how processing errors in batch requests should be handled. With one option, the batch processing is halted and the appropriate data and status information is returned in the response. With the other option, processing of the remaining requests continues and the appropriate data and status information is returned."
Applications: "A desktop application can interact with QuickBooks directly using qbXML. It must first build a qbXML request, or batch of requests, adhering to the syntax defined in the qbXML DTDs. Next, it must pass the qbXML request to QuickBooks by means of a Microsoft Component Object Model, or COM, interface supplied by the framework. This COM interface is a very simple and light interface that only requires three parameters: business designator, qbXML request (input) and qbXML response (output)... Web applications build qbXML requests the same way desktop applications do. These applications can then take advantage of the framework's Web-based intermediary services and its support of HTTP. Requests are processed immediately on the server and the response returned to the application. Subsequently, the QuickBooks user synchronizes QuickBooks records with data on the server."
qbXML 0.6 data objects and the operations supported by them: Account, Non-Inventory Item, Sales Receipt, Customer, Other Charge Item, Credit Memo, Employee, Discount, Purchase Order, Vendor, Payment, Check, Job, Sales Tax, Credit Card, Terms, Invoice, Vendor Credit, Service Item, Receive Payment, Bill, Inventory Item, Estimate, Journal Entry.
[September 20, 2001] QuickBooks SDK Beta Program: " The QuickBooks SDK Beta Program is underway with about 40 members, who are working with a pre-release copy of QuickBooks compatible with the qbXML API. As this is the first launch of an API-accessible version of QuickBooks, we are intentionally keeping the SDK beta program quite small. This will enable us to work very closely with and learn from beta participants, and to focus on building the organization necessary to support a high quality QuickBooks SDK. Due to the program's small size, we were forced to turn away many highly-qualified developers. The QuickBooks SDK is expected to be released later [in 2001]; we encourage developers not participating in the SDK Beta Program to register to receive the latest information and updates."
References:
- Intuit Developer Network
- "Introducing qbXML. Enabling Software Developers to Harness the Power of Data." qbXML Whitepaper/overview. From Intuit. February, 2001. 5 pages. Based on qbXML version 0.6. [cache]
- QuickBooks API documentation
- qbXML version 0.8 June 19, 2001. .ZIP archive. [cache]
- qbXML DTD for datatypes [cache, alt format]
- qbXML DTD for operations on datatypes [cache, alt format]
- QuickBooks FAQ document
- QuickBooks SDK Beta program
- "Intuit Opens APIs For QuickBooks Products. New Initiative To Help Developers Profit From Small Business Channel." Announcement February 12, 2001. "Intuit Inc. has launched the Intuit Developer Network, a multi-faceted new initiative that includes access to application programming interfaces (APIs) and a channel available to millions of small businesses. The goal of the network is to allow developers to profit from a direct channel and integration with the business management tools that small businesses use everyday. The network is launching with more than 50 registered developers, many of whom provided input into the program at a developer summit in December 2000..."
- Overview of Intuit's QBXML format For General Ledger Data. August 22, 2001 or later. From the ArapXML consortium. "QBXML consists of two schemas- roughly speaking, one is for data structures and the other is for actions. The schemas match the functionality of Quickbooks, the leading desktop accounting software in US. Accordingly, QBXML is fairly complex. The GL portion of QBXML is relatively small. The GL is a classic double entry (CDEA) header/rows structure and has interesting innovations. TimeModified and EditSequence as core elements of a Journal entry are innovative. DebitAmount and CreditAmount as subclasses of the AMTTYPE which is evidently the currency type. Interestingly the QBXML EntityRef appears to represent party in particular Roles, rather than a pure party reference. The ClassRef attribute is a general purpose, user-defined attribute used pervasively throughout Quickbooks for categorizing income and expense..."
- QBooks Office Transactions. Summarized on DataBlox.
- "Giza's Corner: Creating a Simple QuickBooks SDK Application." By Jim Giza. August 27, 2001. "...The application we're building is a file system browser which permits the user to select a QB company file as well as an XML file, in qbXML format, to be processed by QuickBooks. When the user hits GO, QuickBooks will process the input file and produce a qbXML output stream to be displayed. This particular application might come in handy when you're constructing your own app-specific qbXML and are looking for a quick way to see if it's acceptable to QuickBooks..."
- "qbXML and MSXML Document Object Model (DOM)." By Mehul Shah and Jim Giza. 9.27.2001. "In this article we present one possible way in which you may wish to generate and parse your qbXML documents. The DOM implementation in the Microsoft XML Parser (MSXML) allows you to load or create a document; gather errors, if any; access and manipulate the information and structures contained within the document; and save the document back out to an XML file, if necessary. The examples below were tested using MSXML 4.0 Web Release 1: Parser and SDK dated 12-April-2001. You can locate this package by searching for Product Name 'XML' at http://www.microsoft.com/downloads/search.asp.
- See also "Tax Information Group for ECommerce Requirements Standardization (TIGERS)."
- See also TaxML
- See also [SGML and] IRS (US Internal Revenue Service)