There is several different ways that XenOrchestra and WHMCS could potentially interact.
Main Features of WHMCS
*Monthly Invoicing System for Hosting Companies
*Client Portal for Hosting Clients
*Auto-Provisioning/De-Provisioning features upon Order completion / Payment verification
*CRM, List of Accounts, Contacts Per Account, Contact Permissions/Functions
*Resouce Usage Billing
Since I already have my clients email addresses, and their contacts emails with password, I should be able to create an AUTH plugin atleast so that I dont need users to keep 2 sets of passwords?
I already have this working ... maybe it can be made into an auth plugin easily?
<?php
     	session_start();
        if(isset($_GET["email"]) && isset($_GET["password"]))
        {
                $_SESSION["email"] = $_GET["email"];
                $_SESSION["password"] = $_GET["password"];
        }
	if($_SESSION["email"] != "" && $_SESSION["password"] != "")
        {
                $url = "https://www.mywhmcs.net/includes/api.php"; # URL to WHMCS API file
                $username = "Russell"; # Admin username goes here
                $password = "russellspassword"; # Admin password goes here
                $postfields["username"] = $username;
                $postfields["password"] = md5($password);
                $postfields["action"] = "validatelogin";
                $postfields["email"] = $_SESSION['email'];
                $postfields["password2"] = $_SESSION['password'];
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_TIMEOUT, 100);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
                $data = curl_exec($ch);
                curl_close($ch);
                $data = explode(";",$data);
                foreach ($data AS $temp) {
                  $temp = explode("=",$temp);
                  $results[$temp[0]] = $temp[1];
                }
        }
	else
	{
                session_destroy();
        }
	$loggedIn = $results["result"] == "success";