Xero.com Auto-Export Module


Xero.com module for HostBill enables data export from HostBill billing platform to Xero.com accounting software. The module allows to seamlessly export existing customers, transactions and issued invoices information and set automation rules to export new customers, new recurring invoices and new transactions into Xero.com accounting software.

Activating the module

  1. If the plugin is included in your HostBill edition you can download it from your client portal.
  2. If the plugin is not included in your HostBill edition you can purchase it from our marketplace and then download it from the client area.
  3. Once you download the plugin extract it in the main HostBill directory.
  4. Go to Settings → Modules, find and activate Xero.com plugin.
  5. Once the plugin is activated you will be directed to Settings→ Modules→ Plugins to configure the plugin.

Module configuration

Fill in the configuration fields

  1. Consumer Key - used by Oauth 1 (deprecated)
  2. Consumer Secret- used by Oauth 1 (deprecated)
  3. Sales Account Code - will be used on invoice item as AccountCode in Xero
  4. Bank account ID - will be used as AccountID when registering payment in Xero
  5. Private key file - used with OAuth 1 (deprecated)
  6. Certificate file - used with OAuth 1 (deprecated)
  7. Export Invoice number - Use Invoice number generated by hostbill when exporting invoices. Reference is always set with hostbill invoice number
  8. Export Bulk Payment - When enabled module will export bulk-payment invoices
  9. Match exported invoice - If an invoice with the same ID exists at Xero.com, it assigns an existing invoice
  10. Export only paid invoices - When enabled, only invoices that are paid in HostBill will be exported
  11. Custom invoice prefix - Prefix that will be added to the invoice number. The maximum length of the prefix, including the invoice number, cannot exceed 255 characters.
  12. API - Select API connection method, OAuth 2 →  is current, Oauth 1 → deprecated
  13. OAuth2 Client ID - Required field for OAuth 2.0, see below for how to obtain it
  14. OAuth2 Client Secret - Required field for OAuth 2.0
  15. Item tax - If checked, it sends information about item tax when exporting an invoice
  16. Invoice note - where to store information about exported Xero invoice number (in HostBill invoice)
  17. Export product code - When enabled product codes will be exported/created in Xero during each invoice export

Obtaining credentials from Xero

First of all you must have an active Xero account.

Log in to your Xero developer account. 

To use the Xero service you must have a create Code Flow app:

  1. Go to the top menu of the page  My apps
  2. Click on the New App button
  3. Enter the App name and select Integration type
  4. Set Company or application URL to the value provided in the module description
  5. Set Redirect URI to the value provided in the module description
  6. Accept the Terms & Conditions and Create app
  7. Go to the Configuration tab (make sure the Redirect URI is the same as in the module description)
  8. Press Generate a secret
  9. Set the generated Client id and Client secret in the module configuration as OAuth2 Client ID and OAuth2 Client Secret
  10. In the module configuration, set the API to OAuth 2.0 and save the changes
  11. In the module description, press the OAuth 2.0 button and after the page redirection, log in to your Xero.com account

Clearing out locally stored data

If you were just testing extension in test/demo mode and wish to clear out information about exported invoices/customer/transactions from HostBill database, allowing you to re-export data again, you can do so by removing locally stored Xero ids from HostBill database. To do so, login to your HostBill ssh, access HostBill database (login details are stored in includes/config.php) and run following queries against HostBill db:

TRUNCATE TABLE `xerocom_clients`;
TRUNCATE TABLE `xerocom_invoices`;
TRUNCATE TABLE `xerocom_transactions`;