Just wanted to add to this because ive been looking into it recently. (what a pita)
It seems there are some main choices:
- Using the quickbooks SDK which means dealing with COM
- Using one of the poorly implemented libraries available:
- /n Software QB Integrator to connect and do transactions on QB object (Invoice, Customer). You will need to run a little app while QB is open for this one called QBConnector. There is very limited documentation for this.
- Dragon Quickbooks Java Connector which is a lower level connector for dealing with the XML responses for Quickbooks. qbXML
- Using an importer as listed above which really means you have to still do an external step although it can be batched.
- QODBC as mentioned above which is what I am probably going to go with. You can read and write (but not to all tables) with this. Full QB Table schema for US version
I am very surprised at the extremely poor support Intuit is giving small business for integrating their software with QB. If any COM devs are out there that want to design a nice java library I am sure there are lots of small business out there that would happily pay for a well designed one. (More intelligent access mechanism and search ability)
Good luck to all your brave QB Spelunkers.