I've heard great things about Microsoft SharePoint Service Module, especially when it comes to billing as it allows you to set up whatever fee structure you want. Has anyone tried it, though?