Im currently working on a small project in which I need to model the following scenario:
Scenario
- Customer calls, he want an quote on a new car.
- Sales rep. register customer information.
- Sales rep. create a quote in the system, and add a item to the quote (the car).
- Sales rep. send the quote to the customer on email.
- Customer accept the quote, and the quote is now not longer a quote but an order.
- Sales rep. check the order, everything is OK and he invoice the order. The order is now not longer an order, but an invoice.
Thoughts
I need a bit of help finding out the ideal way to model this, but I have some thoughts.
- I'm thinking that both draft/quote/invoice is basically an order.
- Draft/quote/invoice need seperate unique numbers(id's) so there for i'm thinking separate tables for all of them.
Model
This is my data model v.1.0, please let me know what you think.
Concerns
I however have som concerns regarding this model:
- Draft/quote/invoice might have different items and prices on the order lines. In this model all draft/quote/invoice is connected to the same order and also order lines, making it impossible to have separate quote lines/draft lines/invoice lines. Maybe I shall make new tables for this, but then basically the same information would be stored in multiple tables, and that is not good either.
- Sometimes two or more quotes become an invoice, how would this model take care of this?
If you have any tips on how to model this better, please let me know!
EDIT: Data model v.1.4