I would like to add an additional fee to a product. This fee will then be calculated on top of the product's price. So in the catalog the regular product price will be displayed, and in the cart/checkout/emails/etc the price+addedfee will be displayed. Any specials or discounts will have to apply to the product's price only, and not the additional fee.
so basically I want the final price to be:
price = (magentos-calculated-product-price) + added-fee + tax-over-both
and in the cart I want to display for each item:
name | amount | unit price | added fee | subtotal
I know how to create a custom product attribute and how to sync that attribute to a quote and then an order. Also, editing the templates is not a problem.
What I would like to know is how and where should I do the price calculation? Should I use an event (which one?) or should I overwrite a core model?
There seem to be many different ways to accomplish this, and I don't want to break discount calculation or admin functionality.