In your scenario, I don't think you want to change the entry, but rather apply the changes to it. Thus, you will have records indicating the change in price. For example, if the key price has been changed from $ 10 to $ 15, you will need to add an entry indicating the price change + $ 5.
The whole point of separating records and duplication is to ensure that the data in the POS (point of sale) is the same as it is now. If this is not the case, then you can easily see what changes occurred with the price and when.
Say you posted a Widget B for $ 25 with a description, indicating that it has a Z-Dongle. You later hear from the manufacturer that he has an X-Dongle, not a Z-Dongle, and as a result, you need to lower the price. Meanwhile, when you needed to post and fix a bug, you had someone who bought this widget for $ 25.
Then this customer calls after detecting the absence of Z-Dongle and wants to return and receive a full refund. In addition, you now have a record showing that they bought the product with X-Dongle for $ 15 less than they originally paid. A customer service representative tells him that the PURE statement states that he has an X-Dongle - now what?
source share