Integrate FileMaker Pro and QuickBooks

  • Post and query data from a FileMaker Pro database to a QuickBooks accounting system using Productive Computing’s FM Books Connector plug-in.

By Kitty Kane, Dynamic Business Solutions

Many of my clients use QuickBooks to manage their accounting, so it’s important for me to have a cost-effective database solution that integrates with QuickBooks without involving a lot of extra steps. With FM Books Connector, you can easily bring the two applications together to work seamlessly as one.

FM Books Connector is a plug-in from Productive Computing that gives you control of QuickBooks via a two-way real-time integration. With it, you can Add, Edit, Delete, or Query virtually any QuickBooks data from FileMaker Pro.

One of the advantages of FM Books Connector is you don’t have to learn or know QuickBooks eXtensible Markup Language (qbXML) to use it. Similar to XML, it’s the core language for electronic exchange, creation, and management of accounting and other business data from QuickBooks.

Like most developers, I hate reading manuals. If a product isn’t somewhat self-explanatory, I tend to move on quickly. When I first downloaded and experimented with FM Books Connector, I was surprised by how quickly I was able to begin posting invoices from the supplied demo file.

I decided to take a closer look, so from the demo I started to review the scripts, which are easy to read and well-commented. It all looked pretty simple, but I was still a little hesitant because in my experience, after I try to replicate the fields and scripts to my own solution, it never works the same.

I spent about two hours importing scripts and updating field names with my live data. To my surprise, I had successful results!

Getting Started
When you download a demo of FM Books Connector, you also receive a folder containing:
• Plug-in, which you place in your FileMaker extension folder
• FileMaker demo file, which is an unlocked FileMaker Pro database with live examples and working scripts you can use for your own experimentation.
• Functions Guide that gives listings of external functions and expected parameters.
• Developer’s Guide, a helpful guide filled with instructions, code, and links to video tutorials at http://www.fmbooksconnector.com

In the FileMaker demo file, you’ll find several examples that show you:
• How to post a new customer to QuickBooks
• How to pull customers into FileMaker Pro
• How to update a customer in QuickBooks
• How to post an invoice to QuickBooks
• How to pull invoices into FileMaker Pro
• How to pull a customer balance into FileMaker Pro

The demo plug-in is a full working version. You can use it up to 30 days with 2 hour sessions of posting, programming, and testing before it times out.

Now that I had copied predefined scripts from the example, I started to venture off into areas not covered in the demo. With little to no knowledge of the plug-in, I began to build my own scripts, but when I posted a check for the first time, I received an error message. The message was clearly defined, but I didn’t know what was wrong. Rather than consulting the manual, I called Productive Computing. Not only did Productive Computing answer the phone, when I described my error message, they quickly gave me an explanation of the error and how to resolve it.

Posting error messages
There are some important things to know to help you troubleshoot and understand what QuickBooks requires to successfully post an invoice:
• Make sure your customer/vendor exists in QuickBooks
• You can post and validate records using either the ListID or FullName. The ListID usually refers to a QuickBooks record ID and the FullName refers to the actual QuickBooks displayed name.
• Make sure your invoice detail includes an existing quantity.
• Make sure your invoice items code exists and matches exactly in the QuickBooks items table.
• Your script code is case sensitive.
• FM Books Connector plug-in requires the person doing the posting to have the plug-in installed and QuickBooks open to post.
When you add and test the script to post data to QuickBooks, you’ll get helpful error codes if your data didn’t post successfully. There’s also a special function that exposes the XML generated behind the scenes for advanced programmers who understand and want to troubleshoot the XML.

The “Check for Errors” script is the same for all scripts and required before you can do anything else. It checks that you’ve installed the FM Books Connector plug-in correctly and the data you are posting is valid and complete according to QuickBooks.

FM Books Connector

Take it for a test drive
After experimenting with the code Productive Computing supplies, you’ll probably want to start branching out on your own. I’ll walk you through an example of how to duplicate and modify existing scripts to create new scripts for Creating/Editing Vendors and Posting Checks.

For my example of modified scripts, I used one FileMaker Pro database with the following table listings.
Interface – All global data for generating XML coding pasted or posted to QuickBooks.
Contacts – One file containing customers and vendors.
Transaction – Check header data, to include check number, check date, check amount, Vendor (Pay to the order of), and memo.
TransactionDtl – Detailed lines showing item included on the check.

Using Productive Computing supplied scripts on how to post a Customer and Invoice, I simply duplicated and modified the “Push Customer to QB” script to create a new script called “Push Vendor to QB.” I also duplicated and modified the “Edit Customer to QB” to create a new script called “Edit Vendor to QB.”

If your VendorListID already exists in QuickBooks, you only have to present the VendorListID and VendorEditSequence to update your vendor record to QuickBooks.

I then created a third script in which I combined my Add Vendor script and my Edit Vendor script into one script called New/Update Vendor that checks to see if the vendor is in QuickBooks by checking if the VendorListID is present. If the VendorListID doesn’t exist, FileMaker Pro pushes the new Vendor to QuickBooks and returns a Vendor List ID.

Additionally, I duplicated the Push Invoice to QB script from the FM Books Connector database. You can modify a couple of lines in the script to create a new script for posting checks to QuickBooks. The script first checks the transaction record to see if the check payee has previously posted to QuickBooks. If the payee has not yet been posted, the script will first post the vendor and then post the check.

Before FileMaker Pro can post your check to QuickBooks, it requires you to have created the vendor. Use the VendorListID to check for the List ID before attempting to post the check. If the vendor doesn’t exist in QuickBooks, the Push Vendor and Post Check script uses an if statement to ensure the vendor is added first. After you add the vendor, you can now post your checks. If your payee/vendor already exists in QuickBooks, you only have to present the VendorListID and post your check. You can duplicate and modify the Get Customer Edit Sequence script to create a new script called Get Vendor Edit Sequence. This script checks the vendor edit sequence before updating the record to make sure the information you want to post is the most current data.

Rather than reinventing the wheel and rebuilding all the scripts and fields required for integration with QuickBooks, you may be wondering if you can save time by using Productive Computing’s supplied file. The answer is yes; however, if you use the file provided, be sure to deactivate the open script, which is programmed to delete all data each time the user restarts.

After building and installing my new scripts, I began to test posting my data to my clients’ live QuickBooks database. Although everything didn’t go 100 percent smoothly (but what does?), I now had a clear understanding of how to troubleshoot my errors, and felt confident that if I needed further assistance, Productive Computing was just a phone call away.

I was so impressed, I even started to read the manual.

Pros:
• Do not need to learn qbXML to use
• View account real-time accounting activity
• Affordable one-time cost
• Easy registration
• Offers resale program for FileMaker developers
• Does not require fields to be formatted for QuickBooks to accept
• Productive Computing offers superior customer service

Cons:
• Only works on a PC; plans for a Mac version will be implemented if Intuit releases the qbXML SDK that is compatible with the Macintosh version of QuickBooks
• You must have administrative access to set up the plug-in for the first time

Great things to know…
The Intuit Developer Network is free to join and can be beneficial for gaining new customers who are currently using QuickBooks and may need assistance integrating with FileMaker Pro.