Friday, June 23, 2006

Quickbooks Receivables Document Types Added

We have now loaded the following receivables document types as webservice methods to the Is2 QB Xml Server:

1. Invoice
2. SalesReceipt
3. SalesOrder
4. Estimate
5. ReceivePayment
6. CreditMemo

In the next week we will work on the remaining receivables documents. Then we will begin payables documents.

Thursday, June 22, 2006

Quickbooks Item Types Added To Webservice Methods

We have now completed adding additional Item types to the Is2 Xml Soap Server for Quickbooks.

The following Item types were added yesterday:
1. ItemDiscount
2. ItemInventory
3. ItemNonInventory
4. ItemOtherCharge
5. ItemPayment
6. ItemSalesTax
7. ItemService

We will soon add these remaining Item types:
1. ItemFixedAsset
2. ItemGroup
3. ItemInventoryAssembly
4. ItemSalesTaxGroup
5. ItemSubtotal

All the webservice methods for the Item types follow similiar call methods and parameters:
Example:
1. ItemService_Add
2. ItemService_Edit
3. ItemService_Delete
4. ItemService_Lookup
5. ItemService_List
6. ItemService_LookupList

We are now working on Document types - invoice, salesreceipt, salesorder.

Tuesday, June 20, 2006

Is2 QB Xml Soap Server begins online test.

Work is progressing well enough to allow the Is2 Qb Standalone xml soap server to be run full time online with our Adobe Flex 2.0 client application. The backend Quickbooks database being used is one of the sample Premier databases.

Screen shot of the standalone server.

Server Parameters include:
1. Service Ip address.
2. Application name.
3. Company file to be accessed.
4. Server port.
5. Version of Qbxml to be used.

Login Parameters include:
1. Http Basic login required - Yes or No. If required, the user name and password.
2. Webservice Method authentication required - Yes or No. If required, user name and password.

Log Settings include:
1. Is logging to be turned on - Yes or No.
2. Allow raw xml requests. This will allow or disallow user defined xml requests.

Screen shot of the Adobe Flex 2.0 client application running a user defined raw xml request

Currently, we have set up the called methods for all areas to be of a similiar fashion to the following:
1. Customer_Add
2. Customer_Edit
3. Customer_Delete
4. Customer_Lookup
5. Customer_List
6. Customer_LookupList

We have the following areas completed as of today:
1. Accounts - Add, Edit, Delete, Lookup, List, LookupList
2. Customers - Add, Edit, Delete, Lookup, List, LookupList
3. Vendors - Add, Edit, Delete, Lookup, List, LookupList
4. Items - Service - Add, Edit, Delete, Lookup, List, LookupList
5. Classes - Add, Delete, Lookup, List, LookupList
6. Customer Types- Add, Delete, Lookup, List, LookupList
7. Vendor Types- Add, Delete, Lookup, List, LookupList
8. Job Types- Add, Delete, Lookup, List, LookupList
9. Terms- Add, Delete, Lookup, List, LookupList
10. Items - Sales Tax Codes - Add, Delete, Lookup, List, LookupList
11. Sales Tax Codes - Add, Delete, Lookup, List, LookupList
12. Payment Methods - Add, Delete, Lookup, List, LookupList
13. Shipper Methods - Add, Delete, Lookup, List, LookupList
14. Sales Reps - Add, Delete, Lookup, List, LookupList

15. Customer Invoices - Add, Edit, Delete, Lookup, List, LookupList

With the completion of all needed lookup list areas and the working model of the customer invoice area, we can now complete out the document areas.

Ideas for the Xml Soap Server for Quickbooks

To make it easier to build applications that access Quickbooks data, a xml soap server will need to be built that could be pointed to any number of company files.

Due to the limitations of the Quickbooks server, only one company file can be accessed at a time.

The Xml Soap server that is needed to provide the webservice methods to Quickbooks thru the Quickbooks Sdk should probably come in several flavors:

1. A standalone version.
2. A Windows service version.
3. A webserver version running as an IIS isapi dll.

The standalone version would be able to show a visual log of requests and responses. That would make it easy to determine qbxml request problems.

All versions should require either or both http basic login and webservice login user name and password. Certificates could be added for added security. Allow a raw user defined xml requests webservice method in addition to the defined webservice methods.

The xml server should allow defining the company file and ports to be used so that multiples of th server could installed which could point to a number of company files and be accessible thru a number of server ports.

At the beginning, only a single login user name and password will be assigned but future development should address allowing a table of users with their security rights to individual webservice methods. Example would be allowing corporate personnel access to customer and vendor files but website entry only allowed to create a new customer invoice and receipt.

To begin the project, the standalone version will be built so that we can see processing results to speed the application development process side.

We will keep in mind that the server should be built for easy installation not by developers only but also endusers when installed with the applications.

Also we will keep in mind that we will be reselling the server component to other developers.

Thursday, June 15, 2006

If you are wanting to build the new Web 2.0 RIA's, then the Adobe FlexBuilder 2 product shows great promise in developing cross-platform applications which will run on Windows, MacIntosh, and Linux. I am absolutely amazed at how easy it makes the development process for creating mashups that can access data from multiple datasources.


I have built a sample application which accesses Quickbooks data live thru webservice calls to our the Is2 QB webservice server that I built to analyze the possibilities of being able to develop Quickbooks interface applications.

You may check out the wsdl for the xml webservice server by clicking here:
http://shop.is2software.com:24000/wsdl.

View the application at http://shop.is2software.com/is2qb/bin/is2qb.html.

( Note: You will need the latest FlashPlayer 9 Beta to run the application. This is available at www.adobe.com in the Labs section. I have found that uninstalling your existing Flashplayer and then installing the Flashplayer 9 is best. ) .

The program demonstrates several capabilities which should intrigue anyone who develops applications with the Quickbooks SDK.


1. Browse accounts, customers, vendor, and service items.
2. Enter new customer, vendor, account, service item.
3. Modify a customer, vendor, account or service item.
4. Enter a new or edit a customer invoice with line items chosen from a item lookup. Lookup customer terms, sales rep, and shipper method. Modify line items. Add new items when editting an invoice.
5. Run a raw xml statement. Make it anything. Host query. Customer query. Add a new account. Anything that is valid.
6. See returned xml message responses for queries, adds, and modifies.

Question? Can the xml webservices be accessed by programs other than a Flex 2 application. Answer: Absolutely. This is a soap server that is returning QBxml responses. We just thought it would be interesting to show it with a web interface that is similiar to a windows interface. But we originally built a Windows client to test the webservice methods retrieving account, customer, vendor, and invoice data.

Question? What is the setup being used for this demonstration?
Answer: We are running a Quickbooks 2006 Premier on a VMware partition. The Is2 QB Xml server is running on port 24000. The application was built with Adobe Flex Builder 2 beta 3 which generates a flash player 9 application. FlexBuilder 2 beta 3 is currently available as a FREE download to test with.

Our soap server is in constant development at this point in the attempt to surface all the needed functionality to build a full accounting frontend that could be used in creating mashups from multiple data sources in addition to the Quickbooks data. Each day new functionality is added. I am concentrating on the accounts receivable areas in order build a Flex 2 shopping cart capable of showing items with DataExt custom fields for the picture urls that would be able to process a credit card purchase and store immediately to Quickbooks as a sales receipt invoice.

Let me know what you think.

You can email me directly at billbrittain@is2software.com if you have questions.