Billing

From FusionPBX
Revision as of 00:33, 4 November 2010 by AviMarcus (talk | contribs)
Jump to: navigation, search

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.

  1. Bill various monthly and per-minute charges.
    1. 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.
    2. 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.
  2. This should integrate with paypal, which allows variable recurring. It's free until 2011 then only $20/year.
    1. Trigger paypal payments on a low balance threshold.
  3. 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.
  4. 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)
  5. Perhaps - users, or atleast the admin, should be able to cancel monthly charges - but to be completed at the end of the month.
    1. 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 Trail
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..