Connecting an ASP.NET application to QuickBooks Online Edition

Jeff Widmer picture Jeff Widmer · Jul 7, 2009 · Viewed 13.7k times · Source

I am trying to create an ASP.NET page that connects to QuickBooks Online Edition, read a couple of values, and display the results. So far I have downloaded the QuickBooks SDK but I have been unable to find a simple step-by-step example on how to create an asp.net page to connect to QuickBooks Online. The QuickBooks SDK documentation and the SDK itself is very confusing and overwhelming. Anyone know of a simple step by step tutorial on where to get started... or maybe a hint on the very first thing to do.

Answer

Keith Palmer Jr. picture Keith Palmer Jr. · Jul 8, 2009

Yishai's answer is partially correct, but not entirely.

You can have your ASP .NET application log in and issue requests without having to send the user over to the QuickBooks Online log in page if you make sure to set the security preferences correctly when you connect up your application to QuickBooks Online Edition.

During the application registration process/connection process, it will ask you if you want to turn on or off login security with a prompt as below. You must tell it you want to turn off login security if you want to be able to access QuickBooks Online Edition data without forcing the user to log in every time. The prompt is something like:

"Do you want to turn on login security?"

You must select: "No. Anyone who can log into [Application Name] can use the connection".

Outside of that, Yishai is correct about the process. To re-iterate, in a nutshell:

  • Register for a QBOE account
  • Register your integrated application with Intuit's AppReg service
  • Visit a specific link to tie your AppReg application to your QBOE account (make sure you turn off login security when it asks you!)
  • Make HTTPS POST requests to Intuit's servers to sign on using the connection ticket Intuit will provide you with
  • Make HTTPS POST requests to send qbXML requests to Intuit's servers, which you can use to add, modify, delete, and query records within QuickBooks Online Edition.

There is some additional documentation and some example requests on my QuickBooks development and integration wiki, specifically the QuickBooks Online Edition integration page.

I have built a solution that does what you're asking in PHP which adds, modifies, and queries data within QuickBooks Online Edition without requiring the user to log in everytime, and it works like a champ. It pushes and pulls order data between a PHP shopping cart (VirtueMart) and QuickBooks Online Edition. The PHP code is available here: QuickBooks PHP Framework

As a side note, unless you're very familiar with generating SSL certificates and sending them via HTTPS POSTs, you'll save yourself a whole lot of trouble by using the DESKTOP model of communication, and not the HOSTED model. Just make sure to keep your connection ticket securely encrypted.

Also, Yishai's suggestion to: "One is to programatically hit up their login page and submit the credentials as if you were a user. I'm sure its not "supported" but it would likely work." goes specifically against the security/developer guidelines Intuit and the SDK set forth. If they catch you doing that, they'll ban your application from connecting to QuickBooks.