Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

База данных, CRM система - бекофис интернет торговли

Создать систему автоматизации (бек офис) интернет торговли (3  сайта: один  на движке opencart 1.5.1.3 и другой на платформе prom.ua и третий на платформе  zakuka)  с возможностью подключать еще сайты на аналогичном движке или такой же платформе.

Дальше  наброски, чего хочется, это сложно назвать ТЗ, так как много деталей, 

 но думаю суть моей потребности уловить можно будет и соответсвенно 

 сделать оценку проекта.

База должна взаимодействовать с Новой почтой по АПИ для:

  • Быстрого и массового создания ТТН Новой Почты для полученных заказов с сайтов
  • Автоматичекий контроль получения денежных переводов, ценных бумаг, контроля оплаты и возвратов от НП
  • Вывод на печать доступных к получению денежных переводов ПОСТ ФИНАНС
  • Отслеживание статуса доставки посылки клиенту и обратной доставки
  • Отказанные от получения заказы помечаются "Отказ"  и цветом
  • Расчет стоимости доставки во время оформления заказа прямо в базе Если заказ создается по телефону прямо в базе данных.
  • Моментальный просмотр текущей суммы в наложенных платежах Новой Почты
  • Вывод списка товаров и их количества на накладной НП для удобного упаковывания посылок (можно отключать)
Так же база должна взаимодействовать с смс интегратором типа смсклуб моби для отправки смс через него при смене статуса заказа.

Должна Взаимодействовать с Приват 24, получение выписки и по  ФИО и сумме 

 оплаты или номеру заказа в комментарии автоматическое или   

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

 кликов. Вынести на панель кнопки для быстрого доступа к нужным 

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

каждой по  отдельности, не прибегая к программированию менять порядок 

столбцов в  таблицах, задавать цветовое оформление строк, полей, 

столбцов, текста,  создавать новые вкладки, столбцы, таблицы.  Были 

фильтры и удобный поиск  по любым критериям.

Платформа исполнения должна быть  доступная в плане разработчиков под нее, так и в

плане цены на  разработку базы и автоматизации на этой платформе. 

 Например все это  можно реализовать на базе 1с – только это будет 

слишком дорого, при этом  около 70-90% имеющегося функционала в 1с мне 

не потребуется  использовать (так как мне нужен управленческий учет и 

автоматизация), а  вот еще 90% того что нужно в 1с – нет и нужно будет 

это дописывать. И  вот вопрос, зачем мне покупать то, что на 90% мне не 

подходит и потом  платить еще кучу денег, чтобы доработать свои 90% 

нужного функционала.

Поэтому  решение на базе 1с не рассматриваю. 

Работа с базой (комплексом автоматизации)  должна быть возможна как за локальным 

компом, так и удаленно, в  локальной сети, т.е. сразу 2-3 пользователя 

так и через интернет опять же с  возможностью работы одновременно 2-3 

человеками.

Должны  создаваться группы  которые будут работать с базой с разными  правами доступа, по таблицам и столбцам, кто

что может видеть,  использовать и менять данные.

Нужен импорт прайс листа в базу данных для создания каталога товара.

  • Импорт (загрузка) прайс листа в базу данных программы.
  • Прайс  листы могут быть в формате ексель  (старый – офис 2003 и новый – 2007 и

     новее) и CSV, прога должна принимать любой из этих форматов.

  • Указали  проге файл, дальше нужно указать сопоставление столбцов в файле и в 
  •  базе данных, чтобы прога понимала, что куда разносить. Как правило 

     название столбцов в ексель документе одинаковое, поэтому после первого 

     сопоставления и потом при последующих импортах, прога если названия 

     столбцов совпадают сама сопоставляет их (чтобы не делать каждый раз 

     однотипную работу), ну а что не смогла указывается  в ручную.

  • Обновление данных в справочнике базы из  прайс листа.
  • Указываем   1 или 2 ключевых поля, по которым будет производится сопоставление 
  •  позиции с прайса и в базе данных, т.е. при совпадении заданных ключевых

     полей (смотря как задано, иногда достаточно совпадение по 1 полю 

    иногда  нужно по 2-м полям), происходит обновление заданных данных.

  • Обновление имеет 2 варианта: автоматом, или с предварительным просмотром того что будет меняться.
  • Т.е.  указал 1 или 2 ключевых поля по которым производить сопоставление и 
  •  указал столбец, который сравнивать, (например столбец с ценой или 

     другой) и выбрал режим с запросом или без. Если выбран режим с 

    запросом,  - то прога побежала и сравнивая одинаковые позиции 

    (сопоставляя  ключевые поля) сравнивает значение  цены  и все строки где

    цена  изменилась записывает в отдельную табличку, где в результате 

    проверки  наглядно показывает, для каких товаров цена в базе проги и 

    новом прайсе  отличаются:

  • Категория товара -Артикул товара – бренд – цена в  базе – новая цена в прайсе, которая отличается от того 
  • что в базе, с  выделением цветом. Если новая цена в прайсе ниже той что в

    базе, то  закрашиваем красным, если наоборот – то зеленым.

  • И можно  построчно, т.е. выбирая определенные позиции  или все сразу 
  • обновить в  данных товарах цену с старой на новую. (или другое значение 

    (поле)  которое сверяли)

  • Кроме изменения цены (или ячеек, где значение в  виде одного слова, или одной цифры) нужно будет еще 
  • проверять изменения  характеристик товара (совместимые маркировки и 

    совместимые устройства,  т.е. ячейки где много слов), т.е. задаю тот или

    иной столбик с этими  данными и прога сравнивает  данные с прайса и у 

    себя в базе.

  • В  сравниваемых ячейках может быть десятки и сотни слов через запятую, не  знаю будет ли быстро работать сравнение этих 
  • данных, поэтому может  сделать такой алгоритм сравнения (чтобы было 

    быстрей), сначала  сравниваем количество слов в ячейке (слова разделены 

    запятыми), если  количество слов совпало, то все ок, если не совпало, то

    уже сравниваем  пословно чтобы найти в чем отличие, т.е. какая 

    модель(маркировка)  добавилась или убавилась, которой ранее не было и 

    выводим результат в  котором понятно, в чем отличие между старым и новым

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

    Хотя при таком  сравнении, при изначальном сравнении количества слов, 

    может быть  ошибка, так как данные могли изменится, но количество слов 

    остаться  прежним, поэтому нужно придумать быстрый метод сравнения 

    данных в ячейке  – если такое вообще возможно.

  • Добавление новых позиций из прайса которых еще нет в базе.
Указали  по каким полям (одно или два поля) делать сравнение чтобы понять есть 

 эта позиция в базе или нет, запустили и прога находит все чего еще нет в

 базе и в конце выводит список новых позиций, и можно или построчно или

 массово добавить эти позиции в базу.

  • Экспорт
Должна быть возможность экспорта из базы данных с настройками:

  • Выбор формата експорта: ексель или CSV
  • Выбор кодировки utf-8 или win-
  • Выбор какие товары экспортирум все или только те что в наличии
  • Выбор категории товара которые экспортируем
  • Отключение с импорта устаревших товаров
  • Выбор набора данных (столбцов) которые импортируем
  • Применить любой набор фильтров и экспорт будет производится с учетом этих фильтров.
  • Таблицы (вкладки) которые должны быть организованы в базе:
-  Товары (Справочник (каталог) товара, сюда будут загружаться прайсы) – в

 справочнике отображается есть товар у нас на складе или нет, его 

 количество. (и должно быть понятно, вообще этот товар у нас когда то 

 был, он закончился или его никогда у нас еще не было, чтобы можно было 

 отличить товар с нулевым остатком, который закончился, от товара с 

 нулевым остатком, которого у нас никогда еще не было, просто он есть в 

 каталоге.

- Наш склад(ы) – тут только те товары, которые  приходовались на склад, не важно есть они сейчас или нет, если они хоть

 раз приходовались – то они в этой таблице показываться. Естественно 

 можно вручную удалить из этой таблицы любой товар или с справочника в 

 ручную добавить любой. Но при оприходовании, если товар не был в этой 

 таблице он сюда добавляется.

- Заказы (заказ это еще не продажа,  так как часто клиенты заказали и потерялись) – Заказы автоматом 

 импортируются по заданному расписанию с сайтов или по требованию, по 

 нажатию кнопки в интерфейсе программы.

Отдельно кнопка получить  заказы с своего сайта и отдельно кнопка получить заказы с сайта на 

 ПРОМе. Когда проихсодит импорт заказов интерфейс программы не должен 

 подвисать (блокироватся), а нужно чтобы при этом можно было продолжать 

 работать. Подвисания допускаются не более десятых доле секунд, а лучше 

 вообще без них.

- Продажи – сюда переходят заказы с таблицы  «заказы» после оплаты или подтвержденные с наложкой. При этом с таблицы

 Заказы они не удаляются, а помечаются там цветом, что этот заказ – 

 подтвержденный и он перешел в продажи.

Под вкладки: Проблема; Брак

-  Приходы товара (тут формируются приходы и после поступления товара на 

 склад, идет физическая сверка, того что заказывали, что было в перечне 

 при заказе и реально что пришло. Т.е. открыли эту вкладку, выбрали 

 нужный приход или несколько приходов (так как иногда приходит 

 одновременно несколько приходов) и начали сканером сканировать 

 полученный товар и в этой таблице отмечать, что пришло и в конце 

 происходит перенос прихода (количества товара) в таблицу Наш склад

- Списания товара

- Расходы

- Клиенты

- Черный список (возможно как часть таблицы Клиенты)

-  партнеры

- Сотрудники (Для создания учетных записей и указания прав для груп пользователей)

- Дела (Учет и контроль выполнения задач с напоминанием

- Статистика (разные отчеты, по продажам

- Настройки

  • Описание таблиц
  • - Товары
  • Есть подтаблицы отдельно для каждого поставщика – свой прайс.
  • (сюда  загружаются все прайсы, кроме прайсовых данных еще добавляется данные –

     количество, пометка для товара –«маленькая емкость, есть эта же модель

     мощнее», пометка «снят с производства» В настройках окна, должна быть 

     галочки: показывать с маленькой емкостью, и галочка показывать позиции 

     «снят с производства» и этими галочками, стоят они или нет можно 

     скрывать или показывать эти позиции. При импорте или обновлении товара 

     устаревшие и снятые с производства позиции должны учитываться при 

     сопоставлении не зависимо от галочек, чтобы снова их не загружать если 

     они уже есть в базе)

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

    остатки  товара на складе

  • - Наш склад(ы): можно создавать сколько угодно складов, приходовать на нужный склад, перемещать между складами.
  • Для  начала будет 1 склад. Отображаются только те товары, которые 
  •  приходовались на наш склад, не важно есть в наличии или нет, если товар

     приходовался, то ее запись должна быть в этой таблице с актуальным 

     остатком товара)   Т.е. отличие от таблицы Справочник товара, что там 

     все товары со всех прайсов, а в Наш склад, непосредственно, чем мы 

     торгуем или торговали, т.е. товары которые физически прошли через нас.

  • Группы пользователей:
  • Создаются  группы пользователей с определенными правами, и можно в пределах этой 
  •  группы создавать сколько угодно пользователей и у всех будут права 

     назначенные в пределах этой группы. Для каждой групы можно задать 

     разрешение или запрет любым таблицам, а так же отдельно закрывать 

     определенные столбцы. Т.е. можно открыть доступ к таблице, при этом не 

     показывать определенные столбцы.

  • Группы:
  • Супер администратор – пользователи: директор, супер-админ
  • Администратор – пользователи: директор, админ
  • Управляющий – пользователи:  управляющий, главный менеджер
  • Менеджеры – пользователи: Менеджер 1, Менеджер 2, Менеджер 3,
  • Курьеры – пользователи: курьер 1, курьер 2
  • Связь проги с внешними источниками данных и синхронизация с ними.
  • Прога  должна коммуницировать с нашим сайтом который реализован на cms 
  •  opencart 1.5.1.3, и с нашим который реализован на платформе prom.ua

С нашим сайтом на opencart 1/5/1/3 синхронизируем:

  • - остатки товара
  • - цены
  • - статусы заказов (2-х стороння)
  • Заказы - просто втягиваем
С сайтом на prom.ua:

  • Загружаем заказы
  • Синхронизация цен и остатков
  • Если будет возможно – синхронизация статуса заказов.
Предусмотреть  что не все статусы в нашей базе синхронизируются с сайтом, т.е. будут 

 статусы как бы для внутреннего использования.

Из нетипичных  особенностей: не делаем копию структуры сайта в базе данных, не 

копируем  все товары в базу с сайтов, так как сайтов структуры разные.

Каталог  товаров на нашем сайте и на проме разный, т.е. товары одни и те же но 

 не один в один, на нашем сайте больше товаров загружено. Еще одна 

 особенность – одной позиции с прайса (справочника товара) может 

 соответствовать множественное значение товара на сайте, причем это 

 множество может быть разным для нашего сайта и сайта на проме. Т.е. 

 жесткой привязки по id товара сделать будет проблемно наверно, так как 

 даже если такое сделать, то на сайте могут добавится или убавится уже 

 привязанные товары, тогда нужно делать перепривязку, что наверно не 

 сильно удобно.

На данный момент у меня реализована связь екселя  где ведется учет с сайтом на opencart путем прямого обращения к базе 

 данных сайта командой вида: найти все товары с заданным артикулом или с

 заданным артикулом+заданный бренд и у всех найденных обновить цену или

 остаток товара, смотря что нужно. Поэтому если добавляю товары или 

 удаляю, они все равно без проблем находятся в базе данных по заданному 

 критерию: или артикулу или артикул+бренд

Печать документов:

  • Печать  списка товаров которые нужно подготовить к отправке с разбивкой по 

     заказам, т.е. чтобы было на листе видно с какого заказа этот (эти) 

     товары, номер заказа, откуда заказ (с нашего сайта или сПРОМа), ФИО и 

     мобильный заказчика

  • - на ленточном принтере печать  чек или  чек+гарантийный талон в одном документе по заданному шаблону с 
  •  подстановкой данных из заказа

  • - на обычном принтере печать  товарной накладной с перечнем всех товаров в заказе, их ценами и общей 
  •  ценой заказа (товара) без цены доставки.

  • - печать наклеек с данными для отправки укр почтой
  • - печать ттн новой почты (Для этого нужно сначала создать ее)
  • - если сайт (база) новой почты лежит (что бывает) – то возможность распечатать на листе данные для посылок вида:
  • - номер заказа
  • - Мобильный клиента
  • - фио клиента
  • - город
  • - номер отделения новой почты
  • - отметка и сумма – если с наложенным платежом
  • - перечень товара(ов) в заказе
  • Печать бумажки для посылки укр почты с указанием:
  • - ФИО клиента
  • - адрес (улица, дом, квартира)
  • - населенный пункт
  • -область
  • -индекс
  • - мобильный телефон
  • -  реализация что-то типа конструктора, чтобы без программирования можно 
  •  было менять шаблон (формат вывода) информации в печатаемых документах

  • Рассылка  смс и e-mail уведомлений при смене статуса заказа через заданный канал
  •  (смс интегратор или мобильный подключенный к компу, причем с выбором 

     через какой именно мобильный, так как их может быть 2-3 штуки) Для 

     каждого статуса и каждого канала продаж свой шаблон сообщения, 

    отдельный  шаблон для e-mail, отдельный для смс

  • Работа со сканером штрих кода
  • настройка  интерфейсов таким образом, чтобы процесс ввода новых клиентов и 
  • заказов  занимал минимальное время  - максимум 25 секунд; Если клиент 

    уже что-то  у нас покупал, то после ввода его мобильного, все остальные 

    данные  подтягивались автоматом.

  • настройка интерфейса работы с таблицами  Справочник и наш склад, для быстрого и удобного поиска товара
  • по разным  входящим данным, + реализация фильтров отображения товара по

    любым  заданным данным.  На каком поле фокус (стоит мышка) по тому полю

    и ищем.

  • оптимизация  по быстродействию – база должна работать очень быстро, организация  резервной с возможностью быстро восстановить 
  • данные в случае сбоя – т.е.  потеря данных должна быть невозможна. (даже

    при сбоях)

  • система расширенной регистрации изменения объектов – понятно, кто, когда и что конкретно сделал с документом или справочником.
  • Бронирование  товара на определенное время на складе при поступлении заказа от 
  •  клиента. В программе должно отображаться, что товар забронирован, и 

     можно увидеть за кем на сколько забронирован и когда снимется бронь 

    если  клиент не оплатит или не подтвердит заказ. Период бронирования 

    товара  задается

  • Возможность вручную снять или продлить бронь на заданный период времени.
  • Контроль  взаиморасчёта с партнерами. Например, цена товара для партнера – 200 
  •  гривен, а мы отправили сразу товар на данные клиента партнера с 

    наложкой  в 300 гривен. Значит, когда мы получим по этому заказу 300 

    гривен, 100  мы должны перечислить партнеру. Нужно отслеживать эти 

    расчеты, чтобы в  любой момент времени можно было посмотреть на какую 

    сумму мы должны  партнеру денег и отмечать где уже сделан взаиморасчет.

Контроль  такого момента, если посылка по заказу партнера с наложенным платежом 

 не была забрана его заказчиком, у нас получается убыток на величину 

 возврата товара – нужно это тоже считать и учитывать при взаиморасчёте.

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

 партнера с наложенным платежом.

  • Возможность отслеживать по  номеру ттн заказы  которые отправлены с наложенным платежом, на предмет

     забран или нет и помечать не забранные и отправлять им смс и\или 

    e-mail  уведомления. Отмечать незабранные посылки с наложкой, которые 

    уже лежат 3  дня оранжевым цветом, которые не забраны 5 дней – красным. 

    Так же  отдельно выделять из списка не забранные заказы, которые были от

     партнеров.

  • Отчеты (статистика)
  • - прибыль
  • -оборот
  • -расходы
  • - статистика продаж по каждому товару, по его артикулу и по названию товара
  • -Брак товара по артикулу и по названию товара
  • - на какую сумму по закупочной или отпускной цене сейчас товара на складе в наличии.
  • При  продаже товара – он автоматом ставится в приход, в количестве 
  • проданных  единиц. Можно настраивать, т.е. в Справочнике для каждого 

    товара можно  задать значение, ставить автоматом в приход или нет, 

    возможные  настройки:

  • - ставить
  • - не ставить
  • -запрашивать,  т.е. при продаже, спрашивает поставить этот товар в приход или нет, с 
  •  возможностью запомнить выбор и дальше не спрашивать уже.

  • Проданные  товары записываются в Приход, сколько товаров будет в приходе можно 
  •  задать, указав общую сумму прихода, количество товара в приходе или 

     указать и то и то, и какое значение будет достигнуто по тому 

    срабатывает  тригер и приход считается сформированным, о чем 

    сигнализируется. А  следующие проданные товары уже записываются в 

    следующий приход.

  • Это  наброски по примерной задаче минимума, все подробно так даже и не  изложишь, поэтому хотелось бы во первых 
  • чтобы реализация была в таком  виде, что ее доработка была доступной и 

    многие простые настройки и  изминения в базе я мог бы делать 

    самостоятельно без программирования.

Так же в будущем  хотелось бы подвязать еще телефонию, только не sip а 

чтобы через gsm шлюз на  обычных сим картах, и чтобы при входящем звонке

отображалось:

ФИО

телефон

Номер последнего заказа (если такой есть) и его статус

Номер ТТН

Статус доставки

Дату доставки

Статус заказа

Метод оплаты

Сумму последней сделки

Товарный состав

Комментарий к заказу

Срок хранения на складе Новой Почты

Время последнего разговора и с кем общался клиент

Находится ли клиент в черном списке

Дополнительные возможности:

В  1 клик создать заказ с заполнением всех полей доставки, если данный 

 клиент уже совершал у вас заказ. Если это новый клиент, тогда просто 

 создается заказ и заполняется номер телефона.

Без перехода в заказ покупателя можно отправить номер ТТН в СМС или на эмейл.

Хотелось бы исполнителя, кто реализовывал подобные проекты и знает как все это решить

6 лет назад
Alex_Sn
44 годаУкраина
12 лет в сервисе
Был
6 лет назад