QuickBooks Integration Setup

If you’re looking at integrating your desktop QuickBooks application with either your WooCommerce or Jigoshop store, there’s a few preliminary steps you can take to make the setup go smoothly. First, the biggest thing that you can do is make sure that you’re QuickBooks company file is completely setup, meaning setup for your business. All of your sales tax items should be in place, your chart of accounts should be established and you should have a clear understanding of how your products should be recorded in QuickBooks. While the QuickBooks Integration is a great time-saver when it’s all setup, it’s by no means an auto-accountant. If you’re just getting started and are unfamiliar with accounting or QuickBooks in general, you’ll definitely want to make sure you brush up on the basics so you at least understand the terminology.

Required QuickBooks Accounts

Below is a list of the accounts required in QuickBooks for the integration to work. Before proceeding, you’ll want to make sure that you have at least one account of each type in your QuickBooks chart of accounts. If you don’t, you should create one.

  1. Income Account
  2. COGs Account
  3. Deposit Account
  4. Asset Account
  5. Accounts Receivable Account
  6. Expense Account

Required QuickBooks Items

Below is a list of various items that are required in QuickBooks. You’ll want to double-check each of these and make sure that they exist.

  1. Sales Tax Items – you’ll need to make sure that you have a QuickBooks sales tax item for each sales tax rate on your website. If they don’t exist, you should create them. Sales tax items map one-to-one with website sales tax rates.
  2. Payment Methods – each website payment method needs to map to a payment method in QuickBooks.
  3. Shipping Item – in order to record shipping / freight charged to customers, you should create a “Shipping Item” in QuickBooks. Here’s a link on how to create a shipping item from Intuit: Charge Shipping to Customers in QuickBooks

Linking Products

For best results, it’s recommended that the products exist in QuickBooks prior to starting the QuickBooks / Website integration. The extension does have the ability to setup website products in QuickBooks. Auto-created products in QuickBooks still require a certain level of intervention though as they won’t have costs, vendors and other data assigned to them. This is why we recommend that the products exist in QuickBooks first. Also, the base QuickBooks extension currently supports Inventory, Non-Inventory and Service items. Advanced inventory types such as groups or assemblies are not supported.

With that said, to link a website product with a QuickBooks item, the website product’s sku must match the Item Name / Numberfield for the corresponding product in QuickBooks. If you’re entering the skus by hand or individually, make sure that you don’t mistake zeros for the letter ‘O’. Once you’ve made sure that the sku matches the item name / number of the same product in QuickBooks, you can enabled the inventory sync column. The next time the web connector runs, that item will be picked up in the Inventory Sync routine and depending on the extension’s settings, either the price, quantity or both will be updated on the website with the values from QuickBooks. After the link has been successfully established, whenever the web connector runs, the product’s price and / or stock on the website will be updated with the values from QuickBooks.

Note: If you change the Item Name / Number in QuickBooks or the sku on the website, the link will be broken for that product.

Sending Orders

Sending order’s shouldn’t even be attempted until all of your mappings, accounts and products are setup. The reason is, in order to programmatically create an order in QuickBooks, the extension needs to know specifics about what payment methods, tax rates, accounts and products exist in QuickBooks and how they relate to similar settings in your WooCommerce or Jigoshop website. After you’ve got all of your settings mapped and have verified all of your products can be found in QuickBooks and the QuickBooks Item Name / Number matches the website sku for the product, you can enabled the “Post Orders To QuickBooks” option. You should also consider enabled the “Store Order XML”, which will store the xml request to QuickBooks for the order. This is particularly useful for debugging when an order doesn’t go through.

When to send the order to QuickBooks?

To specify when an order should be queued to be transfered to QuickBooks, you can select the status from the “Order Status Trigger to send order to QuickBooks?” dropdown. What this setting does is specify when the order should be queued. By default, you should use “Completed”. This means that an order has theoretically been processed, shipped and you’ve received your money. At this point if you’re using QuickBooks primarily for accounting purposes, this is the time to transfer the order and have it entered into the books.

If you use QuickBooks for order fulfillment, you can try queuing the order at a different status, such as processing. This means, when an order’s status changes to processing, the order will be queued to be transferred to QuickBooks. The order status of processing does not assure that the order has been completed and shipped though and, for some reason you don’t ship the order and cancel or refund it in the website, it would need to be removed from QuickBooks as well.

How Should Orders be Posted To Quickbooks?

QuickBooks Premier and Enterprise users can specify whether the order should be created in QuickBooks as either a Sales Receipt or Sales Order. QuickBooks Pro users need use Sales Receipts only. If you are using sales orders, you can also specify to have an Invoice and Payment auto-created for the Sales Order. This is done at the time that the order is transferred to QuickBooks and is primarily meant for people who set the order status trigger to completed. 

Note: When enabled, an Invoice AND Payment are created. It’s not possible to specify one or the other.

Line Item Description for Variations

If you’re not tracking variations of variable products in QuickBooks, when the order’s created in QuickBooks, the parent product is used for the line item. If you’d like the line item description to reflect the value of the variation chosen, you can enable this option: “Should the attribute values for variable products be used as the Sales Receipt / Sales Order line item description?“. When enabled, the line item description will be a combination of the attribute and the chosen value. So if it a large size was selected, the description would be Size:Large 

Troubleshooting

If an order doesn’t go through, it’s likely one of the following is happening:

  1. An item on the order can’t be found in QuickBooks
  2. The payment method for the order isn’t mapped
  3. Sales tax rates are mapped incorrectly
  4. There’s no shipping item setup in QuickBooks

Go through all of your settings and make sure that everything’s mapped correctly. You can also look at the History tab in the extension for more details from QuickBooks about why the order didn’t transfer. If there are error’s complaining that the ListID is empty or that a ListID is invalid, that means that your account mappings are out of sync. To resolve, you should refresh your account mappings and re-save.

Interop.QBPOSXMLRPLIB, Version=3.0.1.48 Error Message

If you try to add the qwc file to Intuit’s webconnector and you receive the following message, here’s what you need to do to resolve it

Error Message:

QBWebConnector.SOAPWebService.ConnectToQB() : Error connecting to QuickBooks. Error message received from QuickBooks was <Could not load file or assembly ‘Interop.QBPOSXMLRPLIB, Version=3.0.1.48, Culture=neutral, PublicKeyToken=31d8aec643e18259′ or one of its dependencies. The system cannot find the file specified.>.

Solution:

You’ll receive that message if the PC running QuickBooks Point of Sale is missing a “library” (code for windows file) used to facilitate communication between Intuit’s webconnector and Intuit’s QuickBooks Point of Sale apps. This library might not be included during the options selected during the QBPOS install. The only / easiest way to include the missing windows files from Intuit is to download and install the QuickBooks Point of Sale SDK 3.0  from Intuit. You can find the download on this page:

https://developer.intuit.com/docs/0250_qb/0260_pos/0020_get_set_up/sdk_downloads

Be sure you download this file toward the bottom of the page:

QuickBooks Point of Sale SDK 3.0 Installer(self-extracting installer, 55MB)

You need to install that on the same PC that’s running Intuit’s webconnector and QuickBooks Point of Sale. Once installed, restart the PC and try adding the qwc file to Intuit’s webconnector.