@naja7host
Licences can now be removed via the web UI and the API. To remove via the web UI, simply click "Delete" to the right-hand side of the licence where it's listed under the "Licences" page. If you're logged in, click here to get to that page.
To remove a licence via the API, take a look at our documentation, here. As usual, it's a pretty simple 1-call request that will return either a successful response with some information about the licence you just deleted, or it will return an error and error code if there was a problem (common problems would be that you forgot to add an API key to the request, you're trying to delete a licence that isn't yours, or the licence has already been deleted, or never existed in the first place).
Deleting a licence will be added into the PHP library shortly - If, for some reason, you need it in the next couple of hours, you can make an API request to delete the licence. Just instantiate a new "Api" class and then get the Guzzle HTTP client using the getClient() method.
The default behaviour of our Blesta module is still to suspend a licence, even if the service is cancelled. We've done this for the sake of data integrity. If you want to change this behaviour, you can fork our Blesta module on GitHub and modify the module to delete a licence if the service is cancelled, instead.
Deleting a licence means that it will no longer be included in your total licence count. An easy rule to remember is that if the licence appears in the list under the "Licences" page, it will be counted as one of your licences - even if it's expired or has been suspended. If there's enough interest, we could add some tools which allow you to delete all the expired licences, or all of the suspended licences, in one fell-swoop, but that's a pretty risky move so I'm somewhat hesitant to add it initially, at least.
Hope this helps! Let me know if you run into any issues.