Can quickbooks libraries be integrated into genexus? I have no knowledge
1 Answers
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>

- 122
- 4