Integrate quickbooks with Genexus - quickbooks

Can quickbooks libraries be integrated into genexus? I have no knowledge

Applications generated with GeneXus can be integrated with QuickBooks.
Depending on the version of QuickBooks (desktop or online) you have different methods to integrate with QuickBooks.
For QuickBooks desktop, including all versions (Standard, Premier, Enterprise), you can use either the QuickBooks SDK or you will use QuickBooks Web Connector.
You will have to select your method early in the development process, the two methods are very different. The defining factor will be if QB and the interface application will be running on the same computer. If they are not, then you will have to use QB Web Connector. If you are generating Java, you will also have to use QB Web Connector.
QB Web Connector initiates all the communications, so you will have to respond to the pre defined requests that QB Web Connector will trigger.
To send/receive messages, you use qbXML, which uses XML (SOAP) messages.
In GeneXus, we created a main object with call protocol set to HTTP.
Create a variable &HttpRequest of type HttpRequest.
Here is an example of the code in GeneXus
&strRequest = &HttpRequest.ToString()
&CompletePercent = 0
if &HTTPRequest.Method = HttpMethod.Post
&strRequest = &HTTPRequest.ToString()
Every API call returns a message, so you will have to check for errors.
Internally, QB uses identifications that look like GUIDs called List ID and transaction ID. You will get these in the response and will want to save them for future use.
The API documentation is here:
https://developer.intuit.com/app/developer/qbdesktop/docs/get-started/get-started-with-quickbooks-web-connector
This example creates a vendor.
<?xml version="1.0" encoding="utf-8" ?>
<?qbxml version="12.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<VendorAddRq requestID="2">
<VendorAdd>
<Name>Gildan</Name>
<CompanyName>123456</CompanyName>
<VendorAddress>
<Addr1>Gildan</Addr1>
<Addr2>524 Main Street</Addr2>
<City>SANTA ROSA</City>
<State>CA</State>
<PostalCode>95401</PostalCode>
</VendorAddress>
<Phone>555-555-5555</Phone>
</VendorAdd>
</VendorAddRq>
</QBXMLMsgsRq>
</QBXML>

Related

Create OData service definition as YAML intead of EDMX?

I use an SAP OData (v2) service and request the EDMX service definition by calling
https://service-url/$metadata.
The service definition is quite complex and I have trouble to understand it the XML format.
It starts with:
<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:sap="http://www.sap.com/Protocols/SAPData">
<edmx:DataServices m:DataServiceVersion="2.0">
<Schema Namespace="XYZ_SRV" xml:lang="de" sap:schema-version="1" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
To make it better readable, I would like to download or convert the definition as (into) the YAML format. Like the YAMLs provided for the services on the SAP hub (eg. https://api.sap.com/api/BusinessPartners/overview)
How can I reach this?
Unlikely you will be able to do that if you do not own this service.
You can try, however, utilize Swagger-based SAP API Designer, which is a part of CloudFoundry service SAP API Management
You must buy subscription to it (or try in trial mode), then enable API Management in dashboard and in finally Designer you can parse the service metadata and then download it in the suitable format
I notice that I didn't try it myself, but just heard that such facility exists, so rather try to read API Management documentation, than asking me.

How to get INSTANT RESPONSE from Quickbooks Desktop

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).

Use QBFC from a desktop application to interface to Quickbooks online

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.

integrate quick books data into asp.net application using web connector

• I am using asp.net . I have to integrate quick books data into my asp.net application.
• In silverlight application using com objects am able to connect to QB and getting the data from that By selecting Company name from .
• But I have to do all this stuff from the iis. So using com objects it is not possible to get the data com object.
So I have chosen Web connector.
My requirement is :
I will select the company database from User interface
After that I have to get the data like : customers ,vendors.
That data I have to import into my database.
But using Web Connector : that has different scenario…
I have to select first .qwc file using this we are calling web services. From there we will get the data.
Is it possible to call the web connector through the coding…..calling web service from there…
Or is there any other solutions without selecting .qwc file
Is it possible to call the webconnector through the coding
No, the Web Connector calls your web service, not the other way around.
It can be scheduled to poll your web service every X minutes.
Or is there any other solutions without selecting .qwc file
To use the Web Connector, you go through a one-time setup process of installing the .QWC file. You only have to do that once. After you've done that, there's nothing else necessary on the end-user side of things.

How to connect to Quickbooks premier desktop edition through qbxmlrp using java?

I have installed a quickbooks premier 2014 desktop edition in my system and wants to integrate it using QBXML Request processor API(QBXMLRP2) through java application.
I have gone through the QBXML SDK Documentation but didn't find a proper way on integration with java.
I found this from the documentation :
1.Open a connection to QuickBooks.
2.Start a session for working on a specific QuickBooks company file.
3.Send whatever requests you want to do something in QuickBooks.
4.When you’re done or before your application exits, end the session.
5.Then close the connection.
It will be greatly appreciated if some one could provide me some sample code to integrate with Quickbooks.
And also how to configure QBXMLRP2Lib files in my java application?.
Thanks in advance.
There is a product called QuickBooks Web Connector that allows your app to use QBXML through a web service. Intuit has created a sample java application that communicates with web connector that may provide what you need.
Also, if you're starting a new app from scratch you may want to consider using the newer "V3 QBD" API instead of QBXML.

Resources