How to get INSTANT RESPONSE from Quickbooks Desktop - quickbooks

I'm using quickbooks-php to query/add customer from quickbooks desktop.
At this point, I want to write some rest apis to put new customer to quickbooks desktop and get instant response with customer's ID from QB.
I'm not sure even I can get instant reply from the qbxml query to quickbooks desktop.
What is the best experience for this one?

Using the library you linked to, you can't. It uses the Web Connector, and the Web Connector doesn't support real-time communication with QuickBooks.
If you want to, you can either use the QuickBooks SDK directly (C#, but be aware you'll have a lot of wrapper code to write if you want to make that work over HTTP or via a web service/website of any sort) or use a third-party solution (e.g. Autofy).

Related

REST API for Quick Books desktop

Is there any REST API associated with Quick books Desktop ?
I am aware of Quickbooks SDK and one can build its requests via QBFC or QBXML.
However,I have set of hardcoded request xmls ,I was wondering is it possible to test these XMLs by sending directly to Quickbooks Desktop via tool like SOAPUI.
Is there any REST API associated with Quick books Desktop
Yes, but it's deprecated. You can't build new apps for it -- only existing apps already using it are allowed to use it.
However,I have set of hardcoded request xmls ,I was wondering is it possible to test these XMLs by sending directly to Quickbooks Desktop via tool like SOAPUI.
You could easily write your own little SOAP server that sits and listens for requests and runs them against QuickBooks if you wanted to. Or use the SDK Test+ tool included with the SDK and feed them to QuickBooks directly from files.

Integrating with QB Desktop products

I wrote a QB integration a few years ago that uses the Web Connector to read and write data to and from QB desktop products. It works well but I am not in love with the Web Connector.
I am tasked with setting up another QB integration. I was hoping to avoid using the Web Connector this time. There are a few reasons why I am trying to avoid the Web Connector but the main reason is I would like to make this integration work with both Desktop and Online versions of QB.
Is it possible to use the Intuit Sync Manager to sync the company data up to Intuit and then just use the standard Online APIs to connect to that company file? I have done some testing and I can connect to QB Online via the Online APIs but I cannot seem to get it to see the synced company files.
Any help with this would be great. Just looking for a little direction here.
Thanks in advance for any help.
For QBO, of-course, you can use QBO REST APIs(V3) API.
Ref - https://developer.intuit.com/docs/0025_quickbooksapi
But for QBD, QBSDK and web-connector is still the only approach.
QBD V2 and V3 REST APIs are already deprecated.
https://developer.intuit.com/docs/0250_qb
https://developer.intuit.com/docs/0250_qb/0010_get_oriented/0080_quickbooks_web_connector
FAQ
Thanks

QuickBooks with Joomla integration

I need to integrate our website in Joomla and quickbooks by importing the customer, invoice data from joomla site to Quickbooks. I am using Quickbooks pro 2014 on windows machine. I see there is QuickBooks PHP DevKit available by ConsoliBYTE. By searching on stackoverflow, I see people have used this toolkit to perform the data import(customer creation) into QuickBooks. I need to know what all Quickbooks functionality can be achieved using this php toolkit. That is what it can and cannot do. Is it build on QB SDK?
For example I have scenario where I need to import customers and need to add them as customer jobs. So does phpdevkit supports job creation? If yes then how do I find the xml for that in phpdevkit quickbooks library? So probably there will be more such similar requirements coming from end user in future and I need to consider these facts while designing the solution using php toolkit. I do not want a solution which is limited to only few or specific functionality. I have read the QB SDK and it is mentioned that SDK can be used with .NET, java. both solution goes with webconnector. SDK can perform almost all the functions as supported in quickbooks UI. So I am confused which one I should pick PHP toolkit by ConsoliByte or .Net/Java based. Language is not a concern for me. My aim is to look for solution flexible and capable to cover maximum QB functionality which includes customer creation, invoice creation, adding customer job and updating the customer/invoice on every synchup as well as limitation which the solution poses must be known before implementation.
So along with what QuickBooks PHP DevKit can or cannot do, I need to know its difference from Java/.Net based QB SDK (Not language PHP or VB.NET/Java but core framework)?
I tried searching it over stackoverflow and google but could not found this information. I appreciate any inputs shared.
Thanks,
Amit
I need to know what all Quickbooks functionality can be achieved using this php toolkit.
The full list is much too long to post here. As a basic overview:
Automatically send orders placed on your website to QuickBooks Online or QuickBooks for Windows
Charge credit cards using the QuickBooks Merchant Service
Connect to Intuit Anywhere / the Intuit Partner Platform and the v3 APIs
Get access to QuickBooks reports
Pull information out of QuickBooks and display it online
Connect to all Microsoft Windows versions of QuickBooks
Connect to QuickBooks Online Edition
etc. etc. etc.
More details available here:
https://github.com/consolibyte/quickbooks-php
For QuickBooks FOR WINDOWS, you can see the full list of operations supported by clicking the "Select Message" drop-down in the OSR:
https://developer-static.intuit.com/qbSDK-current/Common/newOSR/index.html
For QuickBooks ONLINE, you can see the full list of operations supported here:
https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services
Is it build on QB SDK?
Yes.
So does phpdevkit supports job creation?
Yes. Anything the QuickBooks SDK supports you can do.
If yes then how do I find the xml for that in phpdevkit quickbooks library?
Use the QuickBooks OSR I linked to above. Search for CustomerAdd (Jobs in QuickBooks are just Customers with a ParentRef defined).
We also have examples on our wiki:
http://www.consolibyte.com/docs/index.php/Example_qbXML_Requests
And provide support via our forums:
http://consolibyte.com/forum/
I do not want a solution which is limited to only few or specific functionality.
Again, anything the QuickBooks SDK can do, can be done via the PHP DevKit.
So I am confused which one I should pick PHP toolkit by ConsoliByte or .Net/Java based.
Joomla is written in PHP, so why the heck would you choose something written in another language...? It would be silly to try to tie .NET or Java in with your Joomla app/database...
which includes customer creation, invoice creation, adding customer job and updating the customer/invoice on every synchup
All of that is certainly do-able.
So along with what QuickBooks PHP DevKit can or cannot do, I need to know its difference from Java/.Net based QB SDK (Not language PHP or VB.NET/Java but core framework)?
The difference is the language. .NET is not PHP. PHP is not Java. Everything is just a wrapper around the QuickBooks SDK/COM API. The only practical difference in the language the stuff is written in.

Quickbook Desktop Development Basics

I've been asked to develop some software for a friend who has a business that he manages using Quickbooks Desktop. I don't have Quickbooks Desktop, and I'm not quite sure how to get started. I've read the docs for about a week now and can't seem to figure out the first step.
From what I've read, it seems like maybe the Quickbooks application starts a web server and mine application will be issuing HTTP requests against that web server ? It would be nice if I didn't have to have the Quickbooks application to do this development; is there a way to read the data file itself ? Does it cost money to develop software that uses this API ?
It looks like I would probably like to use the V2 XML protocol for what I'm trying to do which is: retrieve checks and deposits, make a monthly summary, format that summary according to his specifications, and create a PDF of the statement.
From what I've read, it seems like maybe the Quickbooks application
starts a web server and mine application will be issuing HTTP requests
against that web server ?
That's one possible way to implement things.
If you give more detail about specifically what you're trying to do (what programming language? what version of QuickBooks?) you'll probably get better recommendations than that route.
It would be nice if I didn't have to have the Quickbooks application
to do this development; is there a way to read the data file itself ?
You will have to have QuickBooks, there's no way to read the raw datafile.
It's cheap on Amazon - buy it there.
Does it cost money to develop software that uses this API ?
There are no charges while developing, and for one-off/custom/in-house integrations like you're talking about, there are no charges at all.
It looks like I would probably like to use the V2 XML protocol for what I'm trying to do which is:
Be aware that v2 and v3 is technically only for SaaS applications (e.g. you have to be reselling this as an app, and allowing many people to connect their QuickBooks to your app).
According to Intuit, you should be using the SDK.

Using QBWC 2.0 to sync QB files

I've just begun to read the QB Developer documentation and have come to the conclusion that to write a web-enabled application that will sync/remote backup QB files between two machines over the Internet, that the QBWC is the 'approved' way to accomplish this task. The .NET application samples in the QB SDK (V12) are not using WCF but WSDL and SOAP.
But before I commit to going that route, I am asking if anyone has a better approach. I'd prefer to use WCF and MS Sync Framework, but I don't want to head down that road if it will mean using a cannon to kill a mosquito.
Thanks
You really hinted at two separate goals here, so I'll address each specifically:
... remote backup QB files between two machines ...
If your goal is BACKUP then the Web Connector is certainly not the answer. The purpose of the Web Connector is to enable integration between QuickBooks and web applications, via the QuickBooks API/SDK. Since not all data stored within QuickBooks is accessible via the API, the Web Connector is not appropriate for backup. It is impossible to get a complete, accurate backup of the entire QuickBooks data set via the Web Connector.
On the other hand...
... web-enabled application that will sync ...
If your goal is to allow integration/sync of data between your web app and QuickBooks, the Web Connector is a decent solution. Yes, it uses SOAP (with a grand total of only about 5 very simple methods). No, you can't use WCF/anything else without writing your own version of the Web Connector.
If you add more details about specifically what you're looking to do with specifically what data, you'll probably get some better answers and suggestions about approach.

Resources