I am looking for a simple way (web service, API call, etc.) to simply get all upcoming invoices from Quickbooks Online Edition. Any easy way to achieve? I’m looking for a relatively high level abstraction.
Note: I am willing to disable authentication to avoid having to deal with certificates, etc. Just looking for a simple solution.
Register your application with Intuit here: https://appreg.intuit.com/
Register with:
Go to this URL in a browser (substitute your own application ID into the URL):
https://login.quickbooks.com/j/qbn/sdkapp/confirm?appid=YOUR-APPLICATION-ID-HERE&serviceid=2004&appdata=1
When prompted, make sure you TURN LOGIN SECURITY OFF by choosing the “No. Anyone who can log into [Application Name] can use the connection.” option.
You’ll get a connection ticket at the end of the process. Save it somewhere safe.
Write a program to send this HTTP body:
To Intuit’s server at:
https://webapps.quickbooks.com/j/AppGateway
You’ll get back a session ticket.
Write a program to send this HTTP request:
To that same URL.
The response will be a bunch of invoice data, in XML format.
Refer to the OSR when you need more details on syntax for qbXML requests:
http://developer.intuit.com/qbsdk-current/common/newosr/index.html
You can find some C# sample code here:
http://wiki.consolibyte.com/wiki/doku.php/quickbooks_integration_csharp#c_net_sample_code_for_quickbooks_online_edition
IMPORTANT NOTE FOR OTHER PEOPLE READING THIS POST: This should only be used for one-off/custom type applications. IF YOU’RE BUILDING A SOFTWARE AS A SERVICE APPLICATION and trying to allow your end-users to sync their own QuickBooks data with your application, then you should look at IPP/IDS instead of the above qbXML example. http://developer.intuit.com/