I developed a small web based invoicing system a few months ago for my own use. A few of my clients asked me what system i was using and how they could get it etc... so i packaged it up and sold it to a few clients, and now it's getting to a stage where every client wants it.
Here is a quick video of the software if you are curious - https://www.youtube.com/watch?v=i-JDU0OcL2M
In order to scale the software, i need to change the approach. Instead of having to install it on every client's web server, which involves obtaining their FTP access etc... i am planning on building the following approach:
01 - build a new dedicated website
02 - clients sign up via the website and pay $5 a month
03 - clients sign into their dashboard via the website and manage their invoices from there
04 - client's customers are directed to the same site where they complete their payment (no sign in required for the customer)
The main downside of this approach, in comparison to the individual install, is that the individual install allows the client to redirect their customer to their own site / url... so i will probably offer the individual install as an option on the website too.
Getting To The Point
From a high level view, i don't think the migration / approach will be too challenging. I'll need to create a new 'accounts' table and all other database tables will stay the same, with an 'account_id' added to each of them.
All processes will then need to associate and query the 'account_id' too.
Can you offer any advice as to what other areas / points i need to consider. Thanks in advance for your help.