Use a price snapshot on each order line. In Busabase, an Order Lines Base can link to both Orders and Products, while storing its own agreed unit price, currency, quantity, discount/tax basis, and line total. When an order is created, copy the current catalogue price as a starting suggestion, have the seller confirm the agreed price, then save it on that order line. A later change from 99 to 109 on the Product does not change last month's saved 99.
A Lookup of the Product's price shows its current value and can change when the Product changes. It is useful for comparison, but not as the historical transaction price. Product history may explain catalogue changes, yet it cannot reliably reconstruct a negotiated customer-specific price. If an order price needs correction, update the order line with a reason and review trail rather than silently replacing the snapshot.
Do you have customer-, channel-, or quantity-specific pricing? That makes the order-line snapshot especially important. The Chinese discussion covers the same model.