Difference between revisions of "KashFlow Accounting"

From WHMCS Documentation

(The Syncing Process)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
KashFlow is an accounting system primarily for UK small businesses but with customers worldwide and this addon module for WHMCS automates the entry of paid invoices into the KashFlow system.
+
== About this Addon Module ==
  
Once installed & configured, the sync process runs as part of the daily cron and creates clients, invoices & transactions in KashFlow to mirror the invoice and transaction records in your WHMCS system.
+
KashFlow is an accounting system for small businesses, particularly for businesses in the UK. This addon automates the entry of paid invoices into the KashFlow system.
  
==Additional Requirement==
+
The sync process runs as part of the daily cron job and creates clients, invoices, and transactions in KashFlow to mirror the invoice and transaction records in WHMCS.
The KashFlow API requires SOAP is compiled into your server's PHP build. To check if you have this, inside your WHMCS admin area navigate to '''Utilities > System > PHP Info''' & if you see no mention of SOAP then you will need to recompile.
 
  
==Installation==
+
<table class="table" style="text-align:center;margin:1em 1em 1em 0;background:#F9F9F9;border:1px #AAA solid;border-collapse:collapse;width:100%;">
 +
<tr>
 +
<th style="border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;">Addon Name</th>
 +
<th style="border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;">Latest Release</th>
 +
<th style="border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;">Current Version</th>
 +
<th style="border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;">Compatible With</th>
 +
<th style="border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;">Included in WHMCS</th>
 +
</tr>
 +
<tr>
 +
<td style="border:1px #AAA solid;padding:0.2em;">KashFlow Accounting</td>
 +
<td style="border:1px #AAA solid;padding:0.2em;">N/A</td>
 +
<td style="border:1px #AAA solid;padding:0.2em;">N/A</td>
 +
<td style="border:1px #AAA solid;padding:0.2em;">N/A</td>
 +
<td style="border:1px #AAA solid;padding:0.2em;color:darkgreen;">Yes</td>
 +
</tr>
 +
</table>
  
Installation can be completed in 4 simple steps:
+
== Activating KashFlow Accounting ==
  
#Begin by downloading the latest version from https://marketplace.whmcs.com/product/2546
+
You must download and upload this addon before you can activate it through the Admin Area.
#Now unzip the files to a folder on your computer
+
#Next upload the "kashflow" folder from the zip file to the '''/modules/addons/''' directory of WHMCS on your server
+
To do this:
#To complete the process, navigate to '''Setup > Addon Modules''' within the WHMCS Admin Area and then click the Activate link next to the new KashFlow module
+
 +
# Make certain that your WHMCS installation meets the requirements below.
 +
# [https://marketplace.whmcs.com/product/2546 Download the latest version of the addon.]
 +
# Unzip the files.
 +
# Upload the <tt>kashflow</tt> folder from the ZIP file to the <tt>/modules/addons/</tt> directory in WHMCS. [[File:kashflow2.png|thumb|Kashflow API Settings]][[File:kashflow3.png|thumb|Kashflow IP Authorisation]][[File:kashflow4.png|thumb|Kashflow Module Configuration]]
 +
# Log in to the Kashflow control panel.
 +
# Go to '''Settings > External Services > API Settings'''.
 +
# Check the following options:
 +
#* ''Enabled''
 +
#* ''Restrict Access to specific IP Addresses''
 +
#* ''Separate API password''
 +
# Click '''edit addresses list'''.
 +
# Add your server's IP address to the '''Authorised IP Addresses''' list.
 +
# Return to the previous page and enter an API password.
 +
# Log in to the WHMCS Admin Area.
 +
# Go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Addon Modules]]''' or, prior to WHMCS 8.0, '''Setup > Addon Modules'''.
 +
# Click '''Activate''' for '''KashFlow Accounting'''.
 +
# Click '''Configure'''.
 +
# Choose the KashFlow payment method and bank account to assign to transactions for each WHMCS payment gateway when syncing.
 +
# Enter your KashFlow username and API password.
 +
# Select the admin role groups who will have access to this addon.
 +
# Click '''Save Changes'''.
  
==Configuration==
+
== Requirements ==
  
[[File:kashflow2.png|thumb|Kashflow API Settings]] [[File:kashflow3.png|thumb|Kashflow IP Authorisation]] [[File:kashflow4.png|thumb|Kashflow Module Configuration]]
+
The KashFlow API requires SOAP in your server's PHP build. To check whether you have this, go to '''Utilities > System > [[PHP Info]]''' in WHMCS. If you do not see references to SOAP, you will need to recompile PHP.
#Login to the Kashflow control panel and then go to '''Settings > External Services > API Settings'''
 
# Tick the following options:
 
##Enabled
 
##Restrict Access to specific IP Addresses
 
##Separate API password
 
#Click the '''edit addresses list''' link and add your server's IP address to the Authorised IP Addresses list.
 
#Return to the previous screen and enter an API password. You will enter this into WHMCS shortly.
 
#Now, login to your WHMCS Administration Area
 
#To configure the module, begin by going to '''Setup > Addon Modules''' and Activate
 
#Here you will first be asked to enter your KashFlow Username & API Password configured in step 4. Once you have done this click '''Save Changes'''
 
#The API login will then be tested and if there's a problem with the username and/or password you entered an error will be displayed on screen.
 
#If the login was successful, you will see a new selection of fields appear for each of your active payment gateways in WHMCS
 
#This is where you need to choose the corresponding KashFlow payment method and bank account that transactions for each of the gateways in your WHMCS system should be assigned to when syncing (for more information on this refer to KashFlow's documentation)
 
#Once you've done that for each payment gateway you have in use, simply save the changes and you're now all set - the first KashFlow synchronisation will run as part of the next daily cron job execution
 
  
==The Syncing Process==
+
== The Syncing Process ==
  
*The sync process will run as part of the daily cron whilever the Enable box is checked - to disable again simply untick the box
+
If it is enabled, the sync process runs as part of the daily cron job.
* The KashFlow Accounting module will process a maximum of 200 invoices for each time the sync runs
 
*Should any errors occur when sending data to KashFlow, they will be recorded in the Activity Log under the Utilities menu so you should review it periodically to check for any errors
 
*The first few runs will attempt to sync all existing customers & paid invoices and so may take longer than normal
 
  
==Multi-Currency==
+
* The module can process a maximum of 200 invoices each time.
Both WHMCS and Kashflow support the use of multiple currencies, so if you wish to operate in more than one currency this section explains how the integration between WHMCS and Kashflow handles setups:
+
* The system records errors in the log at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > [[System Logs]]''' or, prior to WHMCS 8.0, '''Utilities > Activity Log'''. We recommend that you review this periodically.
 +
* The first few runs may require a longer period of time as they attempt to sync all existing customers and paid invoices.
  
*WHMCS connects to KashFlow and obtains the currencies configured within the users account.
+
== Multi-Currency Support ==
*WHMCS then matches the currency code configured in Kashflow with that configured in WHMCS and then when creating the client account in KashFlow sends the appropriate currency ID.
 
*The currency code must match in order to work. Therefore you should configure all the same currencies in KashFlow that you have configured in WHMCS under Setup > Payments > Currencies.
 
  
==Common Problems==
+
Both WHMCS and Kashflow support the use of multiple currencies.  
===KashFlow: Error Inserting Transaction xx===
 
Seeing this error in the Activity Log when the Kashflow synchronisation runs means that the transaction data being sent does not meet Kashflow's requirements. Review the Billing > Transactions List and Billing > Invoices pages to ensure all transactions and invoices have a payment Gateway assigned and that Transactions have a Transaction ID entered.
 
  
===Error Inserting Customer x: Customer Code is not unique===
+
When you use this:
Seeing this error in the Activity Log when the Kashflow synchronisation runs means the client's email address has been changed and no longer matches the email address stored in Kashflow. To resolve this, update the client's email address in Kashflow to match WHMCS.
+
# WHMCS will connect to KashFlow and retrieve the configured currencies.
 +
# WHMCS will match the KashFlow currency codes with the codes in WHMCS.
 +
# When creating client accounts in KashFlow via this integration, WHMCS sends the appropriate currency ID. The currency code '''must''' match.
 +
 
 +
Make sure to configure all of your currencies in both KashFlow and WHMCS. You can find your configured currencies in WHMCS at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Currencies]]''' or, prior to WHMCS 8.0, '''Setup > Payments > Currencies'''.
 +
 
 +
== Troubleshooting ==
 +
 
 +
=== KashFlow: Error Inserting Transaction xx ===
 +
 
 +
Seeing this error in the logs indicates that the transaction data does not meet Kashflow's requirements. Review the information at '''Billing > Transactions List''' and '''Billing > Invoices''' to ensure that all transactions and invoices have an assigned payment gateway and that transactions have a transaction ID.
 +
 
 +
=== Error Inserting Customer x: Customer Code is not unique ===
 +
 
 +
Seeing this error in the logs after Kashflow synchronisation indicates that the client's email address no longer matches the email address in Kashflow. To resolve this, update the client's email address in Kashflow to match it in WHMCS.
 +
 
 +
== Change Log ==
 +
 
 +
''N/A''

Latest revision as of 20:06, 11 May 2022

About this Addon Module

KashFlow is an accounting system for small businesses, particularly for businesses in the UK. This addon automates the entry of paid invoices into the KashFlow system.

The sync process runs as part of the daily cron job and creates clients, invoices, and transactions in KashFlow to mirror the invoice and transaction records in WHMCS.

Addon Name Latest Release Current Version Compatible With Included in WHMCS
KashFlow Accounting N/A N/A N/A Yes

Activating KashFlow Accounting

You must download and upload this addon before you can activate it through the Admin Area.

To do this:

  1. Make certain that your WHMCS installation meets the requirements below.
  2. Download the latest version of the addon.
  3. Unzip the files.
  4. Upload the kashflow folder from the ZIP file to the /modules/addons/ directory in WHMCS.
    Kashflow API Settings
    Kashflow IP Authorisation
    Kashflow Module Configuration
  5. Log in to the Kashflow control panel.
  6. Go to Settings > External Services > API Settings.
  7. Check the following options:
    • Enabled
    • Restrict Access to specific IP Addresses
    • Separate API password
  8. Click edit addresses list.
  9. Add your server's IP address to the Authorised IP Addresses list.
  10. Return to the previous page and enter an API password.
  11. Log in to the WHMCS Admin Area.
  12. Go to Configuration () > System Settings > Addon Modules or, prior to WHMCS 8.0, Setup > Addon Modules.
  13. Click Activate for KashFlow Accounting.
  14. Click Configure.
  15. Choose the KashFlow payment method and bank account to assign to transactions for each WHMCS payment gateway when syncing.
  16. Enter your KashFlow username and API password.
  17. Select the admin role groups who will have access to this addon.
  18. Click Save Changes.

Requirements

The KashFlow API requires SOAP in your server's PHP build. To check whether you have this, go to Utilities > System > PHP Info in WHMCS. If you do not see references to SOAP, you will need to recompile PHP.

The Syncing Process

If it is enabled, the sync process runs as part of the daily cron job.

  • The module can process a maximum of 200 invoices each time.
  • The system records errors in the log at Configuration () > System Logs or, prior to WHMCS 8.0, Utilities > Activity Log. We recommend that you review this periodically.
  • The first few runs may require a longer period of time as they attempt to sync all existing customers and paid invoices.

Multi-Currency Support

Both WHMCS and Kashflow support the use of multiple currencies.

When you use this:

  1. WHMCS will connect to KashFlow and retrieve the configured currencies.
  2. WHMCS will match the KashFlow currency codes with the codes in WHMCS.
  3. When creating client accounts in KashFlow via this integration, WHMCS sends the appropriate currency ID. The currency code must match.

Make sure to configure all of your currencies in both KashFlow and WHMCS. You can find your configured currencies in WHMCS at Configuration () > System Settings > Currencies or, prior to WHMCS 8.0, Setup > Payments > Currencies.

Troubleshooting

KashFlow: Error Inserting Transaction xx

Seeing this error in the logs indicates that the transaction data does not meet Kashflow's requirements. Review the information at Billing > Transactions List and Billing > Invoices to ensure that all transactions and invoices have an assigned payment gateway and that transactions have a transaction ID.

Error Inserting Customer x: Customer Code is not unique

Seeing this error in the logs after Kashflow synchronisation indicates that the client's email address no longer matches the email address in Kashflow. To resolve this, update the client's email address in Kashflow to match it in WHMCS.

Change Log

N/A