In our case we like the idea of having control over the information the user can change directly, if the ancillary is editable from the user side, they could then make mistakes on the number of bolts for instance, or the gasket, etc.
We grouped the ancillaries and created kits for each, then we just assign the kit to the valve, then the details, like the number of bolts is determine by the group they belong to, so the user can only run the script and read the information, this is more work for the DB admin in CAD (me) but avoid user level mistakes
We have 36 kits in total and covers 99.9% of the valves we use