As of v1.9 of our module, we’ve introduced a feature that allows you to disable the real-time sync functionality of the module – and let a cron job handle the sync activity instead.
The most helpful feature of this functionality is the decreased lag time that would be experienced while performing daily activity in the admin / front-end. Because the syncing activity no longer uses the WHMCS hooks to real-time sync to QuickBooks Online, there will be zero-lag while performing actions like adding or saving invoices in the admin. In the past, there may have been a small lag dependent on the amount of data in your WHMCS and QuickBooks Online systems, the memory_limit and CPU available to your WHMCS system, and the latency of your connection to QuickBooks Online.
How to configure
The process to enable this functionality is very simple.
- Visit Setup > Add-on Modules > MyWorks QuickBooks Sync > Configure. In the Advanced Settings section, check the box to “Disable Real-Time Syncing”. Save configuration.
- Once real-time syncing has been disabled, all syncing activity will now be “queued” in the module Sync Queue, located in Addons > MyWorks QuickBooks > Settings & Logs > Sync Queue.
- To process this queue, it is necessary to set an additional cron job for our module. Visit Addons > MyWorks QuickBooks > Settings & Logs > Cron Setup to view the available module cron jobs, and set the “Cron Sync” cron job to run every X minutes. We recommend this value is set to anywhere between 10-30 minutes, as every time the cron job runs, it will process the syncing activity queue in the Sync Queue.
Once configured, the Sync Queue will show syncing activity not yet synced to QuickBooks Online. Once the sync cron job has run, it will process the queued syncing activity.