An ASP.NET-based Billing Solution
By Anand Narayanaswamy
Management of billing and invoicing is an important aspect for every business establishment. Imagine you run a Web hosting company with 200 customers or more. It would be extremely difficult for the billing department to manually send invoices and reminders when a payment is due. Moreover, you also need to take care of new customers who sign up for services by adding them to a billing system. To properly centralize all billing related functions, you need powerful Web-based software. The advantage of using server-side software is that your customers can directly pay for the relevant services by visiting the appropriate URL.
The billing software market is currently dominated by PHP-based products, such as ModernBill, ClientExec, WHMCS, and others. The disadvantage of these products is that they are primarily developed for Web hosting providers and cannot be used by other providers, such as Internet Service Providers or computer dealers, as they do not provide suitable interfaces. Moreover, many of these applications require access to a Linux server to work properly, as well as knowledge of PHP for customization.
Hence, when I searched for an ASP.NET-based billing solution, I found only one product that suited my needs: DotNetInvoice (http://www.dotnetinvoice.com). At first I thought the product was a simple application, but I was amazed when I saw the powerful features of the product. The vendor has utilized the rich features of ASP.NET 2.0 and AJAX to enhance the user experience. DotNetInvoice is compatible with SQL Server 2005, SQL Server 2005 Express Edition, and SQL Server 2000.
The vendor doesn t provide a downloadable trial version of the product, but they have hosted the full application as an online demo (http://www.dotnetinvoice.com/asp-billing-demo.aspx). This is an excellent way to showcase the product to the global community as it enables prospective customers to test drive all the features in a live working environment, without any need to download or install the application.
Once you ve purchased the product, a download link is automatically e-mailed to you. The installation procedure includes uploading of files, modification of web.config with the required connection string, and execution of database scripts. I was able to log in to the administrator interface without any problems. The product ships with two interface modules: one for administrators and the other for clients. While administrators have full control over the entire system, clients are limited to viewing their purchase details by logging in to the system.
Figure 1: A view of the administrator dashboard.
Figure 2: A view of the client s dashboard.
The administrator dashboard enables you to add new clients and view any past due invoices; your totals for the day, week, month, and year; and much more. Moreover, the system can automatically deliver invoices on a recurring basis. This feature is a big bonus for service providers as they won t need to e-mail invoices manually to their customers. A complete list of all the features included with the product, along with the relevant screenshots, can be viewed at http://www.dotnetinvoice.com/asp-net-billing-script.aspx.
An interesting feature of DotNetInvoice is that it automatically processes real-time credit-card payments through Authorize.Net, PayPal Payments Pro, and Standard PayPal. It also supports offline payment modes, such as a bank check (but an administrator should manually record the transaction by logging in to the system). The vendor is planning to provide support for more gateways in future releases.
Figure 3: Paying an invoice.
The vendor provides complete source code with purchase of the product, which allows you to modify the billing script easily. You can even add custom fields by editing the appropriate ASP.NET page, and you can easily modify the e-mails generated by the product by editing the required template. DotNetInvoice also includes a reporting module where administrators can view monthly and yearly sales summaries in grid and chart formats.
Figure 4: A sneak peek of a generated report.
Currently, administrators must manually generate an invoice for their clients for a specific purchase. One feature I would like to see is that DotNetInvoice provide a facility by which clients can directly purchase products by visiting the relevant URL without waiting for the link generated by the administrator. I think this feature will be of great use for Web hosting providers. I would also like to see the implementation of automatic generation of invoices in PDF format as and when a payment is made using the product.
The vendor provides excellent support through e-mail and maintains a discussion board at http://forums.dotnetinvoice.com/forums/. I must say that DotNetInvoice is a clean, easy to use, lightweight product and can be used by Web development firms, contractors, consultants, and any other service providers who wish to automate their billing processes quickly and effectively.
Anand Narayanaswamy, a Microsoft Most Valuable Professional (MVP), works as an independent consultant and runs NetAns Technologies (http://www.netans.com), which provides Web hosting services based in Trivandrum, India. Anand also works as a technical editor lead for http://ASPAlliance.com. He runs http://www.Learnxpress.com, http://Dotnetalbum.com, and http://Csharpfaq.com. Anand is the author of Community Server Quickly (Packt Publishing). You can explore more information about the book at http://www.communityserverbook.com. Find out more about him at http://www.visualanand.net or e-mail him at mailto:[email protected].
Web Site: http://www.dotnetinvoice.com