Bencata is in need of a billing system.
We currently have a datacenter with two computers running A2Billing software ([url removed, login to view]). We would like to periodically poll these computers and extract the billing data. On a monthly basis, we would like to automatically generate and e-mail invoices.
A2billing stores the billing records in a SQLserver database.
Unfortunately, a2billing is primarily designed to support calling cards, thus the invoice functionality is limited.
We need a centralized application that can gather the required data and generate a monthly e-mail.
(I’m calling the application a2invoicing)
The application should be able to:
(1) Connect to a configurable list of Internet-accessible A2Billing servers and retrieve call detail data, storing it locally. (Ideally, this would happen daily (maybe even hourly) so that I have a backup of the billing data)
(2) Generate a monthly invoice (PDF format).
(3) E-mail the monthly invoice to each customer
(4) Allow me to optionally review the invoice, prior to it being e-mailed
(5) Allow me to record the paid amount from previous invoices (so that next invoice shows amounts received from customer), unpaid balances, reverse specific charges, or provide credits (with description).
(6) The invoice should be formatted similar to a provided sample (with enough configurability that other users can also build their own invoice style)
(7) As invoices are generated, they should be archived so they can be re-sent as necessary
(8) Allow new customers to be created, and for each customer set up required invoice data (name, contact details, recurring monthly charges, etc.,)
a. Each new customer will have an initial one-time invoice for setup costs
b. Each new customer should have a pro-rated invoice which includes call detail through the end of the month, and pro-rates the monthly charges
(9) After running invoices for the month, check for any missed calls. i.e. are their any billing records on the A2Billing servers that have not been invoiced?
(10) The application should run on a linux VM ideally with a SQL server database. I don’t want to have to spend any license money purchasing any sort of development or runtime environment
(11) The application should be productized and have enough functionality for third parties to purchase and use the product.
(12) Create a basic install script so that other phone companies can install and configure A2Invoicing on their own.
(13) Generate a Bencata report
a. Showing the customer monthly activity. Monthly call usage (invoiced amounts vs. Bencata cost for each call)
b. Showing aggregate traffic on each SIP trunk (i.e. to the various service providers Bencata uses)
c. Show any call issues
i. Incomplete calls, dropped calls, traffic congestion, unable to connect, etc.,