Each new sales transaction should copy the current price into a record of a different table. Thus changes to your pricing information only affect new sales transactions.
Have you looked at how the Invoices starter solution manages sales transactions and price changes?
basic relationships for an invoicing system usually take this form:
In the FileMaker 12 Invoices starter solution, LineItems is named Invoice Data instead. A portal to LineItems is placed on the invoices layout for listing each item purchased on a given invoice. Pricing info is stored in the Products_Services table and a data lookup copies the price from it to LineItems each time a ProductID is entered into a row in the LineItems portal.