Invoicera is a cloud-based invoicing and billing application.
Rather than focus on a long feature list you can read on their website, I want to mention a few that matter most to me.
Every now and then, along comes an app developer who just gets it when it comes to customization, branding, and making the software a true extension of the work you do offline. Invoicera shines in this area. Going beyond the logo (which you can upload) and the color scheme (which you can choose), they give you the ability to customize critial communications. You can customize and brand emails, payment notifications, statements, invoicing templates, and even credit memos. And you can modify labels within the billing system (call customers "clients" or additional charges "extras").
Nowadays most online billing software allows recurring invoices (even if they charge a fee) but they fall short on incorporating a way to make credit adjustments to an account and dealing with retainers. As a consultant, retainers are a way of life and being able to add these pre-payments to a client's account, then bill against them, is a time-saver. Invoicera handles this admirably.
The software has a strong granular permissions scheme that allows the business owner to decide who has access to what, and takes into account your need for privacy in some areas while making it easy for others to participate as you desire.
In my opinion, a couple of glaring omissions expose weaknesses in Invoicera: the non-existing vendor module, inability to add categories on-the-fly, and lack of interface to QuickBooks. (They do have QuickBooks "under maintenance" which means they're working to get it integrated.)
The ability to work with categories across the various modules, without first creating all the categories, is a serious shortcoming that other billing systems have already mastered.
And, for some reason, Invoicera hasn't understood that Vendors should be a module in itself, with associated reports, and the ability to link products to a specific vendor. Having to type in a Vendor’s name every time you want to bill for a particular product or service purchased from a vendor creates extra work. And you should be able to select them from a drop-down, in the same manner you select a client.