QuickBooks Desktop For WHMCS
Line 1: | Line 1: | ||
− | |||
− | |||
<meta name="keywords" content="quickbooks desktop for whmcs, quickbooks desktop configuration, whmcs quickbooks desktop management, whmcs quickbooks desktop installation, whmcs quickbooks desktop common problems, about whmcs quickbooks desktop, whmcs quickbooks desktop documentation, whmcs quickbooks desktop faq, whmcs quickbooks desktop help, whmcs quickbooks desktop guide, whmcs quickbooks desktop wiki, whmcs quickbooks tutorial, whmcs quickbooks tips, whmcs quickbooks wiki"></meta> | <meta name="keywords" content="quickbooks desktop for whmcs, quickbooks desktop configuration, whmcs quickbooks desktop management, whmcs quickbooks desktop installation, whmcs quickbooks desktop common problems, about whmcs quickbooks desktop, whmcs quickbooks desktop documentation, whmcs quickbooks desktop faq, whmcs quickbooks desktop help, whmcs quickbooks desktop guide, whmcs quickbooks desktop wiki, whmcs quickbooks tutorial, whmcs quickbooks tips, whmcs quickbooks wiki"></meta> | ||
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The QuickBooks Desktop For WHMCS Module."></meta> | <meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The QuickBooks Desktop For WHMCS Module."></meta> | ||
Line 6: | Line 4: | ||
=About [https://www.modulesgarden.com/products/whmcs/quickbooks-desktop QuickBooks Desktop For WHMCS]= | =About [https://www.modulesgarden.com/products/whmcs/quickbooks-desktop QuickBooks Desktop For WHMCS]= | ||
{| | {| | ||
− | |style="padding: 10px 0px 5px 0px;"|'''QuickBooks Desktop For WHMCS''' module | + | |style="padding: 10px 0px 5px 0px;"|'''QuickBooks Desktop For WHMCS''' module enables the two-way integration between WHMCS and QuickBooks Desktop and thereby helps you improve your accounting management.<br/> |
− | This module synchronizes the clients, invoices and | + | This module synchronizes the clients, invoices and transaction details gathered in your WHMCS with QuickBooks database.<br/>You can integrate the data either manually or automatically using a cron job. It is also possible to preview all the exported data thanks to the summaries available on the dashboard and logs. |
|} | |} | ||
*'''Module Features:''' | *'''Module Features:''' | ||
Line 183: | Line 181: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''7. In the next step you need to | + | |style="padding: 0px 0px 15px 15px;"|'''7. In the next step, you need to enable the access to this module.'''<br /> |
− | To do so, click on '' 'Configure' '' button, check required group of administrators and press '' 'Save Changes'. '' | + | To do so, click on '' 'Configure' '' button, check the required group of administrators and press '' 'Save Changes'. '' |
|} | |} | ||
{| | {| | ||
Line 196: | Line 194: | ||
=Configuration and Management= | =Configuration and Management= | ||
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"|'''QuickBooks Desktop For WHMCS is a module which allows you to | + | |style="padding: 10px 0px 30px 15px;"|'''QuickBooks Desktop For WHMCS is a module which allows you to synchronize any data on clients, invoices and transactions with QuickBooks Desktop.''' |
|} | |} | ||
==Configuration== | ==Configuration== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"|'''1. To configure your module properly, | + | |style="padding: 10px 0px 20px 15px;"|'''1. To configure your module properly, you first have to add a new account'''.<br/> |
− | To do so proceed to '' 'Addons' '' → '' 'QuickBooks Desktop' '' → '' 'Settings' '' → '' 'Accounts'. '' | + | To do so, proceed to '' 'Addons' '' → '' 'QuickBooks Desktop' '' → '' 'Settings' '' → '' 'Accounts'. '' |
|} | |} | ||
{| | {| | ||
Line 207: | Line 205: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|In order to use the module fully, your account will be linked to ''Web Connector'', | + | |style="padding: 0px 0px 15px 15px;"|In order to use the module fully, your account will be linked to ''Web Connector'', the tool that enables the integration beetween your WHMCS system and QuickBooks Desktop.<br/> |
− | Provide the necessary information. You can also | + | Provide the necessary information. You can also specify when the data shall be synchronized automatically. |
|} | |} | ||
{| | {| | ||
Line 214: | Line 212: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|Your account should appear on the list. It can be switched on/off, edited or deleted. For the proper configuration, you need to download the file | + | |style="padding: 0px 0px 20px 15px;"|Your account should appear on the list. It can be switched on/off, edited or deleted. For the proper configuration, you need to download the file of ''Web Connector'' now, as shown below. |
|} | |} | ||
{| | {| | ||
Line 220: | Line 218: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Be sure that your QuickBooks Desktop software is now running and | + | |style="padding: 0px 0px 15px 15px;"|Be sure that your QuickBooks Desktop software is now running and there is your company file opened within in. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Then open the generated account file in the QuickBooks Web Connector. Click 'OK'. It will allow the module to authenticate your identity in QuickBooks system and let | + | |style="padding: 0px 0px 15px 15px;"|Then, open the generated account file in the QuickBooks Web Connector. Click 'OK'. It will allow the module to authenticate your identity in QuickBooks system and let your WHMCS connect with it. |
|} | |} | ||
{| | {| | ||
Line 235: | Line 233: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|You should see successfully added account in Web Connector window: | + | |style="padding: 0px 0px 15px 15px;"|You should see the successfully added account in Web Connector window: |
|} | |} | ||
{| | {| | ||
Line 243: | Line 241: | ||
|style="padding: 0px 0px 5px 15px;"|'''2. Synchronization Settings''' - decide which of the possible synchronization options you want to enable.<br/> | |style="padding: 0px 0px 5px 15px;"|'''2. Synchronization Settings''' - decide which of the possible synchronization options you want to enable.<br/> | ||
Proceed to '' 'Addons' '' → '' 'QuickBooks Desktop' '' → '' 'Settings' '' → '' 'General' '' and tick the ones you are interested in.<br/><br/> | Proceed to '' 'Addons' '' → '' 'QuickBooks Desktop' '' → '' 'Settings' '' → '' 'General' '' and tick the ones you are interested in.<br/><br/> | ||
− | ''Note: To enable synchronization between the setting fields and their equivalents in QuickBooks Desktop, | + | '' '''Note:''' To enable the synchronization between the setting fields and their equivalents in QuickBooks Desktop, the 'Default Tasks' are required that will automatically run the necessary actions.''<br/> |
+ | ''Since the 1.1.0 module version, the 'Default Tasks' are automatically added to the 'Tasks' list after the addon activation.'' <br/> | ||
+ | ''If you are using previous versions, you have to manually press on the 'Default Tasks' button to add all tasks to the list.'' | ||
|} | |} | ||
{| | {| | ||
Line 249: | Line 249: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''In 'Task' tab you can check whether all the tasks are completed. Only then the values will be visible.'' | + | |style="padding: 0px 0px 15px 15px;"|''In the 'Task' tab, you can check whether all the tasks are completed. Only then the values will be visible.'' |
|} | |} | ||
{| | {| | ||
Line 257: | Line 257: | ||
|style="padding: 0px 0px 15px 15px;"|The following synchronization options are available:<br/> | |style="padding: 0px 0px 15px 15px;"|The following synchronization options are available:<br/> | ||
'''Clients''' synchronization: | '''Clients''' synchronization: | ||
− | *Create - | + | *Create - performed upon the client creation |
− | *Update - takes place when client account has been updated | + | *Update - takes place when the client account has been updated |
− | *Delete - takes place when client has been deleted | + | *Delete - takes place when the client has been deleted |
'''Invoices''' synchronization: | '''Invoices''' synchronization: | ||
− | *Create - | + | *Create - performed upon the invoice creation |
− | *Update - takes place when | + | *Update - takes place when the invoice has been updated or altered |
− | *Delete - takes place when | + | *Delete - takes place when the invoice has been deleted |
− | *Delete Cancelled - tick to remove already cancelled WHMCS invoices from QuickBooks Desktop | + | *Delete Cancelled - tick to remove the already cancelled WHMCS invoices from QuickBooks Desktop |
'''Payments''' synchronization: | '''Payments''' synchronization: | ||
− | *Create - | + | *Create - performed when the transaction has been completed |
− | *Delete - takes place when | + | *Delete - takes place when the transaction has been deleted by an administrator |
'''Refunds''' synchronization: | '''Refunds''' synchronization: | ||
− | *Create - | + | *Create - performed when the refund has been completed |
− | *Delete - takes place when | + | *Delete - takes place when the refund has been deleted by an administrator |
− | *:Please note that both payments and refunds are handled together and | + | *:Please note that both payments and refunds are handled together and thus are summarized on the dashboard as a sinle point called '' 'Payments' '' |
'''Products''' synchronization: | '''Products''' synchronization: | ||
− | *Create - | + | *Create - performed upon the product creation |
− | *Update - takes place when | + | *Update - takes place when the product has been updated or altered |
− | *Delete - takes place when | + | *Delete - takes place when the product has been deleted |
'''Query''' synchronization: | '''Query''' synchronization: | ||
− | *Invoices Query - | + | *Invoices Query - performed before the invoice creation |
− | *Payments Query - takes place before payment creation | + | *Payments Query - takes place before the payment creation |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|For more information about '''Import Synchronization''' configuration go to the [[QuickBooks_Desktop_For_WHMCS#Cron_Jobs|Cron Jobs]] section.<br /><br /> | + | |style="padding: 0px 0px 15px 15px;"|For more information about '''Import Synchronization''' configuration, go to the [[QuickBooks_Desktop_For_WHMCS#Cron_Jobs|Cron Jobs]] section.<br /><br /> |
− | Apart from choosing required synchronization options, you have to decide | + | Apart from choosing the required synchronization options, you have to decide which items from QuickBooks Desktop will be associated with '' 'Products ' '' and '' 'Domains' ''.<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. <br /> | Choose other options from the dropdown menu to set up. <br /> | ||
− | *Tax Zero-Rated - used when charged item is not taxed | + | *'''Tax Zero-Rated''' - used when a charged item is not taxed |
− | *Shorten the Transaction ID - select this option to cut every | + | *'''Shorten the Transaction ID''' - select this option to cut every transaction ID that is longer than 21 characters (the maximum length supported by QuickBooks) |
− | *Clients Query Limit - define the number of users that shall be fetched from API at a time | + | *'''Clients Query Limit''' - define the number of users that shall be fetched from API at a time |
− | *Clients Query Status - choose all, active or inactive clients to be fetched from API | + | *'''Clients Query Status''' - choose all, active or inactive clients to be fetched from API |
+ | *'''Clients Requires Printed Invoice''' - select ''[https://docs.whmcs.com/Custom_Fields#Client_Custom_Fields Client Custom Field]'' which will be used to mark invoices as ''' '' '[https://www.docs.modulesgarden.com/images/7/77/QBD_17_1.png Print Later]' '' ''' in the QuickBooks Desktop. This custom field may be either of a '' 'Tick Box' '' or a '' 'Drop Down' '' type with '' 'yes' '' and '' 'no' '' select options to be chosen by the clients | ||
+ | *'''Accounts Receivable''' - in case you use several different '[https://quickbooks.intuit.com/accounts-receivable/ accounts receivable]' in your QuickBooks Desktop, select one of them | ||
+ | *'''Invoice Default Class''' - in case you use several [http://www.quickbooksnow.com/class-tracking-in-quickbooks-a-rarely-understood-awesome-feature/ classes] in your QuickBooks Desktop, select the class you want to use as default one | ||
+ | *'''Failure Notifications''' - in this section you can select one administrator who will receive an email notification (in either hourly or daily intervals) about failures in the selected tasks. This is executed by [https://www.docs.modulesgarden.com/QuickBooks_Desktop_For_WHMCS#Cron_Jobs cron job]. | ||
Press ''Save Changes'' button. | Press ''Save Changes'' button. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:QBD2_17.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|All the tasks and their statuses will be displayed in ''Task'' tab. | + | |style="padding: 0px 0px 15px 15px;"|All the tasks and their statuses will be displayed in the ''Task'' tab. |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 20px 25px;"|[[File:QBD_18.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:QBD_18.png]] | ||
|} | |} | ||
+ | |||
+ | ==Relations== | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|'''3. To use the module properly, remember to set the relations correctly'''.<br/> | |style="padding: 10px 0px 15px 15px;"|'''3. To use the module properly, remember to set the relations correctly'''.<br/> | ||
− | It is possible to manually declare relations between WHMCS clients, products as well as invoices and corresponding | + | It is possible to manually declare relations between WHMCS clients, products as well as invoices and corresponding QuickBooks Desktop elements.<br/> |
− | This feature is especially helpful | + | This feature is especially helpful to avoid confusion and misunderstandings.<br /> |
− | ''Please note that this is an extra option, which | + | ''Please note that this is an extra option, which grants you the possibility to manually configure relations.'' |
|} | |} | ||
− | + | ===Relation: Clients=== | |
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In '' 'Relation' → 'Tax Rules' '' directory, you will find a list of defined | + | |style="padding: 10px 0px 15px 15px;"|One of possible relations to be declared are relations between WHMCS clients and QuickBooks customers.<br/> |
− | ''Note: QuickBooks Desktop does ''' not ''' support WHMCS level 2 taxes. Only level 1 taxes are supported.'' | + | Proceed to '' 'Relation' → 'Clients,' '' you will find there a list of all clients, with their email addresses, that exist in WHMCS,<br/> those who have not been exported to QuickBooks Desktop yet as well as those already exported.<br/> |
+ | All exported and imported clients have automatically set relations. It is possible to match clients relations using 'Match Clients' button or manually choose them from the dropdown menu in 'QuickBooks Customer' section. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:QBD_23.png]] | ||
+ | |} | ||
+ | ===Relation: Custom Client Fields=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|When you go to '' 'Relation' → Custom Client Fields' '', you will find a list of fields which appear in the client profile.<br/>Firstly, select 'Clients Query' option and wait until all tasks are done.<br/> | ||
+ | ''Note that if all clients in QuickBooks Desktop have the same custom field with no value provided, that field will not be synchronized and displayed on the list. At least one of the clients has to have it filled in.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:QBD_24.png]] | ||
+ | |} | ||
+ | |||
+ | ===Relation: Products=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|Product 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 Desktop items that can be assigned to exported products. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:QBD_25.png]] | ||
+ | |} | ||
+ | ===Relation: Invoices=== | ||
+ | {| | ||
+ | |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 and status. <br/> | ||
+ | It is possible to assign such a WHMCS invoice to another invoice already exported to QuickBooks Desktop. Just choose such from a dropdown menu and save changes.<br/> Transactions between the two invoices will be synchronized then. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:QBD_27.png]] | ||
+ | |} | ||
+ | ===Relation: Tax Rules=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|In '' 'Relation' → 'Tax Rules' '' directory, you will find a list of defined tax rules.<br/>Firstly, select 'Tax Rules Query' option and wait until all tasks are completed. Then, assign each rule to a specific QuickBooks tax. Select one from a dropdown menu and save changes.<br/> | ||
+ | ''Note: QuickBooks Desktop does ''' not ''' support WHMCS's level 2 taxes. Only level 1 taxes are supported.'' | ||
|} | |} | ||
{| | {| | ||
Line 315: | Line 355: | ||
|} | |} | ||
− | + | ===Relation: Currencies=== | |
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In '' 'Relation' → 'Currencies' '' directory, you will find a list of defined currencies.<br/>Firstly, select 'Currencies Query' option and wait until all tasks are | + | |style="padding: 10px 0px 15px 15px;"|In '' 'Relation' → 'Currencies' '' directory, you will find a list of defined currencies.<br/>Firstly, select 'Currencies Query' option and wait until all tasks are completed. Then, assign each currency to a specific one from QuickBooks Desktop. Select one from a dropdown menu and save changes.<br/> |
− | ''Note that if you would like to use several currencies, 'Multicurrency' option | + | ''Note that if you would like to use several currencies, 'Multicurrency' option has to be enabled in QuickBooks Desktop settings. Otherwise, the process will not be successful. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:QBD2_26.png]] |
|} | |} | ||
− | + | ||
+ | ===Relation: Payment Gateways=== | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 20px 15px;"|In '' 'Relations' → 'Payment Gateways', '' there is a list of available payment methods. Select the one you wish to use from a dropdown menu. Save changes. |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:QBD_26_2.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|When you click the button in the '' 'Action' '' section, you can set relations for previously chosen payment mathod.<br/> | ||
+ | Assign QuickBooks Payment Deposits to a single currency. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:QBD_26_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |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. <br/>Finally, do not forget to save changes. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:QBD_26_4.png]] | ||
|} | |} | ||
==Management== | ==Management== | ||
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"|''' | + | |style="padding: 10px 0px 30px 15px;"|'''In this section, we will show you the possibilities of QuickBooks Desktop For WHMCS.'''<br /> |
− | Once it has been properly connected with QuickBooks Desktop and all the configuration is | + | Once it has been properly connected with QuickBooks Desktop and all the configuration is complete, we can move to the '' 'Export' '' section. |
|} | |} | ||
===Export=== | ===Export=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"|Our module | + | |style="padding: 10px 0px 30px 15px;"|Our module offers several ways to export any data gathered in your WHMCS.<br /> |
− | Read the below points to learn what data can be synchronized with QuickBooks Desktop and what are the possible means of such | + | Read the below points to learn what data can be synchronized with QuickBooks Desktop 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 Desktop, proceed to '' 'Export' → 'Clients.' '' You will see | + | |style="padding: 10px 0px 20px 15px;"|The first option offered by our module is the export of clients from WHMCS to QuickBooks Desktop, proceed to '' 'Export' → 'Clients.' '' You will see 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 during the specified period of time. |
|} | |} | ||
{| | {| | ||
Line 356: | Line 409: | ||
|} | |} | ||
{| | {| | ||
− | |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 otherwise stated 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 the details you will find information on the invoice: |
*ID | *ID | ||
− | *date | + | *date of creation |
*client assigned to the invoice | *client assigned to the invoice | ||
*items on the invoice | *items on the invoice | ||
Line 370: | Line 423: | ||
{| | {| | ||
|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 | + | *press '' 'Toggle Filters' '' to use the filter to find invoices from a specified period of time |
− | *perform mass export of all checked invoices | + | *perform the mass export of all checked invoices |
*export individual invoices to QuickBooks. | *export individual invoices to QuickBooks. | ||
*: Use buttons marked on the screen to perform the above enumerated actions. | *: Use buttons marked on the screen to perform the above enumerated actions. | ||
Line 379: | Line 432: | ||
|} | |} | ||
{| | {| | ||
− | |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 385: | Line 438: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 15px;"|Keep in mind that all newly added (after the first usage of QuickBooks For WHMCS) invoices and transactions are automatically synchronized and exported to QuickBooks Desktop<br /> unless otherwise stated in '' 'Synchronization Settings.' '' | + | |style="padding: 0px 0px 30px 15px;"|Keep in mind that all newly added (after the first usage of QuickBooks For WHMCS) invoices and transactions are automatically synchronized and exported to QuickBooks Desktop<br />, unless otherwise stated in '' 'Synchronization Settings.' '' |
|} | |} | ||
− | ==== | + | ====Transactions==== |
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 20px 15px;"|In '' 'Export' '' → '' 'Transactions' '' section you will find a list of payments for exported invoices. <br/> |
− | + | Note that only these transactions that could not be exported automatically during the invoice export will be visible or if the '' 'Payment Create' '' option in '' 'Export Synchronization' '' in general settings is disabled. | |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:QBD_22_1.png]] |
|} | |} | ||
− | + | ====Products==== | |
− | ==== | + | |
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 20px 15px;"|If you would like to manually export products from WHMCS to your QuickBooks Desktop, please go to the '' 'Export' '' → '' 'Products' '' section.<br/> |
− | + | Then, select the products you want to be exported and press on the 'Export' button. | |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:QBD_22_2.png]] |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
+ | |||
===Cron Jobs=== | ===Cron Jobs=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"|Properly set up cron job with a recommended interval is responsible for importing and synchronization of data from QuickBooks into WHMCS e.g any updates | + | |style="padding: 10px 0px 20px 15px;"|Properly set up cron job with a recommended interval is responsible for importing and synchronization of data from QuickBooks into WHMCS e.g. any updates carried out on invoices or clients' accounts from WHMCS. <br/> |
− | Once the cron is running, it executes settings included in '' 'Import Synchronization' '' table. | + | Once the cron is running, it executes settings included in '' 'Import Synchronization' '' table and will also send the notifications specified in the '' 'Failure Notifications' '' section. |
|} | |} | ||
Line 431: | Line 475: | ||
*'''Product Group''' - the default group for the imported product. <br /> | *'''Product Group''' - the default group for the imported product. <br /> | ||
*'''Import Limit''' - if the provided limit is reached, the script execution ends. <br /> | *'''Import Limit''' - if the provided limit is reached, the script execution ends. <br /> | ||
− | It is recommended to run cron job every six hours in order to synchronize the data between QuickBooks Desktop and WHMCS.<br/>To do so use '' 'php -q /var/www/whmcs/modules/addons/QuickBooksDesktop/cron/cron.php' '' cron with the following arguments: '' '--syncClients --syncInvoices --syncPayments --syncProducts'. ''<br/><br/> | + | It is recommended to run a cron job every six hours in order to synchronize the data between QuickBooks Desktop and WHMCS.<br/>To do so, use '' 'php -q /var/www/whmcs/modules/addons/QuickBooksDesktop/cron/cron.php' '' cron with the following arguments: '' '--syncClients --syncInvoices --syncPayments --syncProducts'. ''<br/><br/> |
− | In order to import new clients, invoices or products from QuickBooks Desktop to your WHMCS, run '' 'php -q /var/www/whmcs/modules/addons/QuickBooksDesktop/cron/cron.php' '' cron<br/>with the following arguments: '' '--importClients --importInvoices --importPayments --importProducts' '' once a day. | + | In order to import new clients, invoices, payments or products from QuickBooks Desktop to your WHMCS, run '' 'php -q /var/www/whmcs/modules/addons/QuickBooksDesktop/cron/cron.php' '' cron<br/>with the following arguments: '' '--importClients --importInvoices --importPayments --importProducts' '' once a day. <br/><br/> |
+ | If you want to synchronize clients, invoices, payments or products you can also use the following arguments: '' '--syncClients --syncInvoices --syncPayments --syncProducts'. ''<br/><br/> | ||
+ | The last available '' '--failureNotifications' '' argument is responsible for sending email notifications of failure tasks, as specified in the '' 'Failure Notifications' '' section. | ||
+ | |||
|} | |} | ||
===Logs=== | ===Logs=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"| | + | |style="padding: 10px 0px 20px 15px;"|The '' 'Logs' '' tab contains '''ALL''' actions on clients, invoices and transactions. <br />Regardless of whether they were performed manually in the module, automatically or by a cron job. <br /> You will find there a list of all entries with precisely described details and the exact date of the action. |
|} | |} | ||
{| | {| | ||
Line 443: | Line 490: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 15px;"|Clear all the entries or delete only some of them. Use buttons marked on the screen above. | + | |style="padding: 0px 0px 30px 15px;"|Clear all the entries or delete only some of them. Use the buttons marked on the screen above. |
|} | |} | ||
===Dashboard=== | ===Dashboard=== | ||
{| | {| | ||
|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, '' 'Export Summary' '' contains data on the number of exported clients, invoices and payments.<br/>The number includes exports | + | The first one, '' 'Export Summary' '' contains data on the number of exported clients, invoices and payments.<br/>The number includes exports performed in all possible manners.<br /> |
− | The second table shows information about the number of | + | The second table shows information about the number of performed tasks with their statuses. |
|} | |} | ||
{| | {| | ||
Line 456: | Line 503: | ||
===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' '', once clicked, will redirect you to the article you are currently reading! |
|} | |} | ||
=Tips= | =Tips= | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 20px 15px;"|1. Please note that QuickBooks Desktop supports the services of ''One Time'' type only. Other billing cycles cannot be added. |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 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 will pay 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). | ||
|} | |} | ||
Line 469: | Line 519: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|2. It | + | |style="padding: 0px 0px 20px 15px;"|2. It rare cases, taxes might be counted incorrectly for invoices with multiple items, whereby a part of the items is taxed and some are not. Please, be careful! |
|} | |} | ||
{| | {| | ||
Line 476: | Line 526: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|4. When .htaccess is enabled the module may not work due to the lack of connection between QuickBooks Web Connector and WHMCS system. | + | |style="padding: 0px 0px 20px 15px;"|4. When .htaccess is enabled, the module may not work due to the lack of connection between QuickBooks Web Connector and WHMCS system. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|5. In order for Web Connector to | + | |style="padding: 0px 0px 20px 15px;"|5. In order for Web Connector to be linked with your WHMCS, your site has to be SSL cerified. |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"| | |style="padding: 0px 0px 15px 15px;"| | ||
− | 6. If you get the following error: '' 'Got a packet bigger than 'max_allowed_packet' bytes' '' you need to increase <code><nowiki>max_allowed_packet</nowiki></code> parameter on your server. <br/> | + | 6. If you get the following error: '' 'Got a packet bigger than 'max_allowed_packet' bytes' '' you need to increase the <code><nowiki>max_allowed_packet</nowiki></code> parameter on your server. <br/> |
− | To do this log in to your ''mysql'' console with | + | To do this, log in to your ''mysql'' console with administrator permissions and execute the following command: |
SET GLOBAL max_allowed_packet=16777216; | SET GLOBAL max_allowed_packet=16777216; | ||
− | This command can be also | + | This command can be also performed in your phpMyAdmin if you are logged in as the root user. |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|7. In case you see '' 'The given object ID "0" in the field "list id" is invalid.' '' error, please check that '' 'Default Products Item' '' or '' 'Domains Item' '' fields are properly configured. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 15px;"| | + | |style="padding: 0px 0px 30px 15px;"|8. If you get an error '' 'Object specified in the request cannot be found' '' during the invoice export, make sure that you have '' 'Accounts Receivable' '' field selected in general settings. |
|} | |} |
Revision as of 16:03, 13 September 2017
Contents |
About QuickBooks Desktop For WHMCS
QuickBooks Desktop For WHMCS module enables the two-way integration between WHMCS and QuickBooks Desktop and thereby helps you improve your accounting management. This module synchronizes the clients, invoices and transaction details gathered in your WHMCS with QuickBooks database. |
- Module Features:
✔ Export Manually: |
✔ Clients |
✔ Invoices And Transactions |
✔ Products |
✔ Export Automatically: |
✔ Clients |
✔ Invoices |
✔ Transactions |
✔ Products |
✔ Invoices Refunds |
✔ Invoices Merge |
✔ Import Synchronization: |
✔ Clients |
✔ Invoices |
✔ Transactions |
✔ Products |
✔ Manage Relations: |
✔ Clients With Automatching |
✔ Custom Client Field |
✔ Products With Automatching |
✔ Invoices With Automatching |
✔ Tax Rules |
✔ Currencies With Payment Deposits |
✔ Define Default Product Item |
✔ Define Default Domain Item |
✔ Define Default Account For Products |
✔ Define Tax Zero-Rated |
✔ Define Home Currency |
✔ Define Automatic Export Settings |
✔ View Export And Cron Run Summary |
✔ View Web Connector Task |
✔ View Logs |
✔ Set Web Connector Account |
- General Info:
✔ Multi-Currency Support |
✔ Refunds Support |
✔ Multi-Language Support |
✔ Supports PHP 5.4 Up To PHP 7 |
✔ Supports WHMCS V6 and V7 |
- Requirements:
✔ QuickBooks Desktop Account |
✔ QuickBooks Web Connector |
✔ WHMCS With HTTPS and SSL Certificate |
Installation
This tutorial will show you how to successfully install and configure QuickBooks Desktop 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. |
![]() |
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'. |
![]() |
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 Desktop For WHMCS for the first time you have to rename 'license_RENAME.php' file. File is located in 'modules/addons/QuickBooks_Desktop/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 your 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 Desktop' and press 'Activate' button. |
![]() |
7. In the next step, you need to enable the access to this module. To do so, click on 'Configure' button, check the required group of administrators and press 'Save Changes'. |
![]() |
8. You have just successfully installed QuickBooks Desktop For WHMCS! You can access your module under 'Addons' → 'QuickBooks Desktop'. |
Configuration and Management
QuickBooks Desktop For WHMCS is a module which allows you to synchronize any data on clients, invoices and transactions with QuickBooks Desktop. |
Configuration
1. To configure your module properly, you first have to add a new account. To do so, proceed to 'Addons' → 'QuickBooks Desktop' → 'Settings' → 'Accounts'. |
![]() |
In order to use the module fully, your account will be linked to Web Connector, the tool that enables the integration beetween your WHMCS system and QuickBooks Desktop. Provide the necessary information. You can also specify when the data shall be synchronized automatically. |
![]() |
Your account should appear on the list. It can be switched on/off, edited or deleted. For the proper configuration, you need to download the file of Web Connector now, as shown below. |
![]() |
Be sure that your QuickBooks Desktop software is now running and there is your company file opened within in. |
Then, open the generated account file in the QuickBooks Web Connector. Click 'OK'. It will allow the module to authenticate your identity in QuickBooks system and let your WHMCS connect with it. |
![]() |
Next, the certification window will appear to ask for permission to read and modify your company file. Choose the appropriate option and continue. |
![]() |
You should see the successfully added account in Web Connector window: |
![]() |
2. Synchronization Settings - decide which of the possible synchronization options you want to enable. Proceed to 'Addons' → 'QuickBooks Desktop' → 'Settings' → 'General' and tick the ones you are interested in. |
![]() |
In the 'Task' tab, you can check whether all the tasks are completed. Only then the values will be visible. |
![]() |
The following synchronization options are available: Clients synchronization:
Invoices synchronization:
Payments synchronization:
Refunds synchronization:
Products synchronization:
Query synchronization:
|
For more information about Import Synchronization configuration, go to the Cron Jobs section. Apart from choosing the required synchronization options, you have to decide which items from QuickBooks Desktop will be associated with 'Products ' and 'Domains' .
Press Save Changes button. |
![]() |
All the tasks and their statuses will be displayed in the Task tab. |
![]() |
Relations
3. To use the module properly, remember to set the relations correctly. It is possible to manually declare relations between WHMCS clients, products as well as invoices and corresponding QuickBooks Desktop elements. |
Relation: Clients
One of possible relations to be declared are relations between WHMCS clients and QuickBooks customers. Proceed to 'Relation' → 'Clients,' you will find there a list of all clients, with their email addresses, that exist in WHMCS, |
![]() |
Relation: Custom Client Fields
When you go to 'Relation' → Custom Client Fields' , you will find a list of fields which appear in the client profile. Firstly, select 'Clients Query' option and wait until all tasks are done. Note that if all clients in QuickBooks Desktop have the same custom field with no value provided, that field will not be synchronized and displayed on the list. At least one of the clients has to have it filled in. |
![]() |
Relation: Products
Product 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. |
![]() |
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 and status. It is possible to assign such a WHMCS invoice to another invoice already exported to QuickBooks Desktop. Just choose such from a dropdown menu and save changes. |
![]() |
Relation: Tax Rules
In 'Relation' → 'Tax Rules' directory, you will find a list of defined tax rules. Firstly, select 'Tax Rules Query' option and wait until all tasks are completed. Then, assign each rule to a specific QuickBooks tax. Select one from a dropdown menu and save changes. Note: QuickBooks Desktop does not support WHMCS's level 2 taxes. Only level 1 taxes are supported. |
![]() |
Relation: Currencies
In 'Relation' → 'Currencies' directory, you will find a list of defined currencies. Firstly, select 'Currencies Query' option and wait until all tasks are completed. Then, assign each currency to a specific one from QuickBooks Desktop. Select one from a dropdown menu and save changes. Note that if you would like to use several currencies, 'Multicurrency' option has to be enabled in QuickBooks Desktop settings. Otherwise, the process will not be successful. |
![]() |
Relation: Payment Gateways
In 'Relations' → '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 mathod. 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. Finally, do not forget to save changes. |
![]() |
Management
In this section, we will show you the possibilities of QuickBooks Desktop For WHMCS. Once it has been properly connected with QuickBooks Desktop and all the configuration is complete, we can move to the 'Export' section. |
Export
Our module offers several ways to export any data gathered in your WHMCS. Read the below points to learn what data can be synchronized with QuickBooks Desktop 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 Desktop, proceed to 'Export' → 'Clients.' You will see 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 during the specified period of time. |
![]() |
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 '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 otherwise stated 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 the details you will find 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 newly added (after the first usage of QuickBooks For WHMCS) invoices and transactions are automatically synchronized and exported to QuickBooks Desktop , unless otherwise stated in 'Synchronization Settings.' |
Transactions
In 'Export' → 'Transactions' section you will find a list of payments for exported invoices. Note that only these transactions that could not be exported automatically during the invoice export will be visible or if the 'Payment Create' option in 'Export Synchronization' in general settings is disabled. |
![]() |
Products
If you would like to manually export products from WHMCS to your QuickBooks Desktop, please go to the 'Export' → 'Products' section. Then, select the products you want to be exported and press on the 'Export' button. |
![]() |
Cron Jobs
Properly set up cron job with a recommended interval is responsible for importing and synchronization of data from QuickBooks into WHMCS e.g. any updates carried out on invoices or clients' accounts from WHMCS. Once the cron is running, it executes settings included in 'Import Synchronization' table and will also send the notifications specified in the 'Failure Notifications' section. |
![]() |
It is recommended to run a cron job every six hours in order to synchronize the data between QuickBooks Desktop and WHMCS. |
Logs
The 'Logs' tab contains ALL actions on clients, invoices and transactions. Regardless of whether they were performed manually in the module, automatically or by a cron job. You will find there a list of all entries with precisely described details and the exact date of the action. |
![]() |
Clear all the entries or delete only some of them. Use the buttons marked on the screen above. |
Dashboard
'Dashboard' includes two useful and user-friendly tables. The first one, 'Export Summary' contains data on the number of exported clients, invoices and payments. |
![]() |
Documentation
The very last tab - 'Documentation' , once clicked, will redirect you to the article you are currently reading! |
Tips
1. Please note that QuickBooks Desktop supports the services of One Time type only. Other billing cycles cannot be added. |
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 will pay 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). |
Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |
2. It rare cases, taxes might be counted incorrectly for invoices with multiple items, whereby a part of the items is taxed and some are not. Please, be careful! |
3. In case you encounter any issues with installation and configuration please make sure you have php7.0-mcrypt and php7.0-soap installed.
Without that the module will not work properly. |
4. When .htaccess is enabled, the module may not work due to the lack of connection between QuickBooks Web Connector and WHMCS system. |
5. In order for Web Connector to be linked with your WHMCS, your site has to be SSL cerified. |
6. If you get the following error: 'Got a packet bigger than 'max_allowed_packet' bytes' you need to increase the SET GLOBAL max_allowed_packet=16777216; This command can be also performed in your phpMyAdmin if you are logged in as the root user. |
7. In case you see 'The given object ID "0" in the field "list id" is invalid.' error, please check that 'Default Products Item' or 'Domains Item' fields are properly configured. |
8. If you get an error 'Object specified in the request cannot be found' during the invoice export, make sure that you have 'Accounts Receivable' field selected in general settings. |