You could have a default price level and select/enter markup %s at the line level and update the amount (custom logic). If you don't do price levels, you'll only see "custom" for the price level rather than 1 of the 20 defined if you go this route. Just throwing out an idea. 20 price levels isn't that bad I've seen more.