This article will show you want needs to be setup in order to Sync QuickBooks Online properly with PinnacleCart.
Applies to Version(s): 3.8.6 - Current
Complexity Level: Medium
Brief explanation of the QuickBooks Online Settings
Explanation of the Synchronization Process
How to Enable Quickbooks.
Log into your cart Admin and then go down to "Apps" on the left hand side.
Once you're here you will then see a button on the upper right that says "App Center". You will want to click this to get to all Apps.
Next find the Quick Books App and click on that.
Now you will click on the upper Right Hand corner to Connect to Quick Books
After clicking that button it will now bring up a login screen for Intuit Quick Books
Now that your account has been connected to QBs you go back to Apps on the left hand side and it will show all the Apps you currently have active. You can click on this and it will show you all your Sync information
Important: In order to synchronize order data properly, please enable "Shipping" & "Discount" in your QuickBooks Online settings (see in Settings / Company Settings / Sales). Set both "Shipping" and "Discount" to "On"
Brief explanation of the QuickBooks Online Settings
You can adjust any of the settings below at any time by clicking the green quickbooks online settings button the upper left hand screen as shown below.
- “Customer synchronization rule”. The current PinnacleCart QuickBooks Online integration has 2 options for updateing customers’ data:
- “Add new customer / ignore existing”
- “Add new customers and update existing”
- *For customers that haven’t been synchronized yet, synchronization engine will try to find their records on the QuickBooks Online side base on customer’s email address. If record already exists in QuickBooks Online, then synchronization engine will store QuickBooks Online ID for this customer in a local PinnacleCart database. Then, based on selected option for “Customer synchronization rule” engine will push customer’s data to QuickBooks Online (option “Add new customers and update existing”) OR will ignore that customer (will not update data on the QuickBooks Online side).
*For customers that already were synchronized with QuickBooks Online, based on selected option for “Customer synchronization rule” engine will push customer’s data to QuickBooks Online (option “Add new customers and update existing”) OR will ignore that customer (will not update data on the QuickBooks Online side).
Note: The QuickBooks Online requires customers names to be unique within the system. The Synchronization Engine will append a number to the customer’s name in the case of duplicates (two or more customers with the same name). The synchronization engine will append a number to the customer’s name in the case of duplicates. - “Product synchronization rule”. The current PinnacleCart QuickBooks Online integration has 2 options for how to update product data:
- “Add new products / ignore existing”
- “Add new products and update existing”
*For products that haven’t been synchronized yet, the engine will try to find matching products on the QuickBooks Online side using the Product ID / SKU so, the Product ID in PinnacleCart and must match SKU in QuickBooks Online. If a record already exists in QuickBooks Online then synchronization engine will store the QuickBooks Online ID for this product in the local PinnacleCart database, and then, based on the selected option for “Product synchronization rule” the engine will push product’s data to QuickBooks Online (option “Add new products and update existing”) OR will ignore that product (will not update data on the QuickBooks Online side).
*For products that already were synchronized with QuickBooks Online, based on selected option for “Product synchronization rule” engine will push product’s data to QuickBooks Online (option “Add new products and update existing”) OR will ignore that product (will not update data on the QuickBooks Online side).
Note 1: The synchronization engine synchronizes products with the variants and products without the variants separately. So if product has few variants in it, all these variants will appear in QuickBooks Online as a separate items.
Note 2: QuickBooks Online requires item/product names to be unique within the system. The Synchronization Engine will appends a number to the product name in the case of duplicates.- “Pull stock from QuickBooks?”. This options activates inventory control and allows to synchronize stock between multiple stores using QuickBooks Online as central data hub or a master record. When PinnacleCart pushes orders to QuickBooks Online, QuickBooks Online automatically adjusts inventory for “inventory items” (it decreases stock based on quantity purchased). PinnacleCart pulls that new stock number from QuickBooks Online and stores it into PinnacleCart database (updates product / product variant) record.
- “Inventory buffer settings”. This options works when “Pull stock from QuickBooks?” has been enabled. It allows to avoid products to be oversold if merchant has multiple sale channels. New inventory quantity that was pulled from the QuickBooks Online will be adjusted accordingly to that value.
- “Adjust stock on unprocessed orders?”. As Synchronization Engine synchronizes only complete orders, this means that stock for placed but unprocessed items will not affect QuickBooks Online quantity on hand value. By enabling this option new stock value will be accordingly adjusted based on quantity of unprocessed items.
- “Default Tax Code” - tax code that will be used to track taxes for taxable items.
- “Non-taxable Tax Code” - tax code that will be used to track sales on non-taxable products.
- “Products Expense Account” - expense account used to pay the vendor for the products.
- “Product Income Account” - posting account that records proceeds from the sale of items.
- “Product Asset Account” - inventory asset account that tracks the current value of the inventory.
- "Sales Deposit Account” - sales deposit account where funds will be deposited after sale.
Explanation of the Synchronization Process
Synchronization process may be triggered in 2 different ways:
- Manually using “Synchronize Now” button on the QuickBooks Online page
- Using cron script - if QuickBooks Online is active and crons are set up, then it will automatically run every hour.
The synchronization process happens in the following order:
- Engine checks is there Synchronization job already running. If this job is not older than 59 minutes then it skips initiated synchronization process.
- Engine records current time to mark synchronization start time - if date is not clear it mean that synchronization process already running.
- Engine initializes connection to QuickBooks Online and retrieves QuickBooks Online company information. In this manner we check are permissions valid and get information is inventory control support enabled.
- Engine synchronized customers (see notes for the “Customer synchronization rule” settings option).
- Engine synchronizes products WITHOUT variants (see notes for the “Product synchronization rule” settings option).
- Engine synchronizes products WITH variants (see notes for the “Product synchronization rule” settings option).
- Engine synchronizes orders.
- If inventory control support enabled in QuickBooks Online, and “Pull stock from QuickBooks?” settings option is set to Yes, engine synchronized quantity on hand (stock)
- Engine resets (clears) synchronization start date.
Questions and Clarifications
Q: Does the sync send over orders that are in the Process status?
A: No, it only sends over orders that the cart considers complete, which requires them to be in the "Completed" status
Q: Does this work with QuickBooks Desktop or Enterprise?
A: No, it only works with QuickBooks Online at this time though plans are in the works to support more options.
Links to Related Articles.
None at this time.
If you didn't get your question answered, please contact the Pinnacle Cart Support Team. To submit a ticket, go to the My Account drop-down menu at the top right of the admin area and select Support