views:

600

answers:

3

Hi

I'm working on a Software-as-a-service (SAAS) application that allows companies to manage supplier information.

What are the providers / vendors that can offer Billing services, including managing invoices, subscription, renewal and reminder for payment dues?

I find that building this from scratch will take a lot of time.

In addition to the billing, what other major components / considerations that I should look into in order to publish this application succesfully?

I have the following notes and welcome any suggestions:

1) Infrastructure : for scalability and maintenance, I use cloud computing so that I'm free from managing infra, especially for scaling up should the demand increase.

2) Security : I find that if I use dedicated server, I have to pay a lot more for security, such as Firewall. So using cloud computing will enable my application to 'ride' on the secure platform.

regards

A: 

Mosso (which is Rackspace's cloud subsidiary) has some basic billing capabilities built in - I am just in the process of moving my sites over, and client billing was one of the reasons I did. They only do CC billing, at least for now.

EJB
+2  A: 

The biggest challenge with a lot of the billing systems is that you either end up with a lot of coding to do or they come up short with one or more critical features. Systems such as PayPal can't handle externally driven recurring billing for security reasons; you as a customer can agree to a subscription from a seller, but PayPal has to handle everything. Also, everyone having to have a PayPal or GoogleCheckout account to conduct business may be a non-starter depending on your audience. The traditional e-commerce merchant systems like AuthorizeNet and LinkPoint give you more flexibility, but you might have a lot of coding to do to push the transactions through the way you want, depending on your platform, not to mention more overhead in setting up the account in the first place. Amazon Flexible Payments Service stands somewhere in the middle, offering more flexibility than PayPal/Google Checkout, but still having the third party account limitation. Since you're doing a tool that manages customers' relationships to their suppliers, you may benefit from Amazon's ability to facilitate transactions between two external parties.

I've done development in this space using Java or Ruby on Rails. Ruby on Rails has a wonderful gem built by the people at Shopify called ActiveMerchant that makes credit card processing pretty simple once you have opened your merchant account with one of the AuthorizeNet/LinkPoint type of providers. Most of the merchant providers have decent Java APIs as well. You may want to look at something like Blinksale for invoicing, since it lets you put together pretty invoices and has an API.

Regarding cloud computing: I'm a big fan and it lets you manage the costs of scaling more easily. However, it does require in many cases that you solve problems of clustering and failover more quickly. For tasks such as batch billing that can be run through something like Amazon MapReduce, this isn't an issue; you bring up what you need, throw it in the black box, and get the result out. For something that requires continuous uptime, such as the web interface, you will want to evaluate whether it'll be cheaper to run a cluster of webapp servers in the cloud or just run 1 or 2 boxes at a managed data center such as The Planet or Rackspace. The right answer for you depends in part on the expertise you have available and the languages/platforms you're using. For the continuous uptime side, you may also want to look at a provider such as Morph that will host a Rails app in the cloud.

Please reply if anything I said requires further clarification.

brokenbeatnik
+2  A: 

We just came across this which looks pretty good - http://chargify.com/.

Andrew