QuickBooks Online For WHMCS
Line 1: | Line 1: | ||
<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> | ||
− | |||
− | |||
− | |||
=About [https://www.modulesgarden.com/products/whmcs/quickbooks-online QuickBooks Online For WHMCS]= | =About [https://www.modulesgarden.com/products/whmcs/quickbooks-online QuickBooks Online For WHMCS]= | ||
Line 62: | Line 59: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Define Default | + | |style="padding: 0px 0px 0px 45px;"|✔ Transactions |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ View Export And Cron Run Summary | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Define Automatic Export Settings Of: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Client | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Invoice | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Payment | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Refund | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Define Default Products Item | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Define Default Addons Item | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Define Default | + | |style="padding: 0px 0px 0px 30px;"|✔ Define Default Domains Item |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Define Default | + | |style="padding: 0px 0px 0px 30px;"|✔ Define Default Promotional Item |
|} | |} | ||
{| | {| | ||
Line 77: | Line 98: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Define Client Name Display Format |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Toggle Shorten Transaction ID |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Define | + | |style="padding: 0px 0px 0px 30px;"|✔ Define Webhooks Token |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Toggle Debug Mode |
|} | |} | ||
{| | {| | ||
Line 178: | Line 199: | ||
=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 /> <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> | + | |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/>Read the below manual to learn about all the possibilities that the module offers.'''<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 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/> | '''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/> | ||
'''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 /> | '''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 For OAuth 1.0 Account== | <!-- ==API Keys For OAuth 1.0 Account== | ||
Line 282: | Line 307: | ||
|style="padding: 0px 0px 20px 25px;"|[[File:QB_2_0_26_1.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:QB_2_0_26_1.png]] | ||
|} | |} | ||
− | |||
{| | {| | ||
− | + | |style="padding: 0px 0px 20px 15px;"|'''8. In '' 'Production Keys' '' section you will find:''' | |
− | + | ||
− | + | ||
− | |style="padding: 0px 0px 20px 15px;"|'''In '' 'Production Keys' '' section you will find:''' | + | |
*Client ID | *Client ID | ||
*Client Secret | *Client Secret | ||
Line 299: | Line 320: | ||
|} | |} | ||
+ | <!-- | ||
===For OAuth 1.0=== | ===For OAuth 1.0=== | ||
{| | {| | ||
Line 316: | Line 338: | ||
|style="padding: 0px 0px 30px 25px;"|[[File:QB_27.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:QB_27.png]] | ||
|} | |} | ||
+ | --> | ||
==Configuration== | ==Configuration== | ||
Line 340: | Line 363: | ||
|style="padding: 0px 0px 20px 25px;"|[[File:QB2_35.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:QB2_35.png]] | ||
|} | |} | ||
+ | <!-- | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|For '''OAuth 1.0''' | |style="padding: 0px 0px 15px 15px;"|For '''OAuth 1.0''' | ||
Line 353: | Line 377: | ||
|style="padding: 0px 0px 20px 25px;"|[[File:QB2_35_1.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:QB2_35_1.png]] | ||
|} | |} | ||
+ | --> | ||
{| | {| | ||
|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 /> | |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 /> | ||
Line 361: | Line 386: | ||
|} | |} | ||
{| | {| | ||
− | |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 | + | |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 is deactivated in the meantime. <br /> |
+ | <!-- | ||
'' '''Important:''' to retain the connection with QuickBooks for '''OAuth 2.0''', you have to set up a '''cron''' to run '''at least every hour'''.''<br /> | '' '''Important:''' to retain the connection with QuickBooks for '''OAuth 2.0''', you have to set up a '''cron''' to run '''at least every hour'''.''<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 /> | ''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'. '' | ''If you need to refresh the token manually, simply press 'Refresh Access Token'. '' | ||
+ | --> | ||
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''2. Cron configuration''' - set up cron jobs.<br /> | |style="padding: 0px 0px 15px 15px;"|'''2. Cron configuration''' - set up cron jobs.<br /> | ||
− | *The first | + | |
− | + | *The first 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 | + | |
+ | *The second one is used to maintain the session and refresh the access token. | ||
+ | |||
|} | |} | ||
{| | {| | ||
Line 398: | Line 427: | ||
*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 | ||
+ | *Delete Cancelled - tick to remove the already canceled WHMCS invoices from QuickBooks Online | ||
*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 | ||
− | |||
'''Payments''' synchronization: | '''Payments''' synchronization: | ||
Line 410: | Line 439: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Apart from choosing required synchronization options, you have to decide which items from QuickBooks, '' 'Products ', '' '' 'Addons' '' | + | |style="padding: 0px 0px 15px 15px;"|Apart from choosing required synchronization options, you have to decide which items from QuickBooks, '' 'Products ', '' '' 'Addons', '' '' 'Domains' '' and '' 'Promotional Item' ''' 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 a charged item is not taxed | *Tax Zero-Rated - used when a charged item is not taxed | ||
Line 418: | Line 447: | ||
*:Out of scope of GTS | *:Out of scope of GTS | ||
*Client Display Name Format - use available tag fields to adjust the displayed name view. | *Client Display Name Format - use available tag fields to adjust the displayed name view. | ||
− | *Shorten | + | *Shorten Transaction ID - select this option to cut every payment Transaction ID that is longer than 21 characters (limit of signs allowed by QBO).<br/>In case the transaction ID in WHMCS is longer, it will be cut to allow successful export of such transaction. See [https://quickbooks.intuit.com/community/Account-management/QuickBooks-Online-file-size-and-feature-limits/td-p/186402 documentation] to learn more. |
+ | *Debug Mode - if selected, logs will be stored in the ' ''Module Log' '' section | ||
+ | *Webhooks Token - provide your Webhook Token here in order to use Webhooks to notify about QuickBooks entities that are sent to your WHMCS. <br/> To obtain your token, move to https://developer.intuit.com/ and navigate to '' 'My Apps' → 'Your APP' → 'Webhooks' → 'Show Token'.'' Copy it and paste into this textbox. | ||
+ | |||
Press ''Save Changes'' button. | Press ''Save Changes'' button. | ||
|} | |} | ||
Line 482: | Line 514: | ||
====Transactions==== | ====Transactions==== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"|The last choice is the export of | + | |style="padding: 10px 0px 20px 15px;"|The last choice is the export of transactions. <br /> Proceed to '' 'Export' → 'Transactions' '' and find a list of all transactions in our WHMCS that have not been synchronized with QuickBooks yet.<br /> In details, you will find the information on the invoice: |
*ID | *ID | ||
*Client assigned | *Client assigned | ||
Line 508: | Line 540: | ||
|style="padding: 10px 0px 30px 15px;"|It is possible to manually declare relations between WHMCS clients, products as well as invoices and corresponding to them QuickBooks elements.<br /> | |style="padding: 10px 0px 30px 15px;"|It is possible to manually declare relations between WHMCS clients, products as well as invoices and corresponding to them QuickBooks elements.<br /> | ||
This feature is especially helpful when you need to avoid confusion and misunderstandings.<br /> | This feature is especially helpful when you need to avoid confusion and misunderstandings.<br /> | ||
− | ''Please note that this is an extra option, which gives the possibility to | + | ''Please note that this is an extra option, which gives the possibility to configure relations either manually or automatically.'' |
|} | |} | ||
====Relation: Clients==== | ====Relation: Clients==== | ||
Line 521: | Line 553: | ||
{| | {| | ||
|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.<br/> |
+ | Select the item manually and save the changes or use the '' 'Match Products' '' option to automatically find relations. | ||
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 20px 25px;"|[[File:QB_31.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:QB_31.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|When looking for matches automatically, you will get a full view of searched items with positive or negative results. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:QB_31_2.png]] | ||
|} | |} | ||
{| | {| | ||
Line 563: | Line 602: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:QB_37_1.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Use the '' 'Match Addons' '' button to find any matches automatically. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:QB_37_2.png]] | ||
|} | |} | ||
Line 572: | Line 617: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:QB_34_1.png]] |
|} | |} | ||
+ | |||
====Relation: Tax Rules==== | ====Relation: Tax Rules==== | ||
{| | {| | ||
Line 597: | Line 643: | ||
{| | {| | ||
|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. | ||
+ | |} | ||
+ | ====Relation: Transactions==== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|In '' 'Relation' → 'Transactions', '' there is a list of transactions. Select the one you wish to use from a dropdown menu. Save changes.<br/> | ||
+ | Use the '' 'Match Transactions' '' button to automatically find and existing relation in QuickBooks without manual search for every single transaction. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:QB_38_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|You will get an extended list with information for which of the transactions a match has been found, and for which no. | ||
|} | |} | ||
− | === | + | ====Match Items Automatically==== |
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"| | + | |style="padding: 10px 0px 30px 15px;"|As you must have noticed in the above sections, there is an option to find appropriate matches in QuickBooks and set the relations between the items within one group (e.g. Products or Domains) automatically.<br/> |
− | All | + | All you have to do is press the '' 'Match Products/Domains/Invoices' '' etc. button. You will be asked to confirm the action and soon after that the process of looking for matches stars.<br/> |
− | + | Once ready, you will see a full list with results. Successfully found matches in green and no match found for an item in red.<br/> | |
+ | Found relations will be set automatically. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:QB_39_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Here you can find a detailed list of items taken into consideration by the module when looking for a match in QuickBooks: | ||
+ | |} | ||
+ | {| class="wikitable" style="margin-left: 25px; width: 15%;" | ||
+ | ! WHMCS Item | ||
+ | ! Matched Feature | ||
+ | |- | ||
+ | | style="font-weight:bold; background-color:#efefef; color:#333333;" | Clients | ||
+ | | Email | ||
+ | |- | ||
+ | | style="font-weight:bold; background-color:#efefef; color:#333333;" | Products | ||
+ | | Name | ||
+ | |- | ||
+ | | style="font-weight:bold; background-color:#efefef; color:#333333;" | Domains | ||
+ | | Name | ||
+ | |- | ||
+ | | style="font-weight:bold; background-color:#efefef; color:#333333;" | Addons | ||
+ | | Name | ||
+ | |- | ||
+ | | style="font-weight:bold; background-color:#efefef; color:#333333;" | Invoices | ||
+ | | Invoice ID | ||
+ | |- | ||
+ | | style="font-weight:bold; background-color:#efefef; color:#333333;" | Transactions | ||
+ | | Transaction ID | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"| | ||
+ | *Email - keep in mind that email addresses must be identical (only 1:1 match) | ||
+ | *Name - keep in mind that names must be identical (only 1:1 match) | ||
+ | *ID - 1:1 match only, when the ID is shortened, the relation must be set up manually ('' 'Shorten Transaction ID' '' option is on) | ||
|} | |} | ||
Line 637: | Line 729: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 10px 15px;"|2. If you add a single transaction in WHMCS using the '' 'Add to Client's Credit Balance' '' option, a transaction corresponding to this one will be also created in QuickBooks.<br/> |
Afterwards, when the customer pays the invoice using WHMCS credits, this invoice will also be added to the previously created transaction in QuickBooks (provided that there are sufficient funds in this transaction). | Afterwards, when the customer pays the invoice using WHMCS credits, this invoice will also be added to the previously created transaction in QuickBooks (provided that there are sufficient funds in this transaction). | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|3. Only transactions with already exported invoices are available on the list of transaction available to export at '' 'Export' → 'Transactions' '' section. | ||
|} | |} | ||
Revision as of 14:46, 14 November 2018
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. |
- 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 |
✔ Transactions |
✔ View Export And Cron Run Summary |
✔ Define Automatic Export Settings Of: |
✔ Client |
✔ Invoice |
✔ Payment |
✔ Refund |
✔ Define Default Products Item |
✔ Define Default Addons Item |
✔ Define Default Domains Item |
✔ Define Default Promotional Item |
✔ Define Tax Zero-Rated |
✔ Define Tax Type |
✔ Define Client Name Display Format |
✔ Toggle Shorten Transaction ID |
✔ Define Webhooks Token |
✔ Toggle Debug Mode |
✔ View Logs |
- General Info:
✔ Multi-Currency Support |
✔ Refunds Support |
✔ Multi-Language Support |
✔ Supports OAuth 2.0 |
✔ Supports PHP 5.6 Up To PHP 7.2 |
✔ Supports WHMCS V7.2 And Later |
- 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 our client area and download the module. |
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 5.6 up to PHP 7.0, while the second one is aimed at PHP 7.1 up to PHP 7.2. It does not apply to open source versions. Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'. |
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. |
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'. |
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 our client area → 'My Products'. |
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. |
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'. |
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. Read the below manual to learn about all the possibilities that the module offers. |
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/
|
2. Once you are logged in, find 'My Apps' tab, press it and then 'Create a new app'. |
3. Choose: 'Select APIs' |
4. Then mark 'Accounting ' and 'Create app'. |
5. Once a new app has been created, you have to move to 'Settings' section. |
6. Then, fill out the rest of the information and 'Save Changes'. Keep in mind that the presented URLs are only exemplary and you need to use the details provided in your QBO panel. |
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. |
8. In 'Production Keys' section you will find:
These keys are very important, you will need them in the very next step of the module configuration. Please keep them safe. 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. |
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 connection button: |
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.
|
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. |
You have to do this step only once. Entering the token and consumer keys will not be required again, even if the module is deactivated in the meantime. |
2. Cron configuration - set up cron jobs.
|
3. Multi-Currency configuration. If connection with QuickBooks has been properly setup, currency details will be visible.
The above data are synchronized with your QuickBooks account. |
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:
Invoices synchronization:
Payments synchronization:
Refunds synchronization:
|
Apart from choosing required synchronization options, you have to decide which items from QuickBooks, 'Products ', 'Addons', 'Domains' and 'Promotional Item' ' 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.
Press Save Changes button. |
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. |
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. |
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:
|
Just like in case of clients:
|
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. |
Keep in mind that all invoices added after the first usage of QuickBooks Online For WHMCS are automatically synchronized and exported to QuickBooks unless otherwise stated in 'Synchronization Settings'. |
Transactions
The last choice is the export of transactions. Proceed to 'Export' → 'Transactions' and find a list of all transactions in our WHMCS that have not been synchronized with QuickBooks yet. In details, you will find the information on the invoice:
|
Allowed actions:
|
Keep in mind that all 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. |
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, |
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. |
When looking for matches automatically, you will get a full view of searched items with positive or negative results. |
If you need, you can add new products to QuickBooks' items list, just press 'New Product' button marked on the screen below. |
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. |
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. |
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. |
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. |
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. |
Use the 'Match Addons' button to find any matches automatically. |
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. |
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. |
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. |
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. |
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. |
Relation: Transactions
In 'Relation' → 'Transactions', there is a list of transactions. Select the one you wish to use from a dropdown menu. Save changes. Use the 'Match Transactions' button to automatically find and existing relation in QuickBooks without manual search for every single transaction. |
You will get an extended list with information for which of the transactions a match has been found, and for which no. |
Match Items Automatically
As you must have noticed in the above sections, there is an option to find appropriate matches in QuickBooks and set the relations between the items within one group (e.g. Products or Domains) automatically. All you have to do is press the 'Match Products/Domains/Invoices' etc. button. You will be asked to confirm the action and soon after that the process of looking for matches stars. |
Here you can find a detailed list of items taken into consideration by the module when looking for a match in QuickBooks: |
WHMCS Item | Matched Feature |
---|---|
Clients | |
Products | Name |
Domains | Name |
Addons | Name |
Invoices | Invoice ID |
Transactions | Transaction ID |
|
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. |
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. |
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. |
2. If you add a single transaction in WHMCS using the 'Add to Client's Credit Balance' option, a transaction corresponding to this one will be also created in QuickBooks. Afterwards, when the customer pays the invoice using WHMCS credits, this invoice will also be added to the previously created transaction in QuickBooks (provided that there are sufficient funds in this transaction). |
3. Only transactions with already exported invoices are available on the list of transaction available to export at 'Export' → 'Transactions' section. |
Update Instructions
Essential guidance through the process of updating the module is offered here. Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price! |
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.
|
5. You may encounter the API '#OAuthException' error with 'making the request failed (dunno why)' message during configuration.
|
6. It may happen that the following error occurs when attempting to connect QuickBooks Online service: 'We're sorry! We're experiencing some problems. Please try again later.' In that case, make sure you have set up the 'Redirect URI' correctly, as described here. |