Link to home
Start Free TrialLog in
Avatar of judsonmusic
judsonmusicFlag for United States of America

asked on

quickbooks and coldfusion integration

Does anyone know of a way to integrate my web application directly with quickbooks to use financial info in quick books as the data without having to import and export?

Like an API that will allow connection to a quickbooks account in my portal online?

Judson
Avatar of sajayc
sajayc
Flag of New Zealand image

There is an ODBC connector for Quickbooks.  You must configure this first.
http://support.quickbooks.intuit.com/support/pages/inproducthelp/Core/QB2K11/ContentPackage/Core/Reports_Custom/odbc_create_connection.html

Then logon to server that coldfusion is running on and create the connection to Quickbooks ODBC.
Finally in Coldfusion administrator, setup a datasource name pointing to the quickbooks ODBC connection.

Follow the steps in the link above to create quickbooks reports and views to use for the ODBC connection.

Hope this helps.
Avatar of judsonmusic

ASKER

What if different custOmers with different QuickClips account use my site and need the connection? Is there a way to pass there account info to the datasource to get their specific info? Like a qb Id or something?
Btw I don't see anything in that link you gave me that show a connection string to Quickbooks servers
Hi,
I think you would need an ODBC connection for each of your clients.
Because each ODBC connection points to a specific quickbooks data file.

http://accountant.intuit.com/practice_resources/articles/technology/article.aspx?file=rs_QODBC3

I recommend you come up with logical naming convention for the ODBC connections.
You can save this in a database table with the client login information, then your web page can query which ODBC connection to use for that client.

Hope this helps.
I read the article but how would I intstall and set that up in coldfusion and then incorporate any client login. I don't see anything about that.
Hi Judson,

Here is a link that explains the setup for ODBC and coldfusion datasource.
There is a lot of administration work to get the ODBC connections setup on the server.

Can you provide some more information?  Sometimes certain instructions vary due to different versions.

Website address:
Coldfusion Version:
Coldfusion Server Operating System:
Quickbooks Version:
Quickbooks Server Operating System:
Are the servers behind different firewalls or on the same network?

Regards
I know how to setup connections in coldfusion but need to know the connection string info or what username and password info they would need to access Quickbooks server. I want to connect to Quickbooks global server then use specific username and password, or whatever they require to determine which user information to pull
Hi,

The username and password can be passed through either the following:
- ODBC connection setup
- Coldfusion datasource setup
- cfquery tag. Example below:
<cfquery name="qryname" datasource="Datasourcename" username="[Username]" password="Password">

In your case, the code example could work then your application can determine which quickbooks database, DSN and username and password to use.
That's what I suspected. Do u happen to kn
That's what I suspected. Do u happen to know where I can get the driver I need(direct link) to install the Quickbooks odbc connection on my coldfusion server, or is there a direct connection string that can be used in the cfquery tag?? Sorry and thanks in advance!
I guess based on each user, how do I find out which Quickbooks database they are connecting to?
Hi,

This page has the instructions to start the installation.
http://accountant.intuit.com/practice_resources/articles/technology/article.aspx?file=rs_QODBC3

Otherwise the direct link to the driver is at this site:
http://www.qodbc.com/qodbc.htm

All the best.
So I have been reading on this and just to be clear.

I want to build an application that will access individuals Quickbooks information on all different client machines, does this mean each time a person signs up, I have set set up drivers, have then set up connections, open ports, etc? So that my web app can query their data?
Any answer to this??
Checkout this project on riaforge..

http://coldbooks.riaforge.org/ 
here is a description of the project, probably what you are looking for

Description:

ColdBooks is a free and open source tool that allows ColdFusion developers to work with data stored in Intuit QuickBooks. ColdBooks attempts to simplify the process of communication with QuickBooks by integrating with the ColdFusion administrator and allowing users to create and use connections to QuickBooks in a manner similar to ColdFusion data sources.

QuickBooks uses a tool called the QuickBooks Web Connector to talk to web-based applications. This tool communicates with these applications by web services they expose which implement a specific interface.

Historically, successfully implementing this interface has been challenging, especially in ColdFusion applications. ColdBooks has a generic implementation of this interface that allows ColdFusion developers to create applications that can asynchronously communicate with QuickBooks. Much of the complexity of this process is factored out and handled by ColdBooks.

The documentation provides a lot of helpful information to developers who are just getting started implementing QuickBooks with their ColdFusion applications.
The thIng I'm not clear on is does cOldfusion and Quickbooks have to be running on the same machine? I am building a coldfusion app that people that use Quickbooks can connect to my app or share their Quickbooks data and my app will read their data like a normal data source. Keep in mind that their data is on their local machine! So how will I query it?!? How do they share it? And how do I access their data??
Just download the project, http://coldbooks.riaforge.org/index.cfm?event=action.download, it has the documentation and should anwer all your queries.
I need a yes or no answer before I am going to award points.
This will not work. If you did get it to work it would not work well. Also you would be transmitting their data over the internet most likely with no encryption. For the most part Coldfusion, ASP.NET, PHP Etc. have a local (maybe not on the same machine) but local.

I have only setup one remote connection and we used SSL certificate on the SQL server and it was a pain.
You should award point to brijeshchauhan. In your original post you did not talk about these sources would be remote. I am sure he would have give you a much different answer.
ASKER CERTIFIED SOLUTION
Avatar of Brijesh Chauhan
Brijesh Chauhan
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
You can download the QBWC web connector from http://marketplace.intuit.com/webconnector/ ..
brijeshchauhan: you are the closet thus far but I am not clear on something. Does the web connector allow client to share data with my coldfusion app, and if so how would I access it?

Judson
I am very interested did this work the way you wanted it to? Please share some details. I would love to know how you made this work.
I am not going to implement it due to security risks but the solutioned seemed the most appropriate. The problem really lies in trusting that the client set up everything perfectly and I cannot rely on this. Maybe I am asking too much :-(
That is one of the limitations, Quickbooks was designed for people who will run the application under their user account when logged in, the rest of the time it would shut down and will not be available.

Also each of the APIs provided to interact with Quickbooks requires the users explicit permission to access quickbooks data...
>> Does the web connector allow client to share data with my coldfusion app, and if so how would I access it?

Yes, the project is actually based on how you add datasources to CFAdmin, it allows multiple connections to multiple instances of Quickbooks. Each of these connections if given a name similar to DSN, the connection created generates a QWC file that the end user can use to connect to QWBC to specific connections in your CF. Once you establish a connection, then you can send messages to QuickBooks regarding what you want it to do, which can be almost anything, like listing accounts etc....
Yeah but how do you get through peoples firewalls etc?
So I can wiry their financial data with my web app? Can u provide me with actual steps on how I would set this up?
Have you downloaded the projet yet ? Download the project, all configuration steps are in there along with the instruction guide on how to do it, which is a good one.

Let me know if you are NOT able to follow any steps in there.
So I am clear, you are saying that I need to install the web connectors on any client machine that needs to work with my site? Also once that's done how do I set up the dsn in coldfusion to read that clients Quickbooks also hornworms I query their info? Table names, etc.
Download the project from http://coldbooks.riaforge.org/index.cfm?event=action.download ... you would be able to configure most of the things in there...

which version of CF are you using ?
Version 9 why? Does cold oils go on the server or client machine?
Version 9 why? Does coldbooks go on the server or client machine?
I installed quickbooks on my coldfusion 9 instance on mac and when I go to the connecter page i get:
Bean definition for bean named: ColdBooks Security Service could not be found.

I did everything the doc. said.

I cannot get coldbooks to work, I get this error after installing it in coldfusion


Bean definition for bean named: ColdBooksSecurityService could not be found.
 
The error occurred in /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/coldspring/beans/DefaultXmlBeanFactory.cfc: line 646
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/coldspring/beans/DefaultXmlBeanFactory.cfc: line 644
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/ModelGlue/gesture/externaladapters/beaninjection/ColdSpringBeanInjector.cfc: line 40
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/ModelGlue/gesture/module/XMLModuleLoader.cfc: line 227
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/ModelGlue/gesture/module/XMLModuleLoader.cfc: line 101
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/ModelGlue/gesture/modules/internal/configuration/controller/ConfigurationController.cfc: line 21
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/ModelGlue/gesture/eventrequest/EventContext.cfc: line 298
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/ModelGlue/gesture/eventrequest/EventContext.cfc: line 225
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/ModelGlue/gesture/eventrequest/phase/Configuration.cfc: line 27
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/ModelGlue/gesture/eventrequest/EventContext.cfc: line 155
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/ModelGlue/gesture/ModelGlue.cfc: line 215
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/modelglue/gesture/ModelGlue.cfm: line 58
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/index.cfm: line 48
Called from /Applications/ColdFusion9/wwwroot/CFIDE/administrator/ColdBooks/Application.cfc: line 102
644 :                   <cfreturn variables.parent.getBean(resolvedName)>                  
645 :             <cfelse>
646 :                   <cfthrow type="coldspring.NoSuchBeanDefinitionException" detail="Bean definition for bean named: #resolvedName# could not be found."/>
647 :             </cfif>            
648 :       
Register at riaforge and you can contact the admin for this project..

http://coldbooks.riaforge.org/index.cfm?event=page.projectcontact

There is also PAID support available for the project, check out the guide..
Ok thanks. I wish someone that has actually used this could have read this post, but thank you for pointing me in the right direction.