In our database, we have a table for quotes, which may or may not be converted into orders. When a quote is turned into an order, we create a snapshot of the quote and link it to the order, so it becomes an "OrderQuote >> Quote" (another TO of quote). It's not really a quote, but it's easier to re-use the table and its data structures to display the items in the order. Also we're guaranteed to have all the quote data in the order, even if the quote table is changed down the line.
Is there a best practice regarding this kind of dual-use of tables? Any pitfals to be aware of? Or am I doing this right?