jBilling is a billing and rating system that meets various functionalities out of the box which are typically required in the billing world. It also allows you to build up on existing features by extending or customising these features. The section below gives an overview of various functional features of jBilling:
Account Types & Customer Information
jBilling allows you to define various customer categories under Account Types and a number of configurations can be made at the Account Type level. For example, you can have a simple categorisation such as Retail Customers and Corporate customers. You will be able to define different invoice templates based on customer groupings, different prices on various products and services, different billing cycles and more.
The customer information is captured in jBilling with complete flexibility in defining various information groups and fields. For example, you could define a custom information group called ‘Contact Information’ and have a set of contact details that your system should capture. So there are no hard wired information fields in jBilling. This allows your Customer facing teams a great deal of flexibility as they can capture the exact information that is required for carrying out your business. For example, you could define information groups like ‘Emergency Contact 1’, ‘Emergency Contact 2’ or ‘Primary Contact’, ‘Secondary Contact’, ‘Billing Address’ and ‘Shipping Address’ etc.
Product Catalogue, Plans & Bundles
jBilling comes with a comprehensive Product Catalogue built with many features and pricing strategies that meet most of the currently used pricing in the market. There are about a dozen different pricing strategies that are provided out of the box. On top of this, with it’s plugin based framework, it is very easy to implement a new pricing strategy in jBilling.
If you are interested in a Product Catalogue system that can allow you to define and maintain all your product offerings and services, jBilling is the right option. It is possible to create various Product Categories in jBilling such as Subscriptions, tangible and intangible Assets (like routers, equipment, handsets, other devices, internet user names, phone numbers, mobile numbers, toll free numbers and more), Usage Products (Various types of calls like local calls, mobile to mobile calls, mobile to fixed line calls, sms, data usage, internet usage, streaming downloads and more), Discounts (one time discounts, recurring discounts etc), Call Credits, Miscellaneous Credits and Debits, and much more. Once the product categories are defined, you can define the products under those categories and define various features like which pricing applies to the product, whether the product allows decimal quantity or not, quantity conversion strategy in case of usage products. Also you can link products to GL (General Ledger) codes which allows you to do a financial tracking of your revenues and costs. You can link a particular tax code to each product. It is also possible to capture informational fields at the Product level using the meta fields (or user defined fields).
The Plans & Bundles mainly allows you to club various products or services into a single offering. It is ideally suited for charging subscription based recurring services. It is possible to add bundles to the plans. The bundles are nothing but the products that get added to the plan that offer the entire package or service to the customer in a bundled manner. For example, when your company offers a new internet subscription plan to the customer, it will be possible to bundle a discount with the plan, or you can bundle special pricing for the plan and you can bundle the internet user name along with the plan.
Rating and Pricing Strategies
jBilling provides a dozen different pricing strategies out of the box. They cater for various pricing options that are currently available in the market. To name a few, jBilling provides pricing options such as flat pricing, tiered pricing, volume pricing and route based rate cards. The rate cards support very complex route based resolution of pricing for usage products such as long distance calls. It is possible to set up call duration increments in the rate cards, along with markup pricing. For example, if a call is for 10 seconds, it can be rounded to the next 30 seconds bracket and charged for a 30 seconds duration automatically. The markup pricing adds a percentage of margin on the cost of the call if there is an underlying carrier who is providing it’s cost for the call. This is especially useful for MVNOs (Mobile Virtual Network Operators or OTT providers)
It is possible to define and configure discounts in a couple of different ways in jBilling. One could set up discounts as products with negative percentage pricing. You could also define a fixed amount discount with a negative product. The other option is to use the jBilling’s Discounts feature to define discount codes that can be attached to the product, plan or order. The discount code is selected at the time of order placement in jBilling. The discount code can be created for a one time discount or a recurring discount. With the previous approach, it is possible to track discounted amounts under specific GL codes for financial reporting purposes.
Free Usage Pools
The Free Usage Pools provide the ability to link free quota of usage quantities on the plan. For example, a mobile plan can offer 10 GB of free data for 1 month. A free usage pool can be linked to one or more plans. It helps tracking usage and deducting the used quantity from the free quota on the given plan. jBilling can also send configurable usage alerts at various thresholds.
Invoicing Process or Bill Run
jBilling provides a fully automated bill run job which can be scheduled at the desired frequency using a convenient cron expression. Most companies are preferring anniversary billing with a dailly bill run as it spreads revenue cycles over a number of days and reduces risks associated with keeping all invoices in one cycle. Also, reduces the end to end to job timings as the volume gets spread over the entire month. The daily bill run also allows you to realise revenue sooner and spread across the month. However, jBilling also supports weekly, monthly and bi-monthly billing.
Invoice Design & Presentation
It is possible to implement a custom invoice design in jBilling that can provide an invoice or customer statement that can be sent as an e-bill or a paper bill. The invoice or customer statement is produced as a PDF file in the bill run job. For simple invoice designs, it is possible to use the Invoice Template Generator feature to design your own invoice template. This feature does not require any additional custom development. It is suitable for incredibly simple invoice designs, but for the more complex invoice designs one can custom develop the invoice template as required for branding purposes.
E-Bills (Invoice Emails)
jBilling provides the ability to send the e-bills or invoice emails along with the PDF attachments in a convenient, automated way. The entire process is automated and scheduled to execute at the time of your defining.
Paper Bills (Batch PDF Exports for Printing)
A batch PDF export job provides paper bills generated in the PDF file. The PDF file is generated with thousands of invoices and can be sent for printing with ease. The export is aligned to match the expected formatting.
It is possible to set up different custom payment methods in jBilling. You can define payment methods based on the existing payment method templates such as Credit Cards, ACH, Bank Account, Cheques, Cash and Mobile Wallets etc. The payment information is stored securely in jBilling by storing only informational fields. jBilling does not store any confidential information such as credit card numbers, account numbers etc. It simply integrates with the payment gateway to tokenize the card or bank account details. The jBilling service is PCI compliant.
The payment methods thus defined allow the payment information to be captured at the customer level. The recurring payment instruments such as cards or bank accounts are then used in the automated collection process if flagged for auto debit.
Payment Gateway Integration
jBilling provides about a dozen different payment gateway integrations out of the box, including but not limited to Stripe, Paypal, Authorize.net, Braintree, Payway, Paysafe and more. With it’s plugin based framework, it is very easy to add a new payment gateway integration in jBilling.
Payments Collection Process
The automated Collection Process in jBilling is highly configurable and easy to manage. It provides convenient options to retry failed payments and send payment confirmation emails, failed payment emails. The process is scalable to achieve a high number of payments in a short period of time.
Ageing & Dunning
The ageing and dunning jobs ensure that customer account statuses are moved through pre configured status degradation in case of non payment and send payment reminders in progressive manner to the customer accounts.
Usage Billing or Mediation Rating
jBilling provides a comprehensive mediation solution for usage rating and charging. The mediation core in jBilling is robust and scalable. The CDRs (Call Detail Records) are processed in batch jobs and rated as per the pricing defined on plans, products or rate cards as the case may be. This is a volume processing job that can run in the background 24 X 7 depending on the volumes. The mediation rating engine provides accurately charged usage records that can be billed on the customer invoices. It is possible to implement complex rating and pricing rules amount/quantity of consumer depending on the requirement.
Online Charging System (OCS)
Billinghub as a platform has extended the jBilling capabilities to implement an OCS service. The OCS is useful for prepaid billing in which a service does not function without a prepaid balance or approved credit limit. This system is useful for prepaid mobile services provided by Telecom Operators.
jBilling’s finance reports make it easy to track the customer balances, GL balances, revenue reports etc. It is possible to customize the financial reports as required by your accounting system.
Multi Brand or Sub Entities Billing
jBilling allows you to set up multiple brands or products to be tracked as separate entities. All the entities (or sub companies) can be placed under a single parent entity or they can be distinct entities that are not related. This allows you to track revenue and costs for each product/brand/sub company separately.
Wholesaler & Retailer Billing
It is possible to set up your company as a wholesaler and your retail partners as sub entities under you. Their invoices and revenue would be visible to you and you can send them invoices as per the agreed margins.
Multi Country Implementation
It is possible to set up a jBilling instance hosted in one country, but support your organization’s growth in different countries. You can configure different date formats, different taxation rules, and different currencies as per each country. Yet you can report the revenue under a single currency in the parent company.
Multi Currency Offerings
It is possible to combine the jBilling product catalog and its multi-tenancy feature to offer the same product across multiple countries with different currencies.
Multi Lingual Support
The jBilling application has been implemented in different languages.
Agent Billing (Set up your Sales Partners)
It is possible to set your Sales Partners (agents) in the system and track revenue brought by them to your company. This helps in calculating the agent commission and provides you with the agent commission reports. The agent commission can be calculated based on various rules.
Additional Notifications & Formats
There are a number of additional features that include customer friendly notifications or alerts, for example it is possible to notify customers of their expiring card as a pre notification. You could set up an email for successful payment that shares a payment receipt as an attachment, and more…