Вообще похоже на вариант. И лучше чем через ifs, но тут опять же возникает проблема того, что если список наименований содержит позиций 150, то ты это уже не распишешь.
И вторая проблема, которую я уже вижу, но пока не трогаю - это разная закупочная стоимость на один и тот же товар у разных поставщиков, или просто в разное время. Но это потом как-то дописывается через проверку второго аргумента, где поставщика просто под цифру вгоняешь