Personal tools
Namespaces

Variants
Actions

QuickBooks Desktop For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
Line 5: Line 5:
 
|style="padding: 10px 0px 5px 0px;"|'''QuickBooks Desktop For WHMCS''' module allows you to set up discounts for products ordered in a defined combination or amount,<br/> configure dependencies between discounts bundles and rules according to which products are counted in a cart and discounts applied.<br/> The module also allows you to exclude some groups of clients from being charged with discounts or promote only new clients!
 
|style="padding: 10px 0px 5px 0px;"|'''QuickBooks Desktop For WHMCS''' module allows you to set up discounts for products ordered in a defined combination or amount,<br/> configure dependencies between discounts bundles and rules according to which products are counted in a cart and discounts applied.<br/> The module also allows you to exclude some groups of clients from being charged with discounts or promote only new clients!
 
|}
 
|}
<!-- fixed -->
 
 
*'''Module Features:'''
 
*'''Module Features:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔  
+
|style="padding: 10px 0px 0px 30px;"|✔ Export Manually:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔  
+
|style="padding: 0px 0px 0px 45px;"|✔ Clients
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔  
+
|style="padding: 0px 0px 0px 45px;"|✔ Invoices
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔  
+
|style="padding: 0px 0px 0px 45px;"|✔ Transactions
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Export Automatically:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Clients
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Invoices
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Transactions
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Manage Relations:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Clients
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Invoices
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Products - Items
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Tax Rules
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Currencies - Payment Deposits
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Default Domain Item
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Tax Zero-Rated
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Tax Type
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Create QuickBooks Item
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Automatic Export Settings
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Client Name Display Format
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ View Export And Cron Run Summary
 
|}
 
|}
 
{|
 
{|
Line 24: Line 74:
 
*'''General Info:'''
 
*'''General Info:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔
+
|style="padding: 10px 0px 0px 30px;"|✔ Multi-Currency Support
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔
+
|style="padding: 0px 0px 0px 30px;"|✔ Refunds Support
 
|}
 
|}
 
{|
 
{|
Line 33: Line 83:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS V5 and V6
+
|style="padding: 0px 0px 10px 30px;"|✔ Supports WHMCS V5 and V6
 +
|}
 +
*'''Requirements:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ QuickBooks Online Account
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ PHP 5.3
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 30px;"|✔ OAuth PHP Library - Connect Using Secure Protocol
 
|}
 
|}
  
 
=Installation=
 
=Installation=
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''This tutorial will show you how to successfully install and configure Discount Center For WHMCS.''' <br/>
+
|style="padding: 10px 0px 15px 15px;"|'''This tutorial will show you how to successfully install and configure QuickBooks For WHMCS.''' <br />
 
We will guide you step by step through the whole installation and configuration process.  
 
We will guide you step by step through the whole installation and configuration process.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''1. Log in to your client area and download Discount Center For WHMCS.'''
+
|style="padding: 0px 0px 20px 15px;"|'''1. Log in to your client area and download QuickBooks For WHMCS.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''2. Upload and extract the module into the main WHMCS directory.'''<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''2. Upload and extract the module into the main WHMCS directory.'''<br />
 
Files in your WHMCS directory should look like on the following screen.
 
Files in your WHMCS directory should look like on the following screen.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_2.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''3. When you install QuickBooks for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''3. When you install QuickBooks for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
File is located in '' 'modules/addons/discount_center/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
+
File is located in '' 'modules/addons/QuickBooks/license_RENAME.php' '' . Rename it from '' 'license_RENAME.php' '' to '' 'license.php' '' .
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_3.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_3.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. In order to configure your license key, you have to edit the previously renamed '' 'license.php' file. '''''<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''4. In order to configure your license key, you have to edit the previously renamed '' 'license.php' file ''.'''<br />
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'. ''
+
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' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_4.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_4.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''5. Now you have to activate the module in your WHMCS system. '''<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''5. Now you have to activate the module in your WHMCS system. '''<br />
Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules'. '' Afterwards, find '' 'Discount Center' '' and press '' 'Activate' '' button.
+
Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules' ''. Afterwards, find '' 'QuickBooks' '' and press '' 'Activate' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_5.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_5.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''6. In the next step you need to permit access to this module.'''<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''6. In the next step you need to permit 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 required group of administrators and press '' 'Save Changes' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_6.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_6.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''7. You have just successfully installed Discount Center For WHMCS!'''<br/>
+
|style="padding: 0px 0px 30px 15px;"|'''7. You have just successfully installed QuickBooks For WHMCS!'''<br />
You can access your module under '' 'Addons' '' → '' 'Discount Center'. ''
+
You can access your module under '' 'Addons' '' → '' 'QuickBooks' ''.
 
|}
 
|}
 +
=Configuration and Management=
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DC_7.png]]
+
|style="padding: 10px 0px 30px 15px;"|'''QuickBooks For WHMCS is a module which allows you to export any data on clients, invoices and payments directly to QuickBooks.'''<br />
 +
'''Warning!''' In order to properly use QuickBooks For WHMCS, it is required to have '''OAuth PHP Class''' installed! <br />
 +
Make sure OAuth PHP Class is installed in your system, only then you can proceed to the proper configuration of QuickBooks For WHMCS.
 
|}
 
|}
=Management=
+
==API Keys==
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''Discount Center For WHMCS has been created to help you vary your offer with personalized discounts that can be applied to chosen products and/or clients.'''<br/> Configure advanced activation rules to make your offer the most attractive and competitive.
+
|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 />
 +
'''1. Log in to:''' https://developer.intuit.com/ <br><br />
 +
:Use your QuickBooks account details to sign in.  
 
|}
 
|}
==Configure Discounts==
 
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"| In order to configure your module properly, proceed to '' 'Addons' '' → '' 'Discount Center' '' and start with setting up rules to offer discounts for your clients.
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_28.png]]
 
|}
 
|}
===Standard Discounts===
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|To start move to '' 'Discounts' '' section. There press '' 'Add Discount' '' button.  
+
|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:DC_9.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_20.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You are moved to '' 'General' '' information page of the currently composed discount. Here you have to fill out the form to make the rule.<br/>
+
|style="padding: 0px 0px 20px 15px;"|'''3. Choose: '' 'Select APIs' '' '''
Select box to enable discount (it will be put into practice immediately on creation, you may also leave it disabled for a moment and enable it in the future).<br/>
+
Name the discount and the most importantly, declare promotional and required products. <br/><br/>
+
Among ''' 'Promotional Products' ''' there can be of course products from your offer, addons and domains. According to specified rule, pointed here items' price will be adequately changed.<br/>
+
Below, you can specify a list of ''' 'Required Products' ''' that a client must also have in the cart to be entitled to get the discount for promotional products.<br/> Among them there can be again products, addons and domains. In case a client does not have all of the required products added to the cart, the discount will be not applied.<br/>
+
Press '' 'Next' '' to continue.<br/><br/>
+
''Note: you must select at least one promotional product to be allowed to move to the next step.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_10.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_21.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Under '' 'Product Discounts' '' you have to set up discount rates for every product's pricing. To do so press the cross button as marked on the screen.
+
|style="padding: 0px 0px 20px 15px;"|'''4. Then mark '' 'Accounting ' '' and '' 'Create app.' '' '''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_11.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_22.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Enter the discount value and select its type, it can be either percentage that will be counted from the price or a fixed amount by which the final price will be reduced.<br/> Press '' 'Next' '' when ready.
+
|style="padding: 0px 0px 20px 15px;"|'''5. Once a new app has been created, you will be moved to its '' 'Development' '' section, but we need you to choose '' 'Production.' '' '''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_12.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_23.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Finally, you are moved to activation rules. Here you may decide for which of your clients the discount should be entitled to purchase products with a discount.<br/> You may grant it to all of your clients, offer it to new clients only or manually select desired usernames.<br/> It is also possible to enter client groups names here and offer discounts to bundles of clients.<br/>
+
|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 />
Press '' 'Save Changes' '' to confirm creation of the new discount.
+
<br>However, if your account data are not complete, you will have to fill them out firstly!
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_13.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_26.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|All available discounts are now visible, with their name and status. You may always change the status to disabled/enabled, edit the discount or delete it.<br/> Use action buttons marked on the screen below to do so.
+
|style="padding: 0px 0px 20px 15px;"|'''7. Now, you are finally in the right place. In '' '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!
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DC_8.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:QB_27.png]]
 
|}
 
|}
  
===Quantity Discounts===
+
==Configuration==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'' 'Quantity discounts' '' - offer different price depending on the amount of products in the cart. Press '' 'Add New' '' to begin.
+
|style="padding: 10px 0px 20px 15px;"| In order to configure your module properly, proceed to '' 'Addons' '' '' 'QuickBooks' '' → '' 'Configuration.' ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_14.png]]
+
|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 />
 +
Currently your '' 'Connection Status' '' is '' 'Not Connected.' '' In order to connect to QuickBooks press '' 'Change' '' button marked on the screen below:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|In '' 'General' '' section you have to name the new discount rule, enable (if you want to apply it immediately on creation) and select items<br/> that must be in the cart to entitle the client to the discount. Among ''' 'Required Products' ''' there can be of course products from your offer, addons and domains.<br/> According to specified rule, pointed here items' price will be adequately changed.<br/>
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_8.png]]
Press '' 'Next' '' to continue.<br/>
+
''Note: you must select at least one promotional product to be allowed to move to the next step.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_15.png]]
+
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 />
 +
These are your QuickBooks keys that you have generated in the previous step:
 +
*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 '' 'Module Log' '' section
 +
'''Save changes firstly''' and only then a button '' 'Connect to QuickBooks' '' appears, press it to connect to QuicBooks.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Under '' 'Quantity Discount' '' you have to decide when the discount will be applicable.<br/>
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_35.png]]
*All required products - every product that is on the list of required will be charged with the discount
+
*More Expensive - declare price limit and only more expensive of the products than the limit here will be charged with the discount
+
*Less Expensive - declare the maximum price limit and only cheaper products than the limit declared here will be charged with the discount
+
*Promotional Products - list items that the discount can be applied to (products/addons/domains)
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_16.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 />
 +
From now on will be able to use your QuickBooks For WHMCS.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|In this section you also have to set up '' 'Thresholds' '' - which means the minimum number of products (that have fulfilled the above application rule!)<br/> that must be in the cart of a single order. Specify a percentage discount for the threshold, you can set up more than one of course.<br/> Press '+' button to add more discounts possibilities.<br/>
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_29.png]]
When ready, press '' 'Next' '' to continue.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_17.png]]
+
|style="padding: 0px 0px 15px 15px;"|You have to do this step once only! <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.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Finally, you are moved to activation rules. Here just like in case of standard discounts, you may decide for which of your clients the discount should be entitled to purchase<br/> products with a discount. You may grant it to all of your clients, offer it to new clients only or manually select desired usernames.<br/> It is also possible to enter client groups names here and offer discounts to bundles of clients.<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''2. Multi-Currency''' configuration.<br/>
Press '' 'Save Changes' '' to confirm creation of the new discount.
+
If connection with QuickBooks has been properly setup, currency details will be visible.  
 +
*View ''Home Currency''
 +
*''MultiCurrency'' status<br/>
 +
The above data are synchronized with your QuickBooks account.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DC_18.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_currency.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|All available quantity discounts are now visible, with their name and status. You may always change the status to disabled/enabled, edit the discount or delete it.<br/> Use action buttons marked on the screen below to do so.
+
|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 30px 25px;"|[[File:DC_22.png]]
+
|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 />
 +
Tick the ones you are interested in.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|There are:<br />
 +
'''Clients''' synchronization:
 +
*Create - done on client's creation
 +
*Update - takes place when client account has been updated
 +
'''Invoices''' synchronization:
 +
*Create - done on invoice creation
 +
*Update - takes place when an invoice has been updated or altered 
 +
*Delete - takes place when an invoice has been deleted
 +
'''Payments''' synchronization:
 +
*Create - done when a transaction has been completed
 +
*Delete - takes place when a transaction has been deleted by an admin
 +
'''Refunds''' synchronization:
 +
*Create - done 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 in dashboard are summarized as one point called '' 'Payments' ''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Apart from choosing required synchronization options, you have to decide here, which items from QuickBooks, '' 'Products ' '' and '' 'Domains' '' will be associated with.<br />''Note: Default Product will be used only when tehre is no relation set for the selected product in 'Relation: Product' section.''<br/>
 +
Choose other options from the dropdown menu to set up. <br />
 +
*Tax Zero-Rated - used whent 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.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:QB_10.png]]
 
|}
 
|}
  
==Additional Options==
+
==Management==
===Settings===
+
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Under '' 'Settings' '' tab you must define a number of days a client will be considered '' 'New'. '' Such information is necessary when you select '' 'New - give promotion to new clients only' ''<br/> option as '' 'Activation Rule' '' for any of your set up discounts. If you enter here for example 90, then if this option is selected for any of the discounts,<br/> clients with accounts not older than 90 days before will be taken into consideration while applying a discount. <br/><br/>
+
|style="padding: 10px 0px 30px 15px;"|'''At this section we will show you the possibilities of QuickBooks For WHMCS.'''<br />
'' 'Hide Guide' '' here if you are already familiar with its content or unselect to read it again.
+
Once it has been properly connected with QuickBooks and all the configuration is now ready, we can move on to '' 'Export' '' section.  
 
|}
 
|}
 +
===Export===
 +
{|
 +
|style="padding: 10px 0px 30px 15px;"|Our module allows 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.
 +
|}
 +
====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 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: 0px 0px 20px 25px;"|[[File:QB_11.png]]
 +
|}
 +
{|
 +
|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 25px;"|[[File:QB_12.png]]
 +
|}
 +
{|
 +
|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====
 +
{|
 +
|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:
 +
*ID
 +
*date when it was created
 +
*client assigned to the invoice
 +
*items on the invoice
 +
*its status
 +
*a total sum.
 +
|}
 +
{|
 +
|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
 +
*perform mass export of all checked invoices
 +
*export individual invoices to QuickBooks.
 +
*: Use buttons marked on the screen to perform the above enumerated actions.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:QB_13.png]]
 +
|}
 +
{|
 +
|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 25px;"|[[File:QB_14.png]]
 +
|}
 +
{|
 +
|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<br /> unless otherwise stated in '' 'Synchronization Settings.' ''
 +
|}
 +
===Relation===
 +
{|
 +
|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 />
 +
''Please note that this is an extra option, which gives the possibility to manually configure relations.''
 +
|}
 +
====Relation: Clients====
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|The first possible relations to be declared are relations between WHMCS clients and QuickBooks customers. <br />
 +
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 yet as well as those already exported.<br />
 +
This functionality is especially helpful when one of your clients has more than one account in WHMCS, but you do not want to double accounts in QuickBooks. <br /> Then you can simply assign such client to an already existing customer in QuickBooks.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:QB_30.png]]
 +
|}
 +
====Relation: Products====
 +
{|
 +
|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.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:QB_31.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|If you need, you can add new products to QuickBooks' items list, just press '' 'New Product' '' button marked on the screen below.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:QB_32.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 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 30px 25px;"|[[File:QB_33.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 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.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:QB_34xxx.png]]
 +
|}
 +
====Relation: Tax Rules====
 +
{|
 +
|style="padding: 10px 0px 15px 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: 0px 0px 30px 25px;"|[[File:QB_34tax.png]]
 +
|}
 +
====Relation: Payment Deposits====
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|In '' 'Relation' → 'Payment Deposits', '' there is a list of available currencies with their base converting rate. <br/>
 +
Assign QuickBooks payment Deposits to a single currency.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:QB_34payment.png]]
 +
|}
 +
 +
===Cron Jobs===
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DC_19.png]]
+
|style="padding: 10px 0px 30px 15px;"|Properly set up cron job with a recommended interval is responsible for synchronization of any updates done 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 For WHMCS.  
 
|}
 
|}
 
===Logs===
 
===Logs===
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|In '' 'Logs' '' tab there are enumerated information on any orders that discounts were applied to. Invoice number, discount ID and value.
+
|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: 0px 0px 20px 25px;"|[[File:DC_20.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:QB_16.png]]
 
|}
 
|}
 
{|
 
{|
Line 209: Line 425:
 
===Dashboard===
 
===Dashboard===
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|On the dashboard you can find '' 'Summary' '' table with detailed statistics on applied discounts with the most frequently used ones and the highest amount granted. <br/> Next to '' 'Summary' '' table, a chart can be found with number of discounts applied per specified period of time. You can display the chart per week, month or a year.
+
|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 second table contains information on crons. You may read when the last cron was run and what time period it covered.
 
|}  
 
|}  
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DC_21.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:QB_18.png]]
 
|}
 
|}
 
 
===Documentation===
 
===Documentation===
 
{|
 
{|
Line 221: Line 438:
 
=Tips=
 
=Tips=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|1. If a clients adds to the cart a product that can have more than one discount applied, then a higher discount is applied on the invoice.  
+
|style="padding: 10px 0px 30px 15px;"|1. Status of the invoice in QuickBooks may differ from the one visible in WHMCS. <br />
 +
:It will be marked as paid only if it is associated with payments on exactly the same amount. <br />
 +
:If there was no such real payment, the invoice will be marked as '' 'Unpaid.' ''
 
|}
 
|}
 
 
=Common Problems=
 
=Common Problems=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
+
|style="padding: 10px 0px 20px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|2. 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!
 
|}
 
|}

Revision as of 12:44, 11 February 2016

Contents

About QuickBooks Desktop For WHMCS

QuickBooks Desktop For WHMCS module allows you to set up discounts for products ordered in a defined combination or amount,
configure dependencies between discounts bundles and rules according to which products are counted in a cart and discounts applied.
The module also allows you to exclude some groups of clients from being charged with discounts or promote only new clients!
  • Module Features:
✔ Export Manually:
✔ Clients
✔ Invoices
✔ Transactions
✔ Export Automatically:
✔ Clients
✔ Invoices
✔ Transactions
✔ Manage Relations:
✔ Clients
✔ Invoices
✔ Products - Items
✔ Tax Rules
✔ Currencies - Payment Deposits
✔ 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 WHMCS V5 and V6
  • Requirements:
✔ QuickBooks Online Account
✔ PHP 5.3
✔ OAuth PHP Library - Connect Using Secure Protocol

Installation

This tutorial will show you how to successfully install and configure QuickBooks 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 QuickBooks For WHMCS.
QB 1.png
2. Upload and extract the module into the main WHMCS directory.

Files in your WHMCS directory should look like on the following screen.

QB 2.png
3. When you install QuickBooks 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
4. 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
5. 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.

QB 5.png
6. 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' .

QB 6.png
7. You have just successfully installed QuickBooks For WHMCS!

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

Configuration and Management

QuickBooks For WHMCS is a module which allows you to export any data on clients, invoices and payments directly to QuickBooks.

Warning! In order to properly use QuickBooks For WHMCS, it is required to have OAuth PHP Class installed!
Make sure OAuth PHP Class is installed in your system, only then you can proceed to the proper configuration of QuickBooks For WHMCS.

API Keys

Before you proceed to proper configuration of the module, you will need to generate some data directly in QuickBooks.
Please follow the steps:

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 will be moved to its 'Development' section, but we need you to choose 'Production.'
QB 23.png
6. If your account data is properly filled in, you will have to complete any information on the application and 'Save Changes.'


However, if your account data are not complete, you will have to fill them out firstly!

QB 26.png
7. Now, you are finally in the right place. In '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!

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 the very basic and absolutely necessary to proceed to any further steps.

Currently your 'Connection Status' is 'Not Connected.' In order to connect to QuickBooks press 'Change' button marked on the screen below:

QB 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 connect your WHMCS with it.
These are your QuickBooks keys that you have generated in the previous step:
  • 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 'Module Log' section
Save changes firstly and only then a button 'Connect to QuickBooks' appears, press it to connect to QuicBooks.
QB 35.png
If entered data are correct, you will be redirected to QuickBooks where you will have to agree to authenticate the connection.
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.

From now on will be able to use your QuickBooks For WHMCS.

QB 29.png
You have to do this step once only!

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.

2. 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
3. Cron configuration - set up cron jobs.

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.
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.

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

Tick the ones you are interested in.

There are:

Clients synchronization:

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

Invoices synchronization:

  • Create - done on invoice creation
  • Update - takes place when an invoice has been updated or altered
  • Delete - takes place when an invoice has been deleted

Payments synchronization:

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

Refunds synchronization:

  • Create - done 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 in dashboard are summarized as one point called 'Payments'
Apart from choosing required synchronization options, you have to decide here, which items from QuickBooks, 'Products ' and 'Domains' will be associated with.
Note: Default Product will be used only when tehre 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 whent 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 For WHMCS.

Once it has been properly connected with QuickBooks and all the configuration is now ready, we can move on to 'Export' section.

Export

Our module allows 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 synchronizations.

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 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 filter to find clients with their account created on the specified in the filter period of time.
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 '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 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 details you will find information on the invoice:
  • ID
  • date when it was created
  • client assigned to the invoice
  • items on the invoice
  • its status
  • a total sum.
Just like in case of clients:
  • press 'Toggle Filters' to use filter to find invoices from 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 'Summary' table on the dashboard.
QB 14.png
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
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 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,
those who have not been exported to QuickBooks yet as well as those already exported.
This functionality is especially helpful when one of your clients has more than one account in WHMCS, but you do not want to double accounts in QuickBooks.
Then you can simply assign such client to an already existing customer in QuickBooks.

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
Give the new item a name, additionally you can describe it shortly, state its price/rate and choose account.
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.
QB 33.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 such WHMCS invoice to another invoice already exported to QuickBooks. Just choose such from 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 taxes rules.
Assign each rule to a specific QuickBooks tax. Select one from a dropdown menu and save changes.
QB 34tax.png

Relation: Payment Deposits

In 'Relation' → 'Payment Deposits', there is a list of available currencies with their base converting rate.

Assign QuickBooks payment Deposits to a single currency.

QB 34payment.png

Cron Jobs

Properly set up cron job with a recommended interval is responsible for synchronization of any updates done 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 For WHMCS.

Logs

In 'Logs' tab there are enumerated ALL actions on clients, invoices and transactions.
No matter if they were taken manually in the module, if they were taken automatically or by a cron job.
Find there a list of all entries with precisely described details and an exact date of the action.
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 done in all possible manners.
The second table contains information on crons. You may read when the last cron was run and what time period it covered.

QB 18.png

Documentation

The very last tab 'Documentation' once clicked will 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. 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!
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
QuickBooks Desktop For WHMCS