If you agree that the base cost changing is a good reason for changing the final cost, then
surely that's a good reason for setting a proportion markup.
If you care about the right-hand digits of prices in dollars, why don't you care about the same in Euros?
Why don't you make it straightforward for people to do price setting whatever scheme they choose to implement?
Here is a method which could be applied per model (or even per shop) to auto-calculate prices:
[list type=1]
[*] M : the multiplier (for example, 0.3 would be 30% markup)
[*] R : rounding factor (round
up the value to multiples of this, for example 5.00 would be multiples of $5)
[*] A : an absolute markup (for example, to make a profit of $1 on everything, would be 1.00)
[/list]
so the price of an item would be set : Multiply base cost by (M+1), then round up to next multiple of R, then add A.
This method satisfies those who just want a percentage markup, those who want a flat markup, those who want a combination of both and those who do one of those and then tweak the right-most digits for psychological purposes. In short, practically everybody.
Even people who can't do maths could be accomodated with a simple explanation of how to get the use-cases above.
At the moment the method implemented on the website only satisfies those who want to set the price in dollars for each material individually, or for it to be the same for everything regardless of the base-price - that is, I think, virtually nobody.
Many people would I think like to maintain their pricing scheme regardless of how the base costs change over time.
So to accomodate everybody, I put forward the method described above (three entry-boxes), with the additional buttons.
[list type=1]
[*] immediate click button : Apply function to all materials for sale
[*] persistent check-box : Reapply function in the event of a price change.
[/list]
This might not be the easiest thing to do, but hell, you guys are already calculating base costs using volume, machine space, surface area and number of parts, and doing frankly amazing calculations to derive those, so it's not like it's an unreasonable level of complexity.