Assuming you want to store costs/profit the best suggestion would be to fix your data "on the way in" if possible. 1,000 products is not a lot of data to keep in a RAM cache and lookup as you insert transaction data.
Logstash I believe has some "lookup" type features that could help with this (best to ask in that forum).
Advantages to doing it this way rather than a batch fix-later scheme is
- costs would be recorded with the values current at point-of-sale
- there is no lag between the logging of transactions and costing of transactions.