How to Build a System With a Locked-In Purchase Price

Change prices tomorrow without rewriting yesterday's sales.

In a spreadsheet, a lookup always shows today's price. Raise a price and every old invoice changes with it. Ambisius can freeze the value at the moment the sale is recorded.

  1. Create Products with a Price property, and Sales with Line Items linked to Products.
  2. On each Line Item, add a Snapshot rule: "price of the linked product".
  3. Add a rule for the line total: "snapshot price times quantity".
  4. Change a product price and check that past sales keep their original amount.