Use QBFC from a desktop application to interface to Quickbooks online - quickbooks

We have a windows desktop based application that interfaces to Quickbooks Pro desktop using QBFC.
It creates a QBSessionManager, adds message sets to it, performs the requests, and parses the responses.
Is it possible to use this existing QBFC based interface from the desktop application to update Quickbooks online instead? Obviously there would be some changes since we're not loading a local company file, but can we leverage this code to also talk to Quickbooks online?
Perhaps by installing a shim that transports the XML to the online version?
Or utilizing the XML generated by QBFC to update QB online?

Is it possible to use this existing QBFC based interface from the desktop application to update Quickbooks online instead?
No.
The issue here is that the XML that you're generating for QBD(desktop) is very different from the XML (or JSON) that QBO(nline) requires.
The concepts are the same (there are still customers, and invoices, and payments, etc.) but the actual XML messages are significantly different.
Additionally, the authentication mechanisms (a DCOM handshake vs. OAuth) and transports (COM vs. HTTP/TLS) are significantly different so that you can't really use the QBFC components with QBO.
You will likely get to re-use a lot of your code because the concepts are the same, but the parts you re-use won't be any QBFC or XML bits.

Related

Oracle maf and oracle af

Some information required about MAF.
How many platforms it will support?
I have read in some blogs, for client side(Mobile) they are using web frameworks and for Business logic they are using java and cordova for interact with Mobile functionalities.
Here business logic(JAVA) mean client side business logic or server side?
Using MAF directly(From mobile) we can access database, without interaction of webservices?
Is there any wrapper between Mobile and oracle database?
in case without wrapper we can, how to put security for database?
Thanks in advance.
MAF supports iOS and Android currently - versions here. See the data sheet for more info.
MAF can execute Java code (compiled at deployment) natively on the device. Java can be used for local business logic, although typically business logic is performed on server and accessed via Web Service for obvious performance and design reasons.
Java is typically used on device to support application state and behaviors or interface. UI is coded using component-based framework called AMX which generates HTML for rendering in web view and task flows for graphical design of navigation, or hand coded using HTML/JS fwk of your choice. Cordova provides access to on-device features via drag and drop code generation for AMX pages, as well as Java and JS APIs.
Java is used to connect to Web Services (REST and SOAP - REST preferred for performance) and the local database, (encrypted) SQLite via JDBC. All interaction with remote data sources is via Java JDBC and or Web Services. Java is used to wrapper all data sources, local and remote.
Please feel free to look at all the docs on the Oracle OTN site. Lots of good info there. Also, my aggregation site for my Oracle students has lots of good links as well.

Need clarification on QuickBooks Desktop integration with Sync Manager vs Web Connector

From what I understand, Intuit is no longer allowing proprietary integrations with QuickBooks Desktop editions through the Sync Manager and only allowing apps that are put into the marketplace. Is this really the case? If so, is there a timeline for when they will start allowing this? Also, it seems that the supported objects for desktop editions is way behind those supported for the online edition. Will these be available any time soon (I.e. reports such as balance sheet, profit/loss, budget, etc.)?
I ask because we have been using the web connector for a couple of years now and it is not built for the type of use we need. To be specific, we are a franchising company that has a hosted QB solution for each of our franchises. We then pull data and pass jobs to and from our proprietary POS application through the web connector. We run into all sorts of problems with multiple web connectors being open on the same system trying to connect to different files and a host of other issues. Because of this, we are hoping that a more reliable integration can be developed through the Sync Manager.
From what I understand, Intuit is no longer allowing proprietary integrations with QuickBooks Desktop editions through the Sync Manager and only allowing apps that are put into the marketplace. Is this really the case?
Correct. QBD integration with SM and V3/V2 REST endpoints are not supported.
Apps.com is the mainly the SaaS marketplace ( mainly focused on QBO).
No new integration using QBD V3 can be created.
Also, it seems that the supported objects for desktop editions is way behind those supported for the online edition. Will these be available any time soon (i.e. reports such as balance sheet, profit/loss, budget, etc.)?
V3 QBD APIs are already marked as deprecated. There will not be any development on this.
Ref - https://developer.intuit.com/docs/0025_quickbooksapi/0058_faq#Does_QuickBooks_API_support_QuickBooks_Desktop_and_QuickBooks_Online.3F
Please refer the following thread on similar topic.
Integrating with QB Desktop products
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.

How should I import data into QuickBooks from my Rails application?

I'm working on a Rails project that needs to be able to import/export (mostly import) invoice data to/from QuickBooks. In Googling, the QuickBooks SDK and Web Connector come up often. However, both seem to only be for the Windows desktop versions. This QuickBooks instance is on a Mac.
The import can either be via an API or, if possible, a file could be generated from within the web app that could later be imported manually.
Currently, QuickBooks 2009 is what's being used. However, assume we can use nearly any version of QuickBooks. Online or desktop (Mac).
What would the best route be to get invoice data to/from the Rails application to QuickBooks?
Unfortunately, QuickBooks for Mac does not support any real method of integration. It's definitely the "black sheep" of the Intuit family.
The closest you can get is IIF file imports/exports.
There is detailed information on this (deprecated, and very limited) file format over here:
http://support.quickbooks.intuit.com/support/articles/HOW12778
You would be so, so, sooo much better off moving off of QuickBooks for Mac through, as the APIs for both QuickBooks for Windows (Web Connector/SDK/COM) and QuickBooks Online (REST v3 APIs) are much, much better than IIF imports/exports.

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