Программа для обновления прайс листа

Сергей15 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
19.08.2010

Требуется написать программу для обновления прайс-листа (наличие и цены) интернет-магазина.

Тех.задание:

Наш csv файл скачивается с сайта (с закрытого раздела из подпарольной админки). В нем есть всё. Но обновлять в нем нужно только наличие и цены.

Прайсы трех поставщиков в xls скачиваются с закрытых b2b-шных сайтов. Еще парочка прайсов просто рассылается по почте.

В прайсе основного поставщика нет цен на одну категорию товаров, но есть правильное наличие. Цены на нее высылаются отдельно почтой, раз в неделю. Они в отдельном файле. На некоторые категории товаров там определенная скидка. Всё это нужно учитывать при обработке.

Суть такая. Программа должна скачать наш прайс, прайсы поставщиков (какие то с сайтов, какие то подцепить с локального компьютера, где я их сам буду обновлять), учесть актуальный курс доллара (прайсы поставщиков на половину в рублях, на половину в долларах, по категориям товаров, доллары надо переводить ЦБ + определенный % конвертации), и на основании цен и наличия товаров у поставщиков, обновить наличие и цены товаров (только тех, которые есть в нашем прайсе) у нас. Потом обратно залить на сайт новый файл, обновив таким образом данные на сайте.

Очень важно, что наш csv файл должен оставаться без изменений после обновления (ну только наличие и цены).

Должен учитываться курс доллара, скидки по некоторым категориям товаров. Цена должна искаться минимальная среди поставщиков, окончательная цена должна выставляться в соответствии с желаемой наценкой на данную категорию товаров.

Еще момент. Должна быть возможность вручную выставлять нужно ли всех поставщиков брать в расчет. Надо, чтоб программа могла работать как с одним поставщиком, так и со всеми.

Артикулы на товары у разных поставщиков немного отличаются. Программа должна безошибочно определять тот или иной товар.

Также должна быть функция поиска наличия и мин.цены в ручном режиме по одной выборочной позиции.

Программа должна быть достаточно легкой, не перегружать ресурсы компьютера и работать в фоновом режиме, не мешая остальным работающим приложениям.