Difference between revisions of "Billing"

From FusionPBX
Jump to: navigation, search
(The Software)
Line 1: Line 1:
This is a project by [[User:dlucio|dlucio]] to manage billing for VoIP.
+
This is a project by [[User:dlucio|Luis Daniel Lucio Quiroz]] to manage billing for VoIP.
  
 
=What is Billing for FusionPBX?=
 
=What is Billing for FusionPBX?=
Line 31: Line 31:
 
# It has auxiliary tools that suggest selling prices based on prices from suppliers,
 
# It has auxiliary tools that suggest selling prices based on prices from suppliers,
 
# Query tools have to check the balance of the service
 
# Query tools have to check the balance of the service
 +
 +
==Requirements==
 +
Billing for FusionPBX requires FusionPBX 3.6.x or better.  Your FusionPBX must use MySQL/MariaDB or PostgreSQL as a backend database.
  
 
==Download the software==
 
==Download the software==
Line 41: Line 44:
 
# Unzip both tarballs inside /app directory
 
# Unzip both tarballs inside /app directory
 
# Run the Schema Update and Menu update
 
# Run the Schema Update and Menu update
 +
 +
Author of Billing for FusionPBX offers himself to install his software after you have purchased a license.
  
 
==Get a license==
 
==Get a license==
 
You can purchase your licenses here using this link: goo.gl/ozEivW (short URL). Later, you will get by email your license key, the next step is to paste that license inside a filename with .key extension (name doen not matter at all). And you are done.
 
You can purchase your licenses here using this link: goo.gl/ozEivW (short URL). Later, you will get by email your license key, the next step is to paste that license inside a filename with .key extension (name doen not matter at all). And you are done.
 
=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.
 
 
==Big questions==
 
'''Is the user ID in fusionpbx a one:one relationship with a billing account, e.g. a mod_nibblebill account?'''
 
 
Generally, yes - one user can have multiple extensions, but only one billing account.
 
 
However, perhaps we want to assign more than one user to the same bill. Each one should be able to see his own service and modify it accordingly. Maybe.
 
 
 
==Tables==
 
{| border="1"
 
|+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..
 

Revision as of 21:57, 4 November 2014

This is a project by Luis Daniel Lucio Quiroz to manage billing for VoIP.

What is Billing for FusionPBX?

Billing for FusionPBX is a native FusionPBX application (please see App menu on any FusionPBX installation) that allows to bill for incoming, internal or outgoin calls and some other capabilities.

The Software

Billing for FusionPBX is a commercial third party development, therefore it is not included in FusionPBX out of the box. You must download it, install it and get a valid license. Billing for FusionPBX has nexte capabilities:

  1. Compatible with FusionPBX 3.6 or higher,
  2. Compatible with MySQL 5.x, MariaDB 5.x, 10.x and PostgreSQL 9.x
  3. It works by configuring billing profiles,
  4. You can work with multi-tenant or mono-tenant FusionPBX,
  5. You can have sub-profiles of billing,
  6. Allows more than one pricing list,
  7. Specify costs for inbound, outbound or internal calls,
  8. Allows you to set a default currency,
  9. Allows you to use different currencies,
  10. Lets you charge clients in one currency and pay their suppliers in other
  11. Profiles allows pre-payment and post-payment
  12. Bring a list of users referred by other users,
  13. Disable the service when the balance is insufficient,
  14. Allows re-enable the service after making a payment,
  15. Allows reimbursement payments
  16. Sets static charges,
  17. Adds % based charges (eg taxes)
  18. View a history of payments and fees,
  19. Sets Prices for Destinations FusionPBX,
  20. Sets Prices for extensions created,
  21. Accept offline payments, paypal or stripe, (only paypal plugin is included, others must be purchased)
  22. List the detailed call log the cost of the call,
  23. It has auxiliary tools that suggest selling prices based on prices from suppliers,
  24. Query tools have to check the balance of the service

Requirements

Billing for FusionPBX requires FusionPBX 3.6.x or better. Your FusionPBX must use MySQL/MariaDB or PostgreSQL as a backend database.

Download the software

You can go to author's Billing for FusionPBX website at www.okay.com.mx and download LCR and Billing for FusionPBX. You need to download both, since Billing needs LCR to work.

Install

You will find in www.okay.com.mx LCR and Billing quick starts. However, to install, you must follow next steps:

  1. Download both zip files
  2. Install shadowphp extension (google it)
  3. Unzip both tarballs inside /app directory
  4. Run the Schema Update and Menu update

Author of Billing for FusionPBX offers himself to install his software after you have purchased a license.

Get a license

You can purchase your licenses here using this link: goo.gl/ozEivW (short URL). Later, you will get by email your license key, the next step is to paste that license inside a filename with .key extension (name doen not matter at all). And you are done.