Troubleshooting

Quickbooks Error “Response is not well-formed XML”

  • Check your PHP error log. Check your Apache error log. This is because there is a prior PHP or SQL error unrelated to the sync. Fix the error.
  • It could be extra space(s) or line breaks somewhere in the code before or after beginning/ending PHP tags. You can check this by using the ssl path from your setup screen.(tab 1 in settings)

Enter the “Current App URL” from above in the browser. you should get back something like the following, with no php error messages, or spaces(line breaks from the top). If you are getting error messages, then those errors need to get fixed before you can sync to QB. If there are one or more line breaks before you get PHP DevKit information, then extra space(s) or line breaks somewhere in the code before or after beginning/ending PHP tags in your code somewhere. Majority of the time, it will be in your functions.php. Your code is adding empty line breaks to the beginning of all your pages. Edit your functions.php and look for the end ?> tags and remove any extra spaces before that. for example:

//code ends here

 

?>

change this to

//code ?>

  • Your php version is too old. PHP version should be at least 5.6.

 

QuickBooks Connector runs really fast with no transaction processed
If you have orders and jobs in the queue but the connector runs quickly without processing:
1. Check and make sure there is no firewall rules preventing communication between QuickBooks and the website.
2. To prevent problems, the plugin prevents multiple concurrent logins or really fast login. Wait about 10 minutes and try again. Best practice is to set the QuickBooks connector to run automatically every 60 minutes.

3. Check the PHP error log and see if there are any errors preventing the processing.

 

QuickBooks Connector exits with “Too Many Sessions Message”

This happens if too many jobs are started while other jobs are still running. If you are running long jobs, such as a backlog of orders, then disable the automatic update in QuickBooks connector.

1.Stop the automatic update in QuickBooks connector. Navigate to WooCommerce->Clear QB Queue and clear the queue.

2. If that does not fix the issue. close QB. Activate and re-activate the plugin. Clear QB again. Restart Quickbooks.

 

There is an invalid reference to item “xxx”

When you get this message, look for the item in QuickBooks.

  • If a required item such as “discount item” missing, then create it in QuickBooks.
  • If the reference is to an invalid tax item, make sure that
    1. The tax rate or code exists in QuickBooks.
    2. The tax rate is not in a sales tax group.

 

What if an order doesn’t go through?
If an order doesn’t go through, it’s likely that 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 errors saying 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.

 

Charge shipping to customers

You can charge your customers for shipping by creating a shipping charge item and adding it to an invoice or cash sale.

Detailed Instructions To Create a Shipping Charge Item:

          1. Select the Lists menu and select Item List.
          1. Click the Items drop-down menu and select New.
          1. Click the Type drop-down menu and select Other Charge.
          1. In the Item Name/Number field, enter the item name.
          1. In the Amount or % field, enter what you charge for shipping (use 0.00 if shipping charges change from one sale to the next.)
          1. In the Account field, enter the account you will use to track the shipping charge.
          1. Click OK.

You can now use the new item to enter shipping charges on invoices and cash sales.

 

Default Account Options

Income Account

This is the Income Account in QuickBooks that should be used when new website products are automatically created in QuickBooks.

COGs Account

This is the Cost-Of-Goods Account in QuickBooks that should be used when new website products are automatically created in QuickBooks.

Deposit Account

This is the deposit account in QuickBooks used for creating sales receipts and payments for sales orders.

Asset Account

This is the asset account in QuickBooks that should be used when new website products are automatically created in QuickBooks.

Accounts Receivable

This is the receivables account in QuickBooks that’s used when creating Invoices. Invoices are only created when the order posting type is set to “Sales Order” and the option to auto create invoices and payments is turned on.

Expense Account

This is the expense account used in QuickBooks when new website products are automatically created in QuickBooks.

 

Order Posting Options

Post Orders to QuickBooks

Enable this option when you’d like to send orders to QuickBooks. This option should ONLY  be enabled once you’re product mappings have been setup. The value in the “Item Name / Number” field in QuickBooks should match the value for the “SKU” field in the corresponding website product.

Store Order XML?

If you’re just setting up your integration, it’s probably best to enable this option. When enabled, the actual request that goes to QuickBooks to create the order will be stored with the order. This will help debug if for some reason the order doesn’t transfer properly or at all.

Should the attribute values for variable products be used as the Sales Receipt / Sales Order line item description?

When checked.  the “Attribute Value” for variations will be used as the Line Item Description for the variation on Sales Receipts and/or Sales Orders. This is particularly useful if there’s no need to keep track of variations in QB. For instrance, if you sold t-shirts (item name in QB: t-shirt) in red, yellow and blue, but didn’t want to keep track of each variation in QuickBooks, if this options were enabled, when the sales receipt / sales order was created, the line item would look like this:

Name : t-shirt

Desc: color:red

Not having this option selected, would just leave the standard description of the parent item t-shirt as the line item description

Auto-create Invoices and Payments

This option is only applicable when the order posting type is Sales Order. When enabled, a new invoice AND payment will created to close out the sales order. This option does not do anything when the order posting type is Sales Receipt as sales receipts are self-closing.

Order Status Trigger to send order to QuickBooks?

You can choose to send the order to QuickBooks when the order status reaches either “Pending”, “Processing” or “Completed”. Please remember that all orders MUST hit whatever status you choose. For instance if you choose “Pending’, but your orders go straight to “Processing”, the orders will never be queued to go to QuickBooks.

Add prefixes to your sales receipts, sales orders, invoices and payments

These are prefixes that you can use to identify website orders.

 

Customer Options

Create Individual Customer Accounts in Quickbooks

When enabled, each website customer will be created in QuickBooks if they don’t already exist. Each order for that customer on the website will then be placed under that customer in QuickBooks, to determine if the customer already exists in QuickBooks, the format laid out in the “How Should Customer Names be created in QuickBooks” field is used to query QuickBooks

How Should Customer Names be created in QuickBooks

This is the format that customer names are created and queried in QuickBooks

Default Customer Account

This is a default, catch-all customer account. This option is only used if the “Create Individual Customer Account in QuickBooks” is disabled. Otherwise, this customer account is ignored.

 

Payment Method Mappings

Map Your WooCommerce Payment Methods to Your QuickBooks Payment Methods

These are the mappings for your QuickBooks to WooCommerce payment methods. These mappings tells QuickBooks what the payment method on the website equals in QuickBooks. So if you have “Paypal” as a website payment method and wanted that to go under “Credit Card” in QuickBooks, you’d map PayPal to Credit Card in this section.

 

Sales Tax Mappings

QuckBooks Sales Tax Vendor

This is the name of the Sales Tax Vendor exactly as it appears in QuickBooks. This is who you pay your sales tax to.

Default No Tax Account

The default “no tax” account is the sales tax item in QuickBooks that has a zero percent sales tax rate. This is used to create orders where no tax was collected.

Map Your WooCommerce Sales Tax Classes to Your QuickBooks Sales Tax Codes

Each sales tax code on the website must correspond to a sales tax code in QuickBooks. Sales tax classes should be mapped to zero / exempt tax codes in QB.

Map Your Local WooCommerce Sales Tax Rates to Your QuickBooks Sales Rates.

Each “local” sales tax rate that you have setup on the website MUST correspond to sales tax item in QuickBooks. If you have “local” sales tax rates setup on the website, but they don’t appear here, check to make sure that each sales tax rate on the website has a label associated with it. Your tax rates in WooCommerce should be mapped to sales tax rates in QB that are NOT in sales tax groups.

Map Your WooCommerce Sales Tax Rates to Your QuickBooks Sales Rates.

Each sales tax rate that you have setup on the website MUST correspond to sales tax item in QuickBooks. If you have sales tax rates setup on the website, but they don’t appear here, check to make sure that each sales tax rate on the website has a label associated with it.

        • All taxes are calculated on the web site based on WooCommerce tax setup and posted to QuickBooks as line items in sales receipts or sales orders. Sales tax groups are not supported and sales tax rates from the website must be mapped to QB sales tax rates that are not included in sales tax groups. Sales tax rates included in the sales tax groups must be set to zero or renamed and re-created outside of the sales tax group to prevent double counting- tax is already added in the body of the order/receipt as a line item.The sales tax mapping section is where you map the sales tax rates and codes for your site to what you have in QuickBooks .
          • All sales tax items are posted as line items in the body of the sales order or sales receipt as opposed to a total at the bottom singly or in a sales tax group.
          • Any sales tax code used on the web site must be mapped to a sales tax in QB.
          • The transaction sales tax rates (tax that shows up in the footer) should be set to a zero rate tax code to avoid double counting. All taxes will already be included in the body of sales receipt or sales order as line items. There is more documentation in the settings section on how to do this.
          • Process is as follows:
            • Map your WooCommerce tax “classes” to zero/exempt tax “codes” in QuickBooks.
            • Map WooCommerce tax “rates” to your QuickBooks “rates” that are not in a sales tax group.
            • When you run the QuickBooks connector, tax items will post as line items in the body of sales tax receipt or sales order in QuickBooks.

 

 

 

 

Shipping Settings

In order to transfer the shipping charges to your customers correctly as line items on the sales receipt / sales order, you need to have a “shipping item” setup in QuickBooks. If you’re unfamiliar with how this should look, here’s a link from Intuit on how to set this up:

Creating a Shipping Item in QuickBooks

 

 

Product Sync Settings

Sync Inventory On-Hand from QuickBooks

If checked, the on-hand quantity in the website will be updated with the on-hand quantity count from QuickBooks. Note: Stock management must be enabled on the website in order for this to have any effect.

Sync Price from QuickBooks

If checked, the price on the website will be updated with the price in QuickBooks.

Do you keep track of parent products for variations in QuickBooks?

If you don’t need to keep track of parent products of variable products, leave this item unchecked.

Do you keep track of variantions for variable products in QuickBooks?

If you don’t keep track of variations of variable products, you should leave this option unchecked. If you do track variations separately in QuickBooks, this item should be checked.

Unique Product Identifer Mapping for Quickbooks

You can choose to use either sku or product id. Sku is the recommended option and product id will be deprecated in future releases. You should use sku.

Change WooCommerce stock status when QuickBooks quantity goes above or below zero?

If this is enabled, then the extension will change the a product’s stock status to “In Stock” and “Out of Stock” and the quantity is greater then or less than zero. This options should only be used if your QuickBooks items are “Inventory” items.

Auto-create website products in QuickBooks if they can’t be found?

If this option is enabled, products that can’t be found in QuickBooks based on the website’s sku field, will be automatically created. This option is still in beta and should be used to “setup” your QuickBooks inventory. Auto-created options will still require a certain level of intervention from your end. You will still need to enter costs, manufacturers, etc. If you’d like to use this feature, make sure that either “Sync Price from QuickBooks”, “Sync Inventory On-Hand from QuickBooks” or both are enabled.

Are Variations Subitems of the Parent product in QB?

If you’re keeping track of variations in as separate items in QuickBooks, enabling this options means that the variations that you’ve setup in QuickBooks are sub items of the parent product in QuickBooks.

Default QuickBooks Item Type for auto-created products?

If you have “Auto-create website products in QuickBooks if they can’t be found?” enabled, this is the QuickBooks Item Type that they will be auto-created as. Current supported item types are “Inventory”, “Non-Inventory” and “Service”.

How Often Should the Inventory Sync run?

This is the time (in minutes) between inventory syncing. Setting this to a time other than what’s in the web connector auto-run interval,  is particularly useful if your QuickBooks catalog has a lot of items. For instance, let’s say you want the web connector to run every 5 minutes to check for new orders, but sync inventory only needs to happen every 60 minutes. You can set the web connector auto-run interval to 5 min and then set this value to 60.

Common Errors & Fixes

 

QuickBooks 1012 Authentication Failed

The Problem:

After initiating Intuit’s Web Connector, the sync fails and your receive the error message QBWC102 Authentication Failed. When clicking the “Click for more information” in Intuit’s web connector, a dialog box appear on your desktop with the following information. :

Message: Authentication failed

Description: QBWC1012: Authentication failed due to the following error message. The remote name could not be resolved: ‘your domain.com’ See QWCLog for more details. Remember to turn logging on.

Why You’re receiving this message:

A DNS error on your PC is preventing Intuit’s Web Connector from connecting to your website.

How to correct this error:

You can correct this issue by rebooting the computer that is running Intuit’s Web Connector. This will clear the DNS error and allow Web Connector to connect to your website.

 

 

QuickBooks 3140 Transaction Sales Tax is currently disabled by preferences.

If you receive the following message when trying to create a sales order / sales receipt in QB, then you have sales tax disabled in your company settings:

3140: There is an invalid reference to QuickBooks ItemSalesTax “No Sales Tax – Website” in the SalesReceipt. QuickBooks error message: Transaction Sales Tax is currently disabled by preferences

To correct this message, you’ll need to enable sales tax at the company level by following these steps.

          1. Open QuickBooks with the correct company file
          1. Click the Edit menu then Preferences
          1. From the left vertical tool bar, select Sales Tax
          1. Click the Company Preferences tab
          1. Select Yes in the ‘Do you charge sales tax’ field. (This is a temporary change)
          1. Make sure there is a ‘Most common sales tax’ entry
          1. Click OK.
          1. Uncheck both boxes in the ‘Update Sales Tax’ dialog box then click OK.
          1. You may need to click OK to a confirmation about closing windows.

 

QuickBooks 3270 Missing posting account

QuickBooks error code 3270: Missing posting account pertains to trying to create a sales order in a version of QuickBooks that doesn’t allow sales order creation. All versions of QuickBooks will let you view sales orders, but only certain versions of QuickBooks lets you create new sales orders.

If you’re using QuickBooks Pro, you will receive that message when trying to send website orders to QuickBooks as Sales Orders. You’ll need to change the order posting type to Sales Receipts.

 

Warning: mcrypt_encrypt(): Key of size 10 not supported by this algorithm

If you receive the following warning while trying to generate a qwc file on your site, take the steps listed below to correct the issue:

Warning: mcrypt_encrypt(): Key of size 10 not supported by this algorithm.

          1. Install the latest version of the plugin
          2. Once the latest version of the WooCommerce QuickBooks Integration has been installed, click the Reset QWC Users button
          3. Re-enter the username, password and ssl path
          4. Click the Generate QWC File button
          1. Remove the old QWC file from Intuit’s webconnector
          1. Add the new QWC file from Intuit’s webconnector

After you do those steps, you shouldn’t have to take any further action.