Thank you Brenden. I'll take a look at UCommerce.
In case I need to make some of the custommizations myself, do you have any recommendations, e.g. how to store multiple tracking numbers and multiple inventory numbers? For example, is it better to customize the existing SKU and Order classes, or is it better to write a separate module and don't use build-in tracking number and inventory field in Kentico?
For tracking numbers, I was going to add a new field to the Order class, which can store a list of tracking numbers. For inventory, I'm thinking of writing a custom module instead of using the fields provided by Kentico.