Billing
From FusionPBX
This is a project by AviMarcus to manage billing for VoIP.
My use:
I have no billing mechanism of any kind. This will have to be the whole thing.
- Bill various monthly and per-minute charges.
- Bill residential users a flat monthly fee, optionally a monthly per-DID fee, and per-minute, as set in the dialplan handled by mod_nibblebill.
- Bill business in a multi-tenant manner. Flat fee for PBX hosting/support and flat fee for trunks (if through me) or per-minute, again as per mod_nibblill.
- This should integrate with paypal, which allows variable recurring. It's free until 2011 then only $20/year.
- Trigger paypal payments on a low balance threshold.
- It should provide a payment/balance trail and list the CDRs and the prices of whatever they were billed. Also, let me restrict outgoing calls for no balance.
- I would like integration with DIDWW API, so users can choose to add a new DID and it gets added to their monthly charges and gets automatically routed to their extension (personal) or where they want (business)
- Perhaps - users, or atleast the admin, should be able to cancel monthly charges - but to be completed at the end of the month.
- Since the monthly charges are stored in a DB, then we should be able to dynamically check from the dial plan if someone has a certain service enabled or not. e.g. if this account has an unlimited plan, use their gateway (gw_${user}) else, use the carrier and charge with mod_nibblebill
Methodology
- Daily "sweeps" of CDRs and bills into the user's running charges list.
payment_id | date | nibble_id | amount | current_balance |
---|---|---|---|---|
INT unsigned primary_key | datetime | int unsigned | decimal(10,4) | decimal(10,4) |
35 | 2010-11-03 11:02:15 | 5 | $30.00 | $43.12 |
Payment trail - record the payments.
- Do I want to save the balance at the time of the payment? Maybe, it's good to know..