Having issues with your QuickBooks Online integration? Below are some common errors explained.
This article will cover the following topics:
- Contacts Push Limitation
- Invoice Rounding Error
- Inventory Starting Date Error
- Currency Limitation
- SKU Field Limitation
- Sales Receipts Synchronization
The QuickBooks Online system has a known limitation that does not allow 2 individual contacts with the same name to be pushed through to QuickBooks.
Consider the following scenario:
In QuickBooks there exists a contact with name 'John Doe', with the email email@example.com
When integrating with another system, OneSaas gets another 'John Doe' contact, however with a different email address and contact details (firstname.lastname@example.org)
Because of this OneSaas will treat both John Doe records as separate contacts. However if we try to push the new John Doe into QuickBooks, the QuickBooks API rejects this on the basis that the name is a duplicate.
When this happens, we'll automatically append the second contact with a '-1' (John Doe-1) to send it through to QuickBooks Online.
There is currently a known limitation with the QuickBooks Online system, where we sometimes run into calculation errors when dealing with tax codes.
Consider the following example:
OneSaas receives the following data from the e-Commerce system:
1. Unit price for the item is $14.90 with 10% GST already applied
2. When we push this to QuickBooks Online, we are asked for an excluding tax total
3. we calculate this by $14.90 divided by the GST amount
4. This comes to $13.545454...
However we cannot give that sort of tax total over to QuickBooks Online, so we have to narrow this down to 2 decimal places:
1. As a result the ex-tax total is rounded to $13.55
2. we try to assign 10% GST on top of the excluding tax total
3. $13.55 plus 10% GST is $14.905
4. Then we need to apply rounding again to get $14.91
As you can see, there is a $0.01 discrepancy in the total. For now, we have reached out to QuickBooks Online about this, and hope to find a solution!
We were unable to send Transaction(s) to QuickBooks Online because the transaction date is prior to start date for an inventory item in the transaction.
These errors are being reported by the QuickBooks Onine system directly and is not something we can control.
It looks like the items you have created in QuickBooks Online have an Inventory start date dated later than the invoices we are trying to push through.
For example, if invoice ABC123 is dated 3rd June 2014, you need to make sure that all items in the invoice have a starting earlier than 3rd June 2014.
You may need to delete the item in QuickBooks Online and then re-create them. If you do that, please contact OneSaas Support so we can try to adjust OneSaas for this.
The same scenario can also happen in reverse, where we're unable to push an item if invoices containing the item already exist in QuickBooks Online with an invoice date after the inventory start date of the item.
Currently there is a limitation where one customer cannot order in multiple currencies - please consider the following scenario:
- Customer makes a sale in AUD
- We add the customer to QuickBooks Online with AUD as their default currency
- Customer makes another sale in USD
- We hit an error as this is not the customers default currency
We're currently working on a way to handle this better, however for now please be aware the above scenario can occur if a customer orders twice in different currencies. You will have to process any invoice that hits this limitation manually.
Although Quickbooks Online has added an SKU attribute to their products / items, OneSaas is not currently using this field to match products across connected apps.
The reason for this is that this field is not mandatory, nor unique and it doesn't have the properties of an SKU field. Main point being that the Quickbooks Online system currently allows multiple items to have the same SKU.
The Name field instead has all the properties of an SKU type field, meaning they are unique and our system is using this field to match.
Hence, items are matched by their source system SKU / Product Code to Quickbooks Online Product Name.
If you are syncing orders into your QuickBooks Online and you select to send them as Sales Receipts, please note that they are dependent on payment data.
Hence, orders will only be sent to QuickBooks Online when the order has been paid in the source system. Unpaid orders can not be sent as Sales Receipts to QuickBooks Online.