I have a type of product that needs a "setup fee" that depends on a selection of a custom option.

I tried to set a price for the custom option but the problem is that this price is multipled by the quantity.

What I'm looking for is:

  • product A costs X
  • product A plus option costs X + FEE
  • N product A with option costs (N * X) + FEE

Any solution?


2 Answers 2


I would create a custom product attribute for products that have a setup fee that contains the setup fee. Then create a module with a final price observer and the logic to detect if the product has a setup fee and add that to the final price calculation for that product.

  • I can make an observer on catalog_product_get_final_price but this event is dispatched everywhere a price is shown, could you address me on how to add the fee only when a customer select a specific value of a specific custom option (like the customer select "wood" value of a custom option named "frame")?
    – Riccardo
    Sep 16, 2015 at 16:42
  • How about you make product A a bundle product and add the options, 'wood', 'frame' as bundle items. You can then manually specify the quantity of the bundle item as 1 so that it is charged only one time.
    – paj
    Sep 17, 2015 at 8:18

To solve my problem I've created an extension that using observers on sales_quote_* events it adds or removes a special "fee" product to the customer cart based on the product/s added or removed from the cart.

  • can you share some code? Mar 16, 2021 at 16:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.