E-commerce product with price composed of multiple fees

Dean Lynn asked on February 3, 2020 21:02

Our client has requested a new product type for their Kentico v11 E-commerce solution.

This new product type's price will include an admin fee which is subject to VAT and a product fee which is not.

Our new product item needs to capture and manage the two fees independently in the CMS.

The checkout process and basket need to identify the two costs and handle VAT appropriately (apply it to the admin fee, do not apply it to the product fee).

The basket should treat the product as a single item with a total cost, but should be able to display details on the cost breakdown and VAT.

I can see documentation related to the customisation of tax calculation: https://docs.kentico.com/k11/e-commerce-features/customizing-and-developing-your-store/customizing-tax-calculation

And the retrieval of product prices: https://docs.kentico.com/k11/e-commerce-features/customizing-and-developing-your-store/product-related-customizing/customizing-product-prices

Before exploring modifications to the system in order to meet our requirements, I wanted to ask the community if there were any other potential solutions or avenues to explore?


UPDATE 04-02-2020:

Kentico support have provided some useful advice, pointing to other aspects of E-commerce that can be modified to meet the requirements.

"In this case, I'd recommend adding custom calculation steps for extracting these fees to the calculation pipeline. The documentation describing this can be found here: https://docs.kentico.com/k12sp/e-commerce-features/customizing-on-line-stores/shopping-cart-related-customizing/customizing-the-shopping-cart-calculation"

Custom data could be used to store the extracted values for itemizing these fees later: https://devnet.kentico.com/articles/what-s-up-with-custom-data

This seems to be a sensible approach, as recommended by Kentico support.

Has anyone had any success in implementing similar requirements by modifying the above pipelines?

   Please, sign in to be able to submit a new answer.