Last two weeks I have been working hard trying to release a new version of the Billing/LCR for FusionPBX software. There are some exciting changes which I will talk about in this post. I encourage everyone to update to this release.
Usually, the taxes are taken out from the paid amount. However, this was doing balance calculation very complex, not to mention that there is no a clear way of dealing with this with the different payment processors. The logic now is at follows: when you pay, if there is a tax configured it will be calculated and added to the quantity you want to pay. For example, if you have a 5% tax, and willing to pay 10 USD, you will be forwarded to pay 10.50 USD. This works on all payments plugins now.
Because I must work with best IT practices, I decide to install my ticketing and support system. I have known OTRS since 2012. As they claim on their website, OTRS with ITMS satisfies ITIL processes, one of them has to be with Incident Management. OTRS, if installed with the correct add-on, can give support for a DBMS, in other words, it can keep track of your inventory and link dependencies and issues to them. OTRS can be linked to a Nagios system as well.
So, if you invest the enough time, you can have a pretty good ticketing system.
Caching in OTRS allows you to reuse objects that have been used recently. By default, OTRS has a disk cache. However, this could not be enough if you are planning to do a cluster or you just want to speed things up. Fortunately for us, someone coded the Memcached support. So I will talk about how I did this.
In my very specific case, the VPS where I have installed my OTRS is very slow on I/O operations, so putting a Memcached configuration helped a lot!
Disclaimer: I am not the author of this patch. I just did the .patch file more friendly.