I am working on an updated project management/invoicing system for our company. Currently, everything is project centric, meaning a project is created, and invoices are attached to the project, not the client, and invoices are never generated on their own (see the first ERD). This has worked great for us for many years. However, we now have a large client that is making this system challenging in the following ways:
1) They sometimes prepay a lump sum to be applied to future projects.
2) Sometimes, a project starts as one thing and is paid up front, but later changes scope. Sometimes the new scope is less expensive than the original, and they ask us to apply the "unused" amount to a different project.
This cannot be handled elegantly with our current system. I would like to change the relationships to be able to handle these new requests. That will require:
1) Being able to invoice without generating a project
2) Being able to take money that was assigned to one project and move a portion of it to a different project.
I have attached our current and proposed ERDs. My question is general. Does this make sense, or is there a better way to go about this?
Thanks very much!