I have a scenario that does not fit the way I designed my database.
When a customer sends us a purchase order, we basically transcribe it into our Sales Order system and send the customer an order confirmation to confirm that we have received and understand the order correctly. Pretty standard procedure for any company.
Tracking of Sales is done by simply by finding all sales for a particular day, month, year, whatever. Still pretty standard.
Occasionally, we receive a blanket purchase order, whereas we enter a sales order and then send product out at specific intervals. In our current system, this puts the entire value of the purchase order on a single day, which then spikes our sales report. I would like to have parts of this value on it’s own day so that it is valued in the month it is scheduled to be produced.
I realize that I have simplified the scenario quite a bit or I could simply use that invoicing program to get such a report (and we do). It is valuable to know how much was sold, produced, shipped and billed at some specific interval though. The produced, shipped and billed entries each have their own record (and transaction date). Sales Orders do not. I need to figure out a way to fix that for the 1% of the orders that it affects.
It would be a significant change to our system to incorporate this and I want to make sure I know as many of my options before I commit to making such a drastic change.
My first thought is to enter multiple sales orders, each with it's own transaction date and create a consolodated order confirmation for the customer. Sound easy enough, but our system is rather large and I guarentee that I will break many other parts of the program that I have not forseen.
My question is: How have you handled blanket orders in the systems you have built?