>Most invoicing systems store the customer address in both the customer and invoice tables. This is proper database design in this case because, as you say, the address in the customer is the current address while the one on the invoice is the one the invoice is sent to. This also allows flexibility in sending one invoice to a different address while keeping the main customer address unchanged. I would default to the customer address on the invoice. If the user changes it, prompt him or her with 'Do you want to make this the new customer address?' This way you will only change the address if the user wants you to.
>
Should the customer info. actually be stored in the same table as the other invoice info, or should I create another table with this info. and a link to it from the invoice table? Ultimately, the end result is the same, but I'm sure one is considered technically correct.
Thanks