Click to See Complete Forum and Search --> : best solutions?


db-x
February 21st, 2003, 03:10 PM
I am hoping to prepare a list of the most feasable responses to the
following situation. If anyone can please add suggestions that I have
not already listed it would be greatly appreciated.


So the situation is:

- A database that handles customers and customer invoices.
- The invoice along with other data, includes the customers address.
- customer_1 changes their address, and the new address is updated
in the database.
- customer_1 wants a copy of an invoice that just so happens to be
from a date prior to when that customer moved.
- the invoice MUST print the customers old address, not the new one,
because invoice data must not change from when the customer first
recieved the invoice.
- the current system has no way of knowing customer_1 has changed
thier address, because the customer table only holds the customers
current address.

I have to rectify this situation, I have compliled the following
list of ways correcting for this instance. I was hoping on top of
what I listed here, that people would be able to offer their advise/
suggestions/comments.

1) The simpilest way to make sure this does not happen, is to
have a hard copy of the invoice. (maybe even microfishe)

2) re-store a back-up of the database and print.

3) adjust the data model, so their is a customer_address_history
table, that notes customer address changes.

4) make a customer_invoice_detailed table that hold specific information
relating to the invoice (include customer address).

dlorde
February 21st, 2003, 06:27 PM
I'd go for number 4.

I thought an invoice entry on the database would anyway be a record of the invoice sent to the customer, which would include all the customer details included on the original... If you need to keep a record of the invoice, keep a record of it. OTOH if all you need is the date, the item(s) purchased and the price, ISTM that's not really an invoice record, it's just a sales record.

But hey, what do I know, I'm just a programmer...

When is an invoice not an invoice? When it's a sales record...