Writing a Quickbooks REST API
metricsapi.com
metricsapi.com
If you've ever had to use this software, I'm sorry. It is not friendly. You essentially have to write your own SOAP server that is called by Quickbooks.
Then you have to send them XML in their QBXML format (of which, the documentation only really works in IE, kind of works in Firefox, and not at all in Chrome -- that's right, just reading the documentation requires a specific browser). Debugging is a pain.
So I thought a service that abstracts that would be a good idea. We would provide the Quickbooks WebConnector file to you, you install it, and then start sending your invoice information to a nice RESTful API.
We handle the rest and ensure your data gets into Quickbooks properly. If you're interested in something like this, please subscribe to the mailing list.
PS. I'm doing the same for the Google AdWords API, which is also not a joy to use -- http://metricsapi.com/tour/google-adwords-rest-api
This is not a trivial process, but I didn't have to write my own SOAP server.
At the time, at least, there was some weirdness with integrating with the Canadian version, however. Nothing I couldn't resolve generally, and it may very well not be a problem at all anymore.
But yes, '+1' for the QB PHP DevKit.
Trusting a single vendor gateway however seems a little risky. As a developer I would much rather have a (open source) wrapper library I can use instead of introducing another layer/potential point of failure. That said, if you want to keep this language-agnostic, you'd have to run a REST gateway of some sort anyway, so having a service provider to handle this for you can be an advantage.
IAP allows SaaS providers to provide their "App" via the quickbooks "App Store". That is great if your a SaaS provider, someone like Freshbooks.
What IAP doesn't allow is using its APIs via your own custom in house application that you don't plan to publish on their "App store". If your using QB desktop your only real option is web connector hell.
You don't have to publish on their app store.