Why does the QuickBooks application need to open in order to access company file data real-time?

StackOverflow https://stackoverflow.com/questions/22943853

  •  29-06-2023
  •  | 
  •  

Question

This is more of an architectural question rather than anything code-related. I'm working on a project to auto-create invoices in QuickBooks using data from our ERP, in order to speed up the process of adding that data. It seems that it is a requirement that in order to access data within the QuickBooks company file directly, you need to use the SDK (which actually opens the file using a QuickBooks application instance). Since my application will need to access two company files depending on where the request came from, I can't keep it open, and this opening/closing adds 15ish seconds to each request.

Why is this a requirement, does anyone know? Is there another way to directly access the data and bypass the massive overhead of the QuickBooks application?

Thanks!

Was it helpful?

Solution

Why is this a requirement, does anyone know?

My understanding (based on a really old forum post by an Intuit developer) is that the way the SDK works is by using a GUI message pump Windows COM call to push data to QuickBooks.

No GUI present = no message pump = no connection to QuickBooks. Thus, you need the GUI components of QB in place.

Is there another way to directly access the data and bypass the massive overhead of the QuickBooks application?

No.

If it's a problem, consider batching your requests, queueing them up, and sending more than one at a time in a batch. This is what the Web Connector (and most other QuickBooks integrated apps) do to avoid this issue. It's very, very rare that an application truly needs real-time connections to QuickBooks (and be careful if you think you do - QuickBooks is not a great candidate for real-time access to data - there's a lot of things that can lock you out of QuickBooks so you have to be careful if you're building an app that assumes you'll always be able to connect to it).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top