It's a billing system, read the deliverables.
Billing System requirements: - Easily skinnable (perhaps use Smarty?) - Based on language file - PHP & MySQL based, preferably using PEAR::DB, and priorly mentioned Smarty * Don't need any fancy PayPal integration, no control panel integration, that's all unnecesarry [ADMIN SECTION] - Invoice Generation (automatic!) - Manual creation of invoices (ability to set due date) - Tax based on country / VAT ID -> if a customer is within specified country [settable in admin], he gets taxed no matter what. Outside that country, and a VAT ID filled in, no tax. VAT ID should be checked using: [url removed, login to view] - Package Creation (different fields for parameters space & bandwidth) - Manual Client creation :: Name :: Surname :: Company Name :: VAT ID :: Address :: Zipcode :: City :: Province :: Country :: Email :: Phone :: Fax :: Notes (only viewable for admins). - Overview of all clients + their status (active, cancelled, pending), this status can be changed. - Support Section integrated (Cerberus, maybe work off of their sessions, seems handy to me, would prevent you from having to write plugins and all). - Cacti graphs integration - WHM script integration (this is a simple script developped by a 3rd party) - Insert invoices that have to be paid by the company itself (so outgoing payments) - Ability to provide credit, which gets substracted from next invoice - Reports on: 1) Monthly income (without tax and with tax - selectable) 2) Yearly income (without tax and with tax - selectable) 3) Monthly outgoing payments (without tax and with tax - selectable) 4) Yearly outgoing payments (without tax and with tax - selectable) 5) Montlhy signup-rate ============= Client Section ============= - Ability to change details (mentioned above) - Ability to create additional logins (for employees/co-workers) - Ability to view past invoices - Ability to create support ticket - Ability to order additional items, such as SSL, IP's... etc ============= Order Section ============= - Ability to purchase pre-defined package - Ability to purchase custom package (calculated as it goes, and then inserted into database). * Should display ToS before finalizing purchase * Will log client IP address and date * Pro-rating! ================== - Realtime Domain registration/transfer through client panel -> Enom and SIDN (dutch registry, works based on email templates) - SIDN should generate a contract (class for this is already written by us) - Domains should be on an invoice, but mind this: All domains ordered are to be stored in a database, an invoice will be created at the END of the month, based on all registered domains by 1 customer. - We set the price for TLD's, this is based on profiles. There will be aproximately 4 profiles: : Basic : Reseller : Special : Special 2 - Client can view prices - Client can view all domains owned by him/her - Client can change contacts of Enom domains - Client can change address of holder for SIDN domains - Client can change nameservers ============= We will obtain full rights on the source.
Basically it shouldn't really matter what platform it runs on, as long as it has PHP and MySQL installed.