Personal tools
Namespaces

Variants
Actions

QuickBooks Online For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
<h4 style="color: #ff0000; font-weight:bold; text-align:center;">Article update is ongoing on this page, watch out for broken links and unclear descriptions!<br/>
 
We are sorry for the inconvenience caused.</h4>
 
 
<meta name="keywords" content="quickbooks online for whmcs, quickbooks online configuration, whmcs quickbooks online management, whmcs quickbooks online installation, whmcs quickbooks online common problems, about whmcs quickbooks online, whmcs quickbooks online documentation, whmcs quickbooks online faq, whmcs quickbooks online help, whmcs quickbooks online guide, whmcs quickbooks online wiki, whmcs quickbooks  online tutorial, whmcs quickbooks online tips, whmcs quickbooks online wiki"></meta>
 
<meta name="keywords" content="quickbooks online for whmcs, quickbooks online configuration, whmcs quickbooks online management, whmcs quickbooks online installation, whmcs quickbooks online common problems, about whmcs quickbooks online, whmcs quickbooks online documentation, whmcs quickbooks online faq, whmcs quickbooks online help, whmcs quickbooks online guide, whmcs quickbooks online wiki, whmcs quickbooks  online tutorial, whmcs quickbooks online tips, whmcs quickbooks online wiki"></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The QuickBooks For WHMCS Module."></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The QuickBooks For WHMCS Module."></meta>
Line 98: Line 96:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ OAuth 1.0a
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports OAuth 1.0 And OAuth 2.0
 
|}
 
|}
 
{|
 
{|
Line 123: Line 121:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:QB_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB2_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.3 up to PHP 5.6.<br/>It does not apply to open source versions.<br/>
+
|style="padding: 0px 0px 10px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.4 up to PHP 5.6.<br/>It does not apply to open source versions.<br/>
 
'' '''Note''': You can check current PHP version in your WHMCS. To do so proceed to ''' 'Utilities' → 'System' → 'PHP Info'.'''
 
'' '''Note''': You can check current PHP version in your WHMCS. To do so proceed to ''' 'Utilities' → 'System' → 'PHP Info'.'''
 
|}
 
|}
Line 158: Line 156:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:QB_5.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB2_5.png]]
 
|}
 
|}
 
{|
 
{|
Line 165: Line 163:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:QB_6.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:Q2B_6.png]]
 
|}
 
|}
 
{|
 
{|
Line 174: Line 172:
 
=Configuration and Management=
 
=Configuration and Management=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''QuickBooks Online For WHMCS is a module which allows you to export any data on clients, invoices and payments directly to QuickBooks.'''<br/>'''Note:''' module currently supports only '''OAuth 1.0a''' keys. Support for '''OAuth 2.0''' is in development.
+
|style="padding: 10px 0px 30px 15px;"|'''QuickBooks Online For WHMCS is a module which allows you to export any data on clients, invoices and payments directly to QuickBooks.'''<br /> <span style="color: #ff0000;">'''Note: ''' '''Since 17th July, 2017''' all newly created QuickBooks apps support '''OAuth 2.0''' authorization standard. You can find more information about this change [https://developer.intuit.com/docs/0100_quickbooks_online/0100_essentials/000500_authentication_and_authorization/0010_oauth_1.0_vs_oauth_2.0_apps here].<br/>Apps created '''before''' that date will still support '''OAuth 1.0'''. The differences in module configuration between these standards are described in next steps of this documentation.<br/></span>
'''Warning:''' In order to properly use QuickBooks Online For WHMCS, it is required to have '''OAuth PHP Class installed!''' <br />
+
'''Warning:''' In order to properly use QuickBooks Online For WHMCS with '''OAuth 1.0''', it is required to have '''OAuth PHP Class''' installed before you proceed to the proper configuration of QuickBooks Online For WHMCS.'''<br/>
'''Make sure OAuth PHP Class is installed in your system, only then you can proceed to the proper configuration of QuickBooks Online For WHMCS.'''
+
'''OAuth PHP Class''' is '''not''' required for '''OAuth 2.0''' but your WHMCS has to support '''HTTPS''' protocol and have a proper domain name (IP addresses are not supported). <br />
 
|}
 
|}
==API Keys==
+
<!-- ==API Keys For OAuth 1.0 Account==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Before you proceed to proper configuration of the module, you will need to generate some data directly in QuickBooks. <br />Please follow the steps:<br />
+
|style="padding: 10px 0px 15px 15px;"|Before you proceed to proper configuration of the module, you will need to generate some data directly in QuickBooks. <br />Please follow the steps below depending on the version of OAuth that your QuickBooks account supports.<br />
 
'''1. Log in to:''' https://developer.intuit.com/ <br>
 
'''1. Log in to:''' https://developer.intuit.com/ <br>
 
:Use your QuickBooks account details to sign in.  
 
:Use your QuickBooks account details to sign in.  
Line 212: Line 210:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''6. If your account data is properly filled in, you will have to complete any information on the application and '' 'Save Changes'. '' ''' <br />
+
|style="padding: 0px 0px 15px 15px;"|'''6. If your account data is properly filled in, you can complete the information on the application and '' 'Save Changes'. '' ''' <br />
However, if your account data are not complete, you will have to fill them out firstly.
+
However, if your account details are not complete, you will have to fill them out first.
 
|}
 
|}
 
{|
 
{|
Line 219: Line 217:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''7. Now, you are finally in the right place. In '' 'Keys' '' section, there are:'''
+
|style="padding: 0px 0px 20px 15px;"|'''7. Now, you are finally in the right place. In the '' 'Keys' '' section, there are:'''
 +
*App Token
 +
*OAuth Consumer Key
 +
*OAuth Consumer Secret
 +
These keys are very important, you will need them in the very next step of the module configuration. Please keep them safe.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:QB_27.png]]
 +
|}
 +
-->
 +
 
 +
==API Keys==
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|Before you move to the essential configuration of the module, you need to generate some data directly in QuickBooks. <br />Please follow the steps below depending on the version of OAuth that your QuickBooks account supports.<br />
 +
'''1. Log in to:''' https://developer.intuit.com/ <br>
 +
:Use your QuickBooks account details to sign in.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:QB_28.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''2. Once you are logged in, find '' 'My Apps' '' tab, press it and then '' 'Create a new app'. '' '''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:QB_20.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''3. Choose: '' 'Select APIs' '' '''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:QB_21.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''4. Then mark '' 'Accounting ' '' and '' 'Create app'. '' '''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:QB_22.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''5. Once a new app has been created, you have to move to '' 'Settings' '' section. '' '''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:QB_2_0_23.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''6. Then, fill the rest of the information and '' 'Save Changes'. '' ''' <br />
 +
Note that your application data need to be complete to make it work on the production mode.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:QB_2_0_26.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''7. When ready, move to '' 'Keys' '' tab and scroll down to the '' 'Production Keys' section.'' ''' <br />
 +
Note that your application data need to be complete to make it work on the production mode.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:QB_2_0_26_1.png]]
 +
|}
 +
===For OAuth 2.0===
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|This step is only required for apps crated '''after''' 17th July, 2017 which are using the '''OAuth 2.0''' authentication method.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''In '' 'Production Keys' '' section you will find:'''
 +
*Client ID
 +
*Client Secret
 +
These keys are very important, you will need them in the very next step of the module configuration. '''Please keep them safe'''.<br /><br />
 +
Next, go to the ''' 'Redirect URIs' '''. You need to provide a proper callback QuickBooks URI from your WHMCS installation in the following format:<br />
 +
<nowiki>https://yourdomain.com/admin/addonmodules.php?quickBooksCallbackOauth2</nowiki>
 +
'' Note that your ''' 'admin' ''' folder might have a different name than the default one. Provided URI also has to start with ''' https:// '''. You will find the already customized address in your module configuration.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:QB_2_0_27.png]]
 +
|}
 +
 
 +
===For OAuth 1.0===
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|This step is only required for apps crated '''before''' Jul 17th 2017 which are using '''OAuth 1.0''' authentication method.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''In '' 'Production Keys' '' you will find:'''
 
*App Token
 
*App Token
 
*OAuth Consumer Key
 
*OAuth Consumer Key
Line 234: Line 312:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''1. Start with API configuration,''' since this part is the very basic and absolutely necessary to proceed to any further steps.<br />
+
|style="padding: 0px 0px 15px 15px;"|'''1. Start with API configuration,''' since this part is very basic and absolutely necessary to take any further steps.<br />
Currently your '' 'Connection Status' '' is '' 'Not Connected'. '' In order to connect to QuickBooks press '' 'Change' '' button marked on the screen below:
+
Currently, your '' 'Connection Status' '' is '' 'Not Connected'. '' In order to establish connection with QuickBooks Online, press the button corresponding to your authentication method:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:QB_8.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB2_8.png]]
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|A box will appear where you will have to type in all the previously generated data. <br />
 
|style="padding: 0px 0px 15px 15px;"|A box will appear where you will have to type in all the previously generated data. <br />
It will allow the module to authenticate your identity in QuickBooks system and let connect your WHMCS with it.  <br />
+
It will allow the module to authenticate your identity in QuickBooks system and let your WHMCS connect with it.  <br />
These are your QuickBooks keys that you have generated in the previous step:
+
These are your QuickBooks keys that you have generated in the previous step:<br /><br />
 +
'''OAuth 2.0'''
 +
*Client ID
 +
*Client Secret
 +
*Sandbox - if you have used '' 'Production' '' to generate '' 'Keys,' '' unmark this checkbox.
 +
*Debug Mode - select to follow logs in the '' 'Module Log' '' section.
 +
<br />
 +
'''OAuth 1.0'''
 
*Token
 
*Token
 
*Consumer Key
 
*Consumer Key
 
*Consumer Secret Key
 
*Consumer Secret Key
 
*Sandbox - if you have used '' 'Production' '' to generate '' 'Token' '' and '' 'Keys,' '' unmark this checkbox.
 
*Sandbox - if you have used '' 'Production' '' to generate '' 'Token' '' and '' 'Keys,' '' unmark this checkbox.
*Debug Mode - select to follow logs in '' 'Module Log' '' section.
+
*Debug Mode - select to follow logs in the '' 'Module Log' '' section.
'''Save changes firstly''' and only then a button '' 'Connect to QuickBooks' '' appears, press it to connect to QuickBooks.
+
<br />
 +
'''Save changes first''' as only then a button '' 'Connect to QuickBooks' '' will appear. Press it to connect to QuickBooks Online.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:QB_35.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB2_35.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"| If entered data are correct, you will be redirected to QuickBooks where you will have to agree to authenticate the connection. <br /> Only then connection status in your module will change to '' 'Connected,' '' and data on your company will be automatically downloaded from QuickBooks and filled out here. <br />
+
|style="padding: 0px 0px 15px 15px;"| If the entered data are correct, you will be redirected to QuickBooks where you will have to agree to authenticate the connection. <br /> Only then the connection status in your module will change to '' 'Connected,' '' the data on your company will be automatically downloaded from QuickBooks and filled out here. <br />
From now on will be able to use your QuickBooks Online For WHMCS.
+
From now on, you will be able to use your QuickBooks Online For WHMCS module.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:QB_29.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB2_29.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You have to do this step once only. <br />
+
|style="padding: 0px 0px 15px 15px;"|You have to do this step only once. Entering the token and consumer keys will not be required again, even if the module will be deactivated in the meantime. <br />
It will not be required from you to enter token and consumer keys again even if the module has been deactivated in the meantime. Connection with QuickBooks will remain successful.
+
'' '''Important:''' to retain the connection with QuickBooks for '''OAuth 2.0''', you have to set up a '''cron''' to run '''at least every hour'''. Go [https://www.docs.modulesgarden.com/QuickBooks_Online_For_WHMCS#Cron_Jobs here] for more information.''<br />
 +
''This is due to the idle time for the OAuth 2.0 token being only valid one hour (as seen in 'Access Token Valid Time'). The cron job is needed to maintain the continuity of the session.''<br />
 +
''If you need to refresh the token manually, simply press 'Refresh Access Token'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''2. Multi-Currency''' configuration.<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''2. Cron configuration''' - set up cron jobs.<br />
 +
*The first one should be run regularly, every one hour interval is recommended. It is responsible for synchronization of any updates done in WHMCS with QuickBooks.<br />It also maintains a session for OAuth 2.0 which otherwise would expire after an hour. <br />
 +
*The second cron job is run only once. It exports all clients, invoices and transactions to QuickBooks as soon as our module is activated in your WHMCS.<br />
 +
*The third cron is only used to maintain the session for an OAuth 2.0 connection. Use it only if the first cron is running less than every hour. It is not needed for OAuth 1.0.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:QB2_9.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''3. Multi-Currency''' configuration.<br/>
 
If connection with QuickBooks has been properly setup, currency details will be visible.  
 
If connection with QuickBooks has been properly setup, currency details will be visible.  
 
*View ''Home Currency''
 
*View ''Home Currency''
Line 274: Line 371:
 
{|
 
{|
 
|style="padding: 0px 0px 20px 25px;"|[[File:QB_currency.png]]
 
|style="padding: 0px 0px 20px 25px;"|[[File:QB_currency.png]]
|}
 
{|
 
|style="padding: 0px 0px 15px 15px;"|'''3. Cron configuration''' - set up cron jobs.<br />
 
The first one should be run regularly, every one hour interval is recommended. It is responsible for synchronization with QuickBooks of any updates done in WHMCS. <br />
 
The second cron job is run only once. It exports all clients, invoices and transactions to QuickBooks once our module is activated in your WHMCS.
 
|}
 
{|
 
|style="padding: 0px 0px 20px 25px;"|[[File:QB_9.png]]
 
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|'''4. Synchronization Settings''' - decide which of the possible synchronization options you want to enable. <br />
 
|style="padding: 0px 0px 15px 15px;"|'''4. Synchronization Settings''' - decide which of the possible synchronization options you want to enable. <br />
Tick the ones you are interested in.
+
Simply tick the ones you are interested in.
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|There are:<br />
 
|style="padding: 0px 0px 15px 15px;"|There are:<br />
 
'''Clients''' synchronization:
 
'''Clients''' synchronization:
*Create - done on client's creation  
+
*Create - performed on client's creation  
 
*Update - takes place when client account has been updated  
 
*Update - takes place when client account has been updated  
 
'''Invoices''' synchronization:
 
'''Invoices''' synchronization:
*Create - done on invoice creation  
+
*Create - performed on invoice creation  
 
*Update - takes place when an invoice has been updated or altered   
 
*Update - takes place when an invoice has been updated or altered   
 
*Delete - takes place when an invoice has been deleted  
 
*Delete - takes place when an invoice has been deleted  
*Add Funds Invoice - if checked the synchronization of 'Add Funds' (Add Credit) invoices will be disabled
+
*Add Funds Invoice - if checked, the synchronization of 'Add Funds' (Add Credit) invoices will be disabled
*Delete Cancelled - tick to remove already cancelled WHMCS invoices from QuickBooks Online
+
*Delete Cancelled - tick to remove the already cancelled WHMCS invoices from QuickBooks Online
  
 
'''Payments''' synchronization:
 
'''Payments''' synchronization:
*Create - done when a transaction has been completed
+
*Create - performed when a transaction has been completed
 
*Delete - takes place when a transaction has been deleted by an admin  
 
*Delete - takes place when a transaction has been deleted by an admin  
 
'''Refunds''' synchronization:
 
'''Refunds''' synchronization:
*Create - done when a refund has been completed
+
*Create - performed when a refund has been completed
 
*Delete - takes place when a refund has been deleted by an admin   
 
*Delete - takes place when a refund has been deleted by an admin   
*:Please note that both payments and refunds are handled together and in dashboard are summarized as one point called '' 'Payments' ''
+
*:Please note that both payments and refunds are handled together and are displayed as one point on the dashboard called '' 'Payments' ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Apart from choosing required synchronization options, you have to decide here, which items from QuickBooks, '' 'Products ', '' '' 'Addons' '' and '' 'Domains' '' will be associated with.<br />''Note: Default Product will be used only when there is no relation set for the selected product in 'Relation: Product' section.''<br/>  
+
|style="padding: 0px 0px 15px 15px;"|Apart from choosing required synchronization options, you have to decide which items from QuickBooks, '' 'Products ', '' '' 'Addons' '' and '' 'Domains' '' will be associated with.<br />''Note: Default Product will be used only when there is no relation set for the selected product in 'Relation: Product' section.''<br/>  
 
Choose other options from the dropdown menu to set up.  
 
Choose other options from the dropdown menu to set up.  
*Tax Zero-Rated - used when charged item is not taxed
+
*Tax Zero-Rated - used when a charged item is not taxed
 
*Tax Type:
 
*Tax Type:
 
*:Exclusive - tax is added to the price
 
*:Exclusive - tax is added to the price
Line 326: Line 415:
 
{|
 
{|
 
|style="padding: 10px 0px 30px 15px;"|'''At this section we will show you the possibilities of QuickBooks Online For WHMCS.'''<br />
 
|style="padding: 10px 0px 30px 15px;"|'''At this section we will show you the possibilities of QuickBooks Online For WHMCS.'''<br />
Once it has been properly connected with QuickBooks and all the configuration is now ready, we can move on to '' 'Export' '' section.  
+
Once the module has been properly connected with QuickBooks and the entire configuration is complete, we can move on to the '' 'Export' '' section.  
 
|}
 
|}
 
===Export===
 
===Export===
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|Our module allows several ways to export any data gathered in your WHMCS.<br />
+
|style="padding: 10px 0px 30px 15px;"|Our module enables several ways to export any data gathered in your WHMCS.<br />
Read the below points to learn what data can be synchronized with QuickBooks and what are the possible means of such synchronizations.  
+
Read the below points to learn what data can be synchronized with QuickBooks and what are the possible means of such synchronization.  
 
|}
 
|}
 
====Clients====
 
====Clients====
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|The first option offered by our module is the export of clients from WHMCS to QuickBooks, proceed to '' 'Export' → 'Clients'. '' If you are using QuickBooks Online For WHMCS for the first time,<br /> you will see here a list of all clients who exist in your WHMCS and have not been synchronized with QuickBooks yet.<br />  Use filter to find clients with their account created on the specified in the filter period of time.  
+
|style="padding: 10px 0px 20px 15px;"|The first option offered by our module is the export of clients from WHMCS to QuickBooks, proceed to '' 'Export' → 'Clients'. '' If you are using QuickBooks Online For WHMCS for the first time,<br /> you will see here a list of all clients who exist in your WHMCS and have not been synchronized with QuickBooks yet.<br />  Use the filter to find clients with their account created within the period of time specified in the filter.  
 
|}
 
|}
 
{|
 
{|
Line 341: Line 430:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Now, you can manually export all of the clients available on the list or choose only some of them.<br />  Check boxes next to the clients you are going to export and press '' 'Export' '' button as marked on the screen.<br />  If you want to export only one client you can do it by pressing '' 'Export' '' button located in '' 'Action' '' column next to the name of the client.
+
|style="padding: 0px 0px 20px 15px;"|Now, you can manually export all of the clients available on the list or choose only some of them.<br />  Check boxes next to the clients you are going to export and press '' 'Export' '' button as marked on the screen.<br />  If you want to export only one client you can do it by pressing '' 'Export' '' button located in the '' 'Action' '' column next to the name of the client.
 
|}
 
|}
 
{|
 
{|
Line 347: Line 436:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|If a client has already been exported from WHMCS to QuickBooks, they will no longer be visible on the list. <br/> All clients newly added to WHMCS will be automatically synchronized with QuickBooks unless otherwise stated in '' 'Synchronization Settings'. ''
+
|style="padding: 0px 0px 30px 15px;"|If a client has already been exported from WHMCS to QuickBooks, they will no longer be visible on the list. <br/> All clients newly added to WHMCS will be automatically synchronized with QuickBooks, unless set otherwise in '' 'Synchronization Settings'. ''
 
|}
 
|}
 
====Invoices====
 
====Invoices====
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|The other choice is the export of invoices. <br /> Proceed to  '' 'Export' → 'Invoices' '' and you will find a list of all invoices existing in our WHMCS that have not been synchronized with QuickBooks yet.<br /> In details you will find information on the invoice:
+
|style="padding: 10px 0px 20px 15px;"|The other choice is the export of invoices. <br /> Proceed to  '' 'Export' → 'Invoices' '' and you will find a list of all invoices existing in our WHMCS that have not been synchronized with QuickBooks yet.<br /> In details, you will find the information on the invoice:
 
*ID
 
*ID
 
*date when it was created
 
*date when it was created
 
*client assigned to the invoice
 
*client assigned to the invoice
 
*items on the invoice
 
*items on the invoice
*its status  
+
*status  
 
*a total sum.
 
*a total sum.
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 20px 15px;"|Just like in case of clients:
 
|style="padding: 0px 0px 20px 15px;"|Just like in case of clients:
*press '' 'Toggle Filters' '' to use filter to find invoices from specified period if time
+
*press '' 'Toggle Filters' '' to use filter to find invoices from the specified period if time
 
*perform mass export of all checked invoices
 
*perform mass export of all checked invoices
 
*export individual invoices to QuickBooks.  
 
*export individual invoices to QuickBooks.  
Line 370: Line 459:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Once you have exported some of the invoices you will see their number along with the number of any transactions connected with them in '' 'Summary' '' table on the dashboard.  
+
|style="padding: 0px 0px 20px 15px;"|Once you have exported some of the invoices, you will see their number along with the number of any transactions connected with them in the '' 'Summary' '' table on the dashboard.  
 
|}
 
|}
 
{|
 
{|
Line 376: Line 465:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|Keep in mind that all newly added (after the first usage of QuickBooks Online For WHMCS) invoices and transactions are automatically synchronized and exported to QuickBooks<br /> unless otherwise stated in '' 'Synchronization Settings'. ''
+
|style="padding: 0px 0px 30px 15px;"|Keep in mind that all invoices and transactions added after the first usage of QuickBooks Online For WHMCS are automatically synchronized and exported to QuickBooks<br /> unless otherwise stated in '' 'Synchronization Settings'. ''
 
|}
 
|}
 
===Relation===
 
===Relation===
Line 395: Line 484:
 
{|
 
{|
 
|style="padding: 10px 0px 15px 15px;"|Products relations can be declared manually and for each product separately along with those declared in '' 'Configuration' → 'Synchronization Settings'.''<br />
 
|style="padding: 10px 0px 15px 15px;"|Products relations can be declared manually and for each product separately along with those declared in '' 'Configuration' → 'Synchronization Settings'.''<br />
Proceed to '' 'Relation' → 'Products', '' you will find there a list of all products with their type and payment standard. <br /> In the last column there is a dropdown menu with all QuickBooks items that can be assigned to exported products.
+
Proceed to '' 'Relation' → 'Products', '' you will find there a list of all products with their type and payment standard. <br /> In the last column, there is a dropdown menu with all QuickBooks items that can be assigned to exported products.
 
|}
 
|}
 
{|
 
{|
Line 407: Line 496:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Give the new item a name, additionally you can describe it shortly, state its price/rate and choose account.<br /> Once you save changes, new item will be visible on the QuickBooks item dropdown menu. You can now use it to assign WHMCS products to it.
+
|style="padding: 0px 0px 15px 15px;"|Name the new item, you can describe it shortly in addition, state its price/rate and choose account.<br /> Once you save changes, the new item will be visible on the QuickBooks item dropdown menu. You can now use it to assign WHMCS products to it.
 
|}
 
|}
 
{|
 
{|
Line 421: Line 510:
 
====Relation: Domains====
 
====Relation: Domains====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In '' 'Relation' → 'Domains' '' tab, you will find a list of all WHMCS domains with their TLD. Assigning such WHMCS domain to another QuickBooks item is possible.<br/>Just choose such from dropdown menu and save changes.
+
|style="padding: 10px 0px 15px 15px;"|In '' 'Relation' → 'Domains' '' tab, you will find a list of all WHMCS domains with their TLD. Assigning a WHMCS domain to another QuickBooks item is possible.<br/>Just choose such a domain from a dropdown menu and save changes.
 
|}
 
|}
 
{|
 
{|
Line 428: Line 517:
 
====Relation: Addons====
 
====Relation: Addons====
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|You can assign addons to the items already existing in QuickBooks. Just go to '' 'Relation' → 'Addons' '' directory and choose such from dropdown menu. Remember to save changes.
+
|style="padding: 10px 0px 20px 15px;"|You can assign addons to the items already existing in QuickBooks. Just go to '' 'Relation' → 'Addons' '' directory and choose the addon from a dropdown menu. Remember to save changes.
 
|}
 
|}
 
{|
 
{|
Line 434: Line 523:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|It is also possible to add a new addon. To do so just click the button as shown above and provide some details. Give the new item a name, additionally you can describe it shortly, state its price/rate<br/>and choose an account. Once you save changes, new addon will be visible on the QuickBooks item dropdown menu. You can now use it to assign WHMCS products to it.
+
|style="padding: 0px 0px 15px 15px;"|It is also possible to add a new addon. To do so, just click the button as shown above and provide some details. Name the new item, you can also describe it shortly, state its price/rate<br/>and choose an account. Once you save changes, the new addon will be visible on the QuickBooks item dropdown menu. You can now use it to assign WHMCS products to it.
 
|}
 
|}
 
{|
 
{|
Line 443: Line 532:
 
{|
 
{|
 
|style="padding: 10px 0px 15px 15px;"|In '' 'Relation' → 'Invoices' '' directory, you will find a list of all WHMCS invoices with their ID, date of creation, assigned client, total sum on it and status. <br />
 
|style="padding: 10px 0px 15px 15px;"|In '' 'Relation' → 'Invoices' '' directory, you will find a list of all WHMCS invoices with their ID, date of creation, assigned client, total sum on it and status. <br />
It is possible to assign such WHMCS invoice to another invoice already exported to QuickBooks. Just choose such from dropdown menu and save changes.<br /> Transactions between the two invoices will be synchronized then.
+
It is possible to assign the WHMCS invoice to another invoice already exported to QuickBooks. Just choose such an invoice from a dropdown menu and save changes.<br /> Transactions between the two invoices will be synchronized then.
 
|}
 
|}
 
{|
 
{|
Line 450: Line 539:
 
====Relation: Tax Rules====
 
====Relation: Tax Rules====
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|In '' 'Relation' → 'Tax Rules' '' directory, you will find a list of defined taxes rules.<br/> Assign each rule to a specific QuickBooks tax. Select one from a dropdown menu and save changes.
+
|style="padding: 10px 0px 20px 15px;"|In '' 'Relation' → 'Tax Rules' '' directory, you will find a list of defined tax rules.<br/> Assign each rule to a specific QuickBooks tax. Select one from a dropdown menu and save changes.
 
|}
 
|}
 
{|
 
{|
Line 457: Line 546:
 
====Relation: Payment Gateways====
 
====Relation: Payment Gateways====
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|In '' 'Relation' → 'Payment Gateways', '' there is a list of available payment methods. From dropdown menu select the one you wish to use. Save changes.
+
|style="padding: 10px 0px 20px 15px;"|In '' 'Relation' → 'Payment Gateways', '' there is a list of available payment methods. Select the one you wish to use from a dropdown menu. Save changes.
 
|}
 
|}
 
{|
 
{|
Line 470: Line 559:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|In this way the relation between payment methods, upon which choosing the deposit a transaction in selected currency will go to depends, has been set.
+
|style="padding: 0px 0px 30px 15px;"|In this way, the relation between payment methods, upon which choosing the deposit a transaction in selected currency will go to depends, has been set.
 
|}
 
|}
  
 
===Cron Jobs===
 
===Cron Jobs===
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|Properly set up cron job with a recommended interval (every 6 hours) is responsible for synchronization of any updates done on invoices or clients' accounts. <br/>
+
|style="padding: 10px 0px 30px 15px;"|Properly set up cron job with a recommended interval (every 6 hours) is responsible for synchronization of any updates performed on invoices or clients' accounts. <br/>
 
All changes will be immediately visible in QuickBooks, after cron job has run, without any additional actions taken manually from QuickBooks Online For WHMCS.<br/>
 
All changes will be immediately visible in QuickBooks, after cron job has run, without any additional actions taken manually from QuickBooks Online For WHMCS.<br/>
Note that setting up cron jobs is not obligatory, you can switch it off ar set to rare frequency.  
+
Note that setting up cron jobs is not obligatory, you can switch it off or set to rare frequency.  
 
|}
 
|}
  
 
===Logs===
 
===Logs===
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|In '' 'Logs' '' tab there are enumerated '''ALL''' actions on clients, invoices and transactions. <br />No matter if they were taken manually in the module, if they were taken automatically or by a cron job.  <br /> Find there a list of all entries with precisely described details and an exact date of the action.
+
|style="padding: 10px 0px 20px 15px;"|In '' 'Logs' '' tab there are enumerated '''ALL''' actions on clients, invoices and transactions. <br />Regardless if they were taken manually in the module, automatically or by a cron job.  <br /> A list of all entries with precisely described details and an exact date of the action can be found there.
 
|}  
 
|}  
 
{|
 
{|
Line 493: Line 582:
 
{|
 
{|
 
|style="padding: 10px 0px 15px 15px;"|'' 'Dashboard' '' includes two useful and user-friendly tables. <br />
 
|style="padding: 10px 0px 15px 15px;"|'' 'Dashboard' '' includes two useful and user-friendly tables. <br />
The first one, '' 'Summary' '' contains data on the number of exported clients, invoices and payments together with refunds. <br />The number includes exports done in all possible manners. <br />
+
The first one - '' 'Summary' '' - contains data on the number of exported clients, invoices and payments together with refunds. <br />The number includes exports carried out in all possible ways. <br />
The second table contains information on crons. You may read when the last cron was run and what time period it covered.
+
The second table contains information on crons. You may see here when the last cron was run and what time period it covered.
 
|}  
 
|}  
 
{|
 
{|
Line 501: Line 590:
 
===Documentation===
 
===Documentation===
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|The very last tab '' 'Documentation' '' once clicked will redirect you to the article you are currently reading.
+
|style="padding: 10px 0px 30px 15px;"|The very last tab '' 'Documentation' '' will, once clicked, redirect you to the article you are currently reading.
 
|}
 
|}
  

Revision as of 16:52, 30 August 2017

Contents

About QuickBooks Online For WHMCS

QuickBooks Online For WHMCS is responsible for data synchronization between your system and QuickBooks, it is a comprehensive, accounting software solution.

The module will let you manage the integration of your clients details, invoices and transactions into QuickBooks database.
Data can be synchronized manually as well as automatically with the use of cron job. Thanks to logs you will be able to preview all information on exported data.

  • Module Features:
✔ Export Manually:
✔ Clients
✔ Invoices
✔ Transactions
✔ Export Automatically:
✔ Clients
✔ Invoices
✔ Transactions
✔ Manage Relations:
✔ Clients
✔ Products
✔ Domains
✔ Addons
✔ Invoices
✔ Tax Rules
✔ Payment Gateways - Including Currencies And Payment Deposits
✔ Define Default Product Item
✔ Define Default Domain Item
✔ Define Tax Zero-Rated
✔ Define Tax Type
✔ Create QuickBooks Item
✔ Define Automatic Export Settings
✔ Define Client Name Display Format
✔ View Export And Cron Run Summary
✔ View Logs
  • General Info:
✔ Multi-Currency Support
✔ Refunds Support
✔ Multi-Language Support
✔ Supports OAuth 1.0 And OAuth 2.0
✔ Supports PHP 5.4 Up To PHP 7
✔ Supports WHMCS V6 and V7
  • Requirements:
✔ QuickBooks Online Account
✔ OAuth PHP Library - Connect Using Secure Protocol

Installation

This tutorial will show you how to successfully install and configure QuickBooks Online For WHMCS.

We will guide you step by step through the whole installation and configuration process.

1. Log in to your client area and download the module.
QB2 1.png
2. In the downloaded file you will find two packages that support different PHP versions.
As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.4 up to PHP 5.6.
It does not apply to open source versions.

Note: You can check current PHP version in your WHMCS. To do so proceed to 'Utilities' → 'System' → 'PHP Info'.

QB 2.png
3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.

The content of PHP version files should look like this.

Bnvng.png
4. When you install QuickBooks Online For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/addons/QuickBooks/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

QB 3.png
5. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area → 'My Products'.

QB 4.png
6. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Go to 'Setup' 'Addon Modules' . Afterwards, find 'QuickBooks' and press 'Activate' button.

QB2 5.png
7. In the next step you need to permit access to this module.

To do so, click on 'Configure' button, check required group of administrators and press 'Save Changes'.

Q2B 6.png
8. You have just successfully installed QuickBooks Online For WHMCS!

You can access your module under 'Addons' 'QuickBooks'.

Configuration and Management

QuickBooks Online For WHMCS is a module which allows you to export any data on clients, invoices and payments directly to QuickBooks.
Note: Since 17th July, 2017 all newly created QuickBooks apps support OAuth 2.0 authorization standard. You can find more information about this change here.
Apps created before that date will still support OAuth 1.0. The differences in module configuration between these standards are described in next steps of this documentation.

Warning: In order to properly use QuickBooks Online For WHMCS with OAuth 1.0, it is required to have OAuth PHP Class installed before you proceed to the proper configuration of QuickBooks Online For WHMCS.
OAuth PHP Class is not required for OAuth 2.0 but your WHMCS has to support HTTPS protocol and have a proper domain name (IP addresses are not supported).

API Keys

Before you move to the essential configuration of the module, you need to generate some data directly in QuickBooks.
Please follow the steps below depending on the version of OAuth that your QuickBooks account supports.

1. Log in to: https://developer.intuit.com/

Use your QuickBooks account details to sign in.
QB 28.png
2. Once you are logged in, find 'My Apps' tab, press it and then 'Create a new app'.
QB 20.png
3. Choose: 'Select APIs'
QB 21.png
4. Then mark 'Accounting ' and 'Create app'.
QB 22.png
5. Once a new app has been created, you have to move to 'Settings' section.
QB 2 0 23.png
6. Then, fill the rest of the information and 'Save Changes'.

Note that your application data need to be complete to make it work on the production mode.

QB 2 0 26.png
7. When ready, move to 'Keys' tab and scroll down to the 'Production Keys' section.

Note that your application data need to be complete to make it work on the production mode.

QB 2 0 26 1.png

For OAuth 2.0

This step is only required for apps crated after 17th July, 2017 which are using the OAuth 2.0 authentication method.
In 'Production Keys' section you will find:
  • Client ID
  • Client Secret

These keys are very important, you will need them in the very next step of the module configuration. Please keep them safe.

Next, go to the 'Redirect URIs' . You need to provide a proper callback QuickBooks URI from your WHMCS installation in the following format:

https://yourdomain.com/admin/addonmodules.php?quickBooksCallbackOauth2

Note that your 'admin' folder might have a different name than the default one. Provided URI also has to start with https:// . You will find the already customized address in your module configuration.

QB 2 0 27.png

For OAuth 1.0

This step is only required for apps crated before Jul 17th 2017 which are using OAuth 1.0 authentication method.
In 'Production Keys' you will find:
  • App Token
  • OAuth Consumer Key
  • OAuth Consumer Secret

These keys are very important, you will need them in the very next step of the module configuration. Please keep them safe.

QB 27.png

Configuration

In order to configure your module properly, proceed to 'Addons' 'QuickBooks' 'Configuration'.
1. Start with API configuration, since this part is very basic and absolutely necessary to take any further steps.

Currently, your 'Connection Status' is 'Not Connected'. In order to establish connection with QuickBooks Online, press the button corresponding to your authentication method:

QB2 8.png
A box will appear where you will have to type in all the previously generated data.

It will allow the module to authenticate your identity in QuickBooks system and let your WHMCS connect with it.
These are your QuickBooks keys that you have generated in the previous step:

OAuth 2.0

  • Client ID
  • Client Secret
  • Sandbox - if you have used 'Production' to generate 'Keys,' unmark this checkbox.
  • Debug Mode - select to follow logs in the 'Module Log' section.


OAuth 1.0

  • Token
  • Consumer Key
  • Consumer Secret Key
  • Sandbox - if you have used 'Production' to generate 'Token' and 'Keys,' unmark this checkbox.
  • Debug Mode - select to follow logs in the 'Module Log' section.


Save changes first as only then a button 'Connect to QuickBooks' will appear. Press it to connect to QuickBooks Online.

QB2 35.png
If the entered data are correct, you will be redirected to QuickBooks where you will have to agree to authenticate the connection.
Only then the connection status in your module will change to 'Connected,' the data on your company will be automatically downloaded from QuickBooks and filled out here.

From now on, you will be able to use your QuickBooks Online For WHMCS module.

QB2 29.png
You have to do this step only once. Entering the token and consumer keys will not be required again, even if the module will be deactivated in the meantime.

Important: to retain the connection with QuickBooks for OAuth 2.0, you have to set up a cron to run at least every hour. Go here for more information.
This is due to the idle time for the OAuth 2.0 token being only valid one hour (as seen in 'Access Token Valid Time'). The cron job is needed to maintain the continuity of the session.
If you need to refresh the token manually, simply press 'Refresh Access Token'.

2. Cron configuration - set up cron jobs.
  • The first one should be run regularly, every one hour interval is recommended. It is responsible for synchronization of any updates done in WHMCS with QuickBooks.
    It also maintains a session for OAuth 2.0 which otherwise would expire after an hour.
  • The second cron job is run only once. It exports all clients, invoices and transactions to QuickBooks as soon as our module is activated in your WHMCS.
  • The third cron is only used to maintain the session for an OAuth 2.0 connection. Use it only if the first cron is running less than every hour. It is not needed for OAuth 1.0.
QB2 9.png
3. Multi-Currency configuration.

If connection with QuickBooks has been properly setup, currency details will be visible.

  • View Home Currency
  • MultiCurrency status

The above data are synchronized with your QuickBooks account.

QB currency.png
4. Synchronization Settings - decide which of the possible synchronization options you want to enable.

Simply tick the ones you are interested in.

There are:

Clients synchronization:

  • Create - performed on client's creation
  • Update - takes place when client account has been updated

Invoices synchronization:

  • Create - performed on invoice creation
  • Update - takes place when an invoice has been updated or altered
  • Delete - takes place when an invoice has been deleted
  • Add Funds Invoice - if checked, the synchronization of 'Add Funds' (Add Credit) invoices will be disabled
  • Delete Cancelled - tick to remove the already cancelled WHMCS invoices from QuickBooks Online

Payments synchronization:

  • Create - performed when a transaction has been completed
  • Delete - takes place when a transaction has been deleted by an admin

Refunds synchronization:

  • Create - performed when a refund has been completed
  • Delete - takes place when a refund has been deleted by an admin
    Please note that both payments and refunds are handled together and are displayed as one point on the dashboard called 'Payments'
Apart from choosing required synchronization options, you have to decide which items from QuickBooks, 'Products ', 'Addons' and 'Domains' will be associated with.
Note: Default Product will be used only when there is no relation set for the selected product in 'Relation: Product' section.

Choose other options from the dropdown menu to set up.

  • Tax Zero-Rated - used when a charged item is not taxed
  • Tax Type:
    Exclusive - tax is added to the price
    Inclusive 0 - price includes the tax
    Out of scope of GTS
  • Client Display Name Format - use available tag fields to adjust the displayed name view.
  • Shorten the Transaction ID - select this option to cut every payment Transaction ID that is longer than 21 characters.

Press Save Changes button.

QB 10.png

Management

At this section we will show you the possibilities of QuickBooks Online For WHMCS.

Once the module has been properly connected with QuickBooks and the entire configuration is complete, we can move on to the 'Export' section.

Export

Our module enables several ways to export any data gathered in your WHMCS.

Read the below points to learn what data can be synchronized with QuickBooks and what are the possible means of such synchronization.

Clients

The first option offered by our module is the export of clients from WHMCS to QuickBooks, proceed to 'Export' → 'Clients'. If you are using QuickBooks Online For WHMCS for the first time,
you will see here a list of all clients who exist in your WHMCS and have not been synchronized with QuickBooks yet.
Use the filter to find clients with their account created within the period of time specified in the filter.
QB 11.png
Now, you can manually export all of the clients available on the list or choose only some of them.
Check boxes next to the clients you are going to export and press 'Export' button as marked on the screen.
If you want to export only one client you can do it by pressing 'Export' button located in the 'Action' column next to the name of the client.
QB 12.png
If a client has already been exported from WHMCS to QuickBooks, they will no longer be visible on the list.
All clients newly added to WHMCS will be automatically synchronized with QuickBooks, unless set otherwise in 'Synchronization Settings'.

Invoices

The other choice is the export of invoices.
Proceed to 'Export' → 'Invoices' and you will find a list of all invoices existing in our WHMCS that have not been synchronized with QuickBooks yet.
In details, you will find the information on the invoice:
  • ID
  • date when it was created
  • client assigned to the invoice
  • items on the invoice
  • status
  • a total sum.
Just like in case of clients:
  • press 'Toggle Filters' to use filter to find invoices from the specified period if time
  • perform mass export of all checked invoices
  • export individual invoices to QuickBooks.
    Use buttons marked on the screen to perform the above enumerated actions.
QB 13.png
Once you have exported some of the invoices, you will see their number along with the number of any transactions connected with them in the 'Summary' table on the dashboard.
QB 14.png
Keep in mind that all invoices and transactions added after the first usage of QuickBooks Online For WHMCS are automatically synchronized and exported to QuickBooks
unless otherwise stated in 'Synchronization Settings'.

Relation

It is possible to manually declare relations between WHMCS clients, products as well as invoices and corresponding to them QuickBooks elements.

This feature is especially helpful when you need to avoid confusion and misunderstandings.
Please note that this is an extra option, which gives the possibility to manually configure relations.

Relation: Clients

The first possible relations to be declared are relations of WHMCS clients towards the client's account in QuickBooks.

Proceed to 'Relation' → 'Clients', you will find there a list of all clients, with their email addresses, that exist in WHMCS,
those who have not been exported to QuickBooks yet as well as those already exported.

QB 30.png

Relation: Products

Products relations can be declared manually and for each product separately along with those declared in 'Configuration' → 'Synchronization Settings'.

Proceed to 'Relation' → 'Products', you will find there a list of all products with their type and payment standard.
In the last column, there is a dropdown menu with all QuickBooks items that can be assigned to exported products.

QB 31.png
If you need, you can add new products to QuickBooks' items list, just press 'New Product' button marked on the screen below.
QB 32.png
Name the new item, you can describe it shortly in addition, state its price/rate and choose account.
Once you save changes, the new item will be visible on the QuickBooks item dropdown menu. You can now use it to assign WHMCS products to it.
QB 33.png
For different billing cycle you can also assign the item that will have its own cycle in QuickBooks. Just press the action button, select one form dropdown menu and save changes.
QB 31 1.png

Relation: Domains

In 'Relation' → 'Domains' tab, you will find a list of all WHMCS domains with their TLD. Assigning a WHMCS domain to another QuickBooks item is possible.
Just choose such a domain from a dropdown menu and save changes.
QB 36.png

Relation: Addons

You can assign addons to the items already existing in QuickBooks. Just go to 'Relation' → 'Addons' directory and choose the addon from a dropdown menu. Remember to save changes.
QB 37.png
It is also possible to add a new addon. To do so, just click the button as shown above and provide some details. Name the new item, you can also describe it shortly, state its price/rate
and choose an account. Once you save changes, the new addon will be visible on the QuickBooks item dropdown menu. You can now use it to assign WHMCS products to it.
QB 37 1.png

Relation: Invoices

In 'Relation' → 'Invoices' directory, you will find a list of all WHMCS invoices with their ID, date of creation, assigned client, total sum on it and status.

It is possible to assign the WHMCS invoice to another invoice already exported to QuickBooks. Just choose such an invoice from a dropdown menu and save changes.
Transactions between the two invoices will be synchronized then.

QB 34xxx.png

Relation: Tax Rules

In 'Relation' → 'Tax Rules' directory, you will find a list of defined tax rules.
Assign each rule to a specific QuickBooks tax. Select one from a dropdown menu and save changes.
QB 34tax.png

Relation: Payment Gateways

In 'Relation' → 'Payment Gateways', there is a list of available payment methods. Select the one you wish to use from a dropdown menu. Save changes.
QB 38.png
When you click the button in the 'Action' section, you can set relations for previously chosen payment gateway.

Assign QuickBooks Payment Deposits to a single currency.

QB 38 1.png
In this way, the relation between payment methods, upon which choosing the deposit a transaction in selected currency will go to depends, has been set.

Cron Jobs

Properly set up cron job with a recommended interval (every 6 hours) is responsible for synchronization of any updates performed on invoices or clients' accounts.

All changes will be immediately visible in QuickBooks, after cron job has run, without any additional actions taken manually from QuickBooks Online For WHMCS.
Note that setting up cron jobs is not obligatory, you can switch it off or set to rare frequency.

Logs

In 'Logs' tab there are enumerated ALL actions on clients, invoices and transactions.
Regardless if they were taken manually in the module, automatically or by a cron job.
A list of all entries with precisely described details and an exact date of the action can be found there.
QB 16.png
Clear all the entries or delete only some of them. Use buttons marked on the screen above.

Dashboard

'Dashboard' includes two useful and user-friendly tables.

The first one - 'Summary' - contains data on the number of exported clients, invoices and payments together with refunds.
The number includes exports carried out in all possible ways.
The second table contains information on crons. You may see here when the last cron was run and what time period it covered.

QB 18.png

Documentation

The very last tab 'Documentation' will, once clicked, redirect you to the article you are currently reading.

Tips

1. Status of the invoice in QuickBooks may differ from the one visible in WHMCS.
It will be marked as paid only if it is associated with payments on exactly the same amount.
If there was no such real payment, the invoice will be marked as 'Unpaid'.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. Should you have problems with upgrading QuickBooks Online product to version 1.3.0, set again the relations of payment deposits in the 'Payment Gateways' section.
3. It may happen that taxes are counted incorrectly for invoices with multiple items where part of the items is taxed and some are not. Please, be careful!
4. In case you encounter any issues with installation and configuration please make sure you have OAuth PHP Class installed.
Without that the module will not work properly.
5. You may encounter the API '#OAuthException' error with 'making the request failed (dunno why)' message during configuration.
If so, first try to enable 'allow_url_fopen' option in your PHP configuration by setting up the 'allow_url_fopen = on' line in 'php.ini' file and restart the apache2 server. If you need more information you may check it here.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
QuickBooks Online For WHMCS