Multi-Tenant SaaS Based Billing Platform Development on Java helps Texas Based Billing Giant Grow On Cloud

Algoworks helped an American based Texas Billing Platform plan and build a completely cloud based platform with multi-tenant architecture so as to upgrade their system to implement with new management tools and software.


About Client

Our client was a leading finance solution provider focusing mainly on product and billing management. They originally had US based clients but as their, and their client’s business increased they started facing multiple challenges in providing their services to multinational clients. With the emergence of cloud and cloud based services they were starting to lose their edge and lose many potential clients having global businesses. To keep ahead of time they planned to create and sell a massive Software-as-a-Service billing management product that can not only help them, but also help their clients for their every possible business need. The billing giant approached Algoworks to help them develop this massive multi-tenant SaaS based platform using modern technologies which is robust and secure. Based on their requirements we suggested using a Java based architecture with a Javascript, Bootstrap, and JSP page based frontend.

How We Did It

Multi-tenant and Multi-User Architecture

Challenge: A SaaS platform that can be given to multiple clients

The client already had many customers interested in the cloud platform. The client was not comfortable with a solution that had to installed separately on the systems of every customers, neither they wanted a system whose instance they would have to separately create on their systems every time a new client requests the platform. They wanted a single system that can be extended to different clients in very secure environment.

Solution: A Multi-Tenant Architecture that can accommodate all customers

We designed and implemented a multi-tenant architecture for the whole platform. The client can create new instances for each customer where each customer would enjoy their own specific URL. The security was strengthened so that no customer can access data of any-other. In addition each end client can also create for themselves multiple levels of users each having their own level of access. The client can directly create new tenants from their dashboard without having to ever visit the backend databases. However the solution was flexible enough that the client had full freedom to customize the instance of any tenant without affecting the instances of other tenants.

Feature Image
Feature Image

Product management and catalogue

Challenge: How to separate prices and product lists

Every customer would have very different type of products and also in very different geographical localities. Associating products and prices in a single place becomes very limiting for those clients who provide service and products to users in different marketplaces using different currencies. In addition many customers had different types of products, for example a same company has some products that were subscription based, some one-time payment based, some as add-ons to existing products, some are not even products but services. They needed product a catalog system that suited all types clients.

Solution: A separate product cataloging feature to manage all types of products

Based on client’s requirement, we designed the system in such a way that the whole product list was entirely separate from prices. The end clients can create and maintain their full product catalogue and then can associate the same catalogue with multiple price lists based on marketplace. In addition each client can define the product type. They only can they enter both one-time-payment and subscription based products, they can also add add-on products and service device type of products. Also the whole product catalogue can be divide into separate lists to facilitate their association with prices. The customers can also configure their types of products.

Feature Image

Prices and Marketplaces

Challenge: How to manage prices for product catalogues based on marketplace

As mentioned earlier, client wanted to separate product prices from product listing. The main strategy behind this was to simplify the process of re-configuring product prices. But the challenge of creating features that allow to associate multiple price lists with same product list was a major issue. The client not only wanted multiple price lists, they also wanted support to facilitate associating multiple price lists for different geographical locations for a single product list.

Solution: Multiple prices lists, multi-currency support, and marketplace settings

We created features that allowed customers to create multiple marketplaces in their instances. They can define the marketplaces based on geography, or any other other category that they desire. they can then create multiple price lists for each marketplace and then associate these prices lists with their product lists. Each price-lists had multi-currency support. The result was such that each client had the ability to provide specific product lists for specific location and associate specific prices for these products in specific currency, i.e a customer can set different product lists in europe and asia, each product having different prices at respective locations and in currencies prevalent at the respective location. Special attention was given to facilitate setting prices of subscription based products. The customers can set the subscription cycle for each subscription based product. This subscription is fully independant of billing and invoicing cycle to help the final invoicing and payments.

Feature Image
Feature Image

Mediation and connections

Challenge: How to import data from different sources

Many customers had services that were dependent on usage data which directly affected the subscription, order, or the subsequent invoices. In addition many products, like service devices, created data that was important in the final run of things. To add more to the challenge, many clients had old pre-built database that they wanted to import into the new billing platform. The client wanted a system that allowed the billing platform to import data from these different locations.

Solution: Custom mediations to allow data imports

In our system itself we gave features to allow easy importing of data. Each customer can import data specific with any of their accounts and associate the data with the account. The data importing can be automated by integrating their data generating platform with the billing system, or they can manually upload the data through data-file upload features. The system had features that allowed importing of data from any common database format including CSV, XLS, SQL, etc. The customer can configure the invoice of each account based on the data. I

Feature Image

Billing Cycle And Invoicing

Challenge: A platform that can manage multiple types of billing cycles

The client wanted their platform to have features that can handle multiple billing cycles for multiple accounts and products. The platform should be capable enough to function as a complete billing and invoicing platform with user-friendly features.

Solution: Invoicing and billing for all types of products

Our platform was smart enough to handle the complete billing and invoicing process. The platform can be used to create, process, and even automatically send bills and invoices to users. Special attention was given to facilitate invoicing of subscription based products. As billing cycles and subscription cycles were totally separate, the customers had the flexibility to adjust their services based on both. The invoice generation and dispatching process can be both automated or made manual, and customers had flexibility to set this configuration for every account. Thus they can create auto-invoicing for simple accounts or if they prefer can set manual invoicing for complex accounts.

Feature Image
Feature Image

General Ledger and Accounting

Challenge: Separate features for manager to facilitate tracking of accounts

A billing platform was useless if it didn't have capabilities to keep track of all transactions. The client needed features in their platform that check the overall progress of different marketplaces or products or services which will in turn help customers make command decisions for their products.

Solution: A single platform to keep track of all process

In our platform we gave manager users specific features that can help them keep track of everything. The manager can create separate ‘accounts’ for separate tracking tasks. For example they can configure this account to track the performance of a marketplace, or a set or marketplace, or a set of products, or even the performance of a single product at a specific market place. However the best feature was the maintaining of General Ledger for the customer. Lists of every transaction, every liability, and every asset can be maintained through this feature. Every transaction that is performed in billing platform get automatically updated in the general ledger.

Feature Image

Dashboards and Notifications

Challenge: Role specific dashboards and notifications

To facilitate the functions of each agent the client wanted a customizable dashboard with role specific features. The dashboard should have features to facilitate role based notifications as well.

Solution: A customizable dashboard

In our platform each role had a different dashboard. Each user can customize their own dashboard for better productivity by adding or removing features. There were tens of pre-built features that the user can add to their dashboards via a simple click of button. The dashboard was visually appealing and the one of the favourite features of the managers. The features were role specific and only admin users had access to all features.

Feature Image
Feature Image

Reporting and Business Intelligence

Challenge: A smart system to help reporting of every valuable data

Reporting is a very valuable aspect of every Billing platform. The client did not wanted to neglect this aspect and wanted to provide their customers with very flexible reporting features. This was one of the major USP of the whole product.

Solution: A Pentaho based business intelligence server

We created a robust business intelligence and reporting platform to facilitate reporting. The business intelligence server was built using Pentaho Business Intelligence Server and was flexible enough to present multiple types of business reports. The server already had many different report settings that the customer can use to quickly analyze their performance and can even configure the server to give a desired type of intelligence report.

Feature Image


A SaaS platform with Multi-tenant Architecture

A same same platform to give subscription based services to all clients at any location

Every agent saves 2-3 hours per day

Thanks to user friendly and fast features every agent saves atleast 2-3 hours daily

Revenue Increased 2- fold

Subscription based billing platform increases client base by atleast two fold.

The business in now multinational

Multi-currency support now gives the client to take their business global.


Related Projects

Checkout these related project to know about our company, our work, and our expertise.

Post Image

Microsoft 365 Integration Project for European Energy Multinational

Algoworks engineered the intranet HRM portal with Microsoft 365 Integration for a Multinational[...]

Read More
Post Image

SharePoint & Office365 Integration with Salesforce for Telecom Giant

For a firm famous for its workflow management and business communication services, we created a[...]

Read More
Post Image

AWOM- Algoworks Opportunity Manager Application

A custom native Salesforce App published on AppExchange for easier, faster and smarter manageme[...]

Read More
Post Image

Salesforce Project for Virginia Based Global Education Platform

Algoworks delivered a custom Salesforce Solution to assist an Education Solutions & Services Co[...]

Read More

Contact Us

Are you facing similar problem in your project or if you want a custom solution fitting your needs, dont hesitate to contact us for a free consult and quote. Get our expert advice before moving forward.