form workflows - many fields which go in calculation for a total price field

form workflows - many fields which go in calculation for a total price field

I have a form called bill of materials.
In this form i have fields for e.g.:

- quantity
- length
- width
- height
- uom (can be e.g. meter, m²,m³)
- (m/m² and m³ - will be calculated related to the uom)
- price/unit
- total price (has to be calculated)

(for the m/m²/m³ fields, i am checking right now if using a formula field is better
i also use this form as a subform in form products)

If i change any of this fields, the total price has to update.

What is the best strategy. Do i need workflows Create/Edit "on user input" in every field that is going in the calculation? I assume that on user input means "when the user" change something, not a workflow.
e.g. Workflow in field qty:
- check which uom 
-> calculating meter, m² or m³
- calculating then the result * price * qty = total price

e.g. Workflow in field lenght:
- check which uom 
-> calculating meter, m² or m³
- calculating then the result * price * qty = total price

and so on......?

I know i can use functions, but still that's a lot of work, i think.

On the other hand, when i use this form as a subform in product form.
I have also to write all these Workflows in product form. More or less the same but then with the "row.qty"
instead of the "input.qty" I am right with that?

Thx