I currently manage hosting for a number of customers and started created a system to manage the customers and their hosting accounts / domains. I have the following setup currently:
-Customers (Customer name and contact info)
-Customer Accounts (An account links domains + hosting in one account)
-Domains (A list of all domains)
-Hosting Accounts (Account info such as user name, server IP etc)
-Hosting Packages (A list of package details (BW/disk space) and prices)
I want to add to this database a way of creating and keeping track of invoices per month with the following restrictions:
1. A customer may buy a domain in advance for 3 years, in the above database design there is no way to distinguish how long a domain was paid for, and check when payment is due.
2. Currently there is no way of adding billing cycles i.e. when to create the invoice.
I'm trying to make the database flexible to allow customers to login and see what accounts they have, and when payments are due.
Any help pointers to a better database design would greatly be appreciated.
Sorry in advance if anything is unclear