Может быть я неправильно понял постановку задачи , но то как я понял решил бы следующим образом. У вас наименование товара и иерархия родителей , вы перебором от главного родителя товары идёте вниз проверяя наличие подрадителя с вашими родителями ( если есть такой то внутрь идете если нет то создание) в конечном итоге создаёте сам товар
Все правильно но я пытаюсь идти наоборот от номенклатуры