QuickBooks Online EDI Integration

Electronic Data Interchange (commonly known as EDI) is essentially the standard method when it comes to exchanging files in modern industry. Since its inception in the 1980s, EDI can be found in industries ranging from manufacturing to health care. Through EDI, businesses have a process for exchanging their business documents with their trading partners.

While having a process for standardized document exchange is beneficial for a business, there is one step that can often go overlooked: generating or retrieving the necessary data for the business documents. This is what the RSSBus Connect application does for you.

This article will provide a walk-through for retrieving Invoices from QuickBooks Online and sending them to the trading partner.

Setting up the Sample

To begin, download and install the RSSBus Connect application (free, 30-day trial). Then download the sample project and extract and copy the contents to the "data" folder in the installation location for RSSBus Connect. For Windows installations, this will likely be C:\Program Files\RSSBus\RSSBus Connect. Please consult the documentation for the Java build of RSSBus Connect for Linux/Unix/Mac installations.

Next, you need to ensure that you have configured your connection to QuickBooks Online properly.

Connecting to QuickBooks Online

With RSSBus Connect installed, the next step is to configure your connection to QuickBooks Online through a QuickBooks Port. In RSSBus Connect click the Ports tab and select the QuickBooks port from the port drop-down menu. On the Advanced tab, you can configure your connection to your QuickBooks Online instance. To connect to QuickBooks Online, navigate to the Settings tab and click the Connect button. This will open a new browser window and perform the OAuth flow to authenticate.

Document Translation / Data Integration Walk-Through

With the connection to QuickBooks Online properly configured, you are now ready to retrieve an Invoice.

Retrieve a Sales Invoice

As we work through the sample, we start with the assumption that you have Invoices in your QuickBooks Online instance, ready to be sent to the trading partner.

Retrieve the Sales Invoice from QuickBooks Online

With existing Invoices in QuickBooks Online, you can trigger the QuickBooks port in RSSBus Connect to retrieve them and place them, prepared to be translated and sent to the trading partner, in the Send folder for the MAP_810_OUT port. To do this, you will need to first edit the Invoices Output Template: On the Settings tab for the QuickBooks port, click the Edit button ( ) in the row for the Invoices template in the Output Templates table. You can clarify exactly which Invoices to retrieve by specifying a customer (via CustomerRef) or a transaction date (via TxnDate) (or both) in the WHERE clause of the selectQuery.

After you edit the Invoices template, you can click the Execute button ( ) to execute the template, retrieve the Invoices, and create XML documents ready to be processed in the MAP_810_OUT port. The XML elements used in the mapping template are derived directly from the column listing for the Sales Invoices table in QuickBooks Online, as exposed by the QuickBooks port.

Translate an XML Invoice to an XML 810 Document

The MAP_810_OUT port is a scripting port, designed to translate an Invoice (in XML based on its QuickBooks Online structure) into XML that relates to the X12 format.

Because you already have the XML for the Invoice, you can use the script and templates included in the sample to translate the document into an XML format that is more closely related to the 810 document expected by your trading partner.

How the Translation Works

The TranslationScript.rsb file maps the values at specific XPaths in the XML document from the QuickBooks port to new fields, which will be used to create a new document based on the 810 template file.

Performing the Translation

To translate the XML Invoice, simply select the INVOICES_TIMESTAMP.xml document in the Send folder of the MAP_810_OUT port and click Send. This will create a new document, 810_TIMESTAMP.xml, and place it in the Send folder of the WayneTech_810_Out port.

Translate an XML 810 Document to an X12 810 Document

The last piece of the sample is the process of translating the 810 in XML format into X12 format. This is accomplished by clicking on the 810_TIMESTAMP.xml file on the Send tab for the X12_WayneTech_OUT port and clicking Send.

It is at this point that the 810/Invoice is ready for transport to your trading partner. In a real-world, end-to-end integration, you would then use a communication port like AS2 or SFTP to transmit the file to the trading partner.

More Information & Next Steps

As you can see, with RSSBus Connect, it is possible to automate your business document exchange and integrate directly with QuickBooks Online. For more information on RSSBus Connect, visit our home page. Download your free, 30-day trial and start controlling your business document exchange today!

Download & Install Sample

Already running RSSBus Connect? This sample will setup RSSBus Connect with the data and port configurations referenced in this article: