Последний блок, который мы выделим, — это P2P закупки (Procure-to-Pay), предназначенные для комплексной оптимизации процессов в закупочном отделе. Разрабатываемый блок P2P системы охватывает весь процесс от создания заявок на закупку до их оплаты и доставки товаров, обеспечивая полный контроль и прозрачность на каждом этапе цепочки поставок. Его можно реализовать как самостоятельное продуктовое решение, так и он может быть частью SRM системы. |
Одним из преимуществ P2P закупок является возможность настройки статусных и ролевых моделей для согласования заявок и заказов. Использование BPM-конструктора позволяет быстро внедрять и адаптировать бизнес-логику клиента. Это ускоряет процесс утверждения, минимизируя бюрократические задержки, что способствует сокращению времени цикла закупок. Система поддерживает сложные сценарии согласования с контролем лимитов на одобрение, а также параллельные и последовательные маршруты, обеспечивая гибкость и точность в управлении закупками. Этот инструмент существенно сокращает время внедрения и позволяет вносить изменения без значительных переработок, что защищает финансовые интересы компании и адаптируется под её потребности
Кроме того, благодаря P2P закупкам ваша компания получит возможность гибко управлять приемкой товаров и услуг. Система позволяет вести как полную, так и частичную приемку, что помогает адаптироваться к меняющимся потребностям и оптимизировать процессы поставок. Это означает меньше хаоса и больше структурированности в ваших закупках. Рассмотрим доступный функционал подробнее.
Есть возможность настроить любую ролевую модель, которая необходима под ваши индивидуальные требования. Мы рассмотрим некоторый базовый вариант, который можно будет кастомизировать. |
Глобально всех пользователей можно разделить на Покупателей и Поставщиков в рамках платформы. Рассмотрим, какие основные роли и настройки есть для каждого типа пользователей.
Название роли | Доступные возможности |
---|---|
Инициатор | Может создавать заявки на закупку товаров. |
Руководитель инициатора | Видит заявки и заказы своих подчиненных. |
Бюджетодержатель и финансовый контроллер | Согласуют заявки, основываясь на лимитах бюджета. |
Централизированный инициатор | Инициатор с большим количеством прав. |
Администратор IT | Имеет права на просмотр и изменения данных в административной панели. |
Просмотр | Есть права на просмотр всех данных, но нет права их изменять. |
Служба поддержки закупок (P2P) - управление пользователями | Управляют данными о пользователях, в том числе назначают роли. |
Служба поддержки закупок (P2P) - группа мастер данных поставщиков | Имеют возможность изменять мастер данные по поставщикам. |
Служба поддержки закупок (P2P) - группа по процессу оформления закупок | Согласуют заявки содержащие некаталожные позиции. |
Всем новым покупателям, зарегистрировавшимся на платформе, по умолчанию назначается роль Инициатор.
У пользователя платформы есть возможность делегировать свои полномочия по работе в системе AGORA другому пользователю на определенный период.
Делегируются права на:
Делегировать полномочия можно только в случае, если грейд сотрудника выше или равен грейду пользователя, чьи права делегируются. Исключением является роль Финансовый контролер, он может делегировать права сотруднику с любым грейдом.
Для того, чтобы делегировать права пользователю, необходимо:
У пользователя платформы есть возможность полностью переназначить Заказы, Поступления и Задачи на согласование другому пользователю. Переназначить их можно только пользователям с ролью "Инициатор". Переназначить заявки на согласование можно только пользователям с ролями "Финансовый контроллер", "Бюджетодержатель" (у которого лимит согласования равен или выше).
Переназначить права можно только в случае, если грейд сотрудника выше или равен грейду пользователя, чьи права делегируются. Исключением является роль Финансовый контролер, он может передать права сотруднику с любым грейдом.
Для переназначения необходимо:
В подразделе отчетов отображается табличная часть со всеми отчетами, которые запланировано отправлять пользователю через представления:
В табличной части представлена информация по столбцам:
В подразделе уведомлений пользователю доступна настройка уведомлений, которые он будет получать при дальнейшей работе в системе.
Для настройки уведомлений необходимо:
Если необходимо получать уведомления по всем событиям в системе или на эл.почту, необходимо кликнуть по соответствующему верхнему чекбоксу.
Данные при этом сохраняются автоматически.
В дальнейшем:
Если активны чекбоксы в столбце «В системе», пользователь будет получать уведомления в раздел "Уведомления" по выбранным событиям
После регистрации, пользователю поставщика становится доступны функции портала в зависимости от его роли.
Как правило, поставщики просматривают и согласовывают текущие заказы, проверяют их статус, участвуют в спотовых событиях.
Администратор |
|
Менеджер поставщика |
|
Пользователь с ролью "Администратор" имеет возможность управлять перечнем пользователей. Для управления необходимо:
Приглашенный сотрудник сможет пройти регистрацию по отправленной ему ссылке на указанную электронную почту. Такому пользователю по умолчанию будет назначена роль "Менеджер поставщика".
В личном кабинете Покупателя доступна возможность просмотра списка поставщиков, а также информации о них.
Покупателям с ролью Служба поддержки закупок (P2P) и Администратор IT доступна полная информация о поставщике как в представлении (в таблице со списком поставщиков):Так и в карточке поставщика:
Покупателям с ролями, кроме Служба поддержки закупок (P2P) и Администратор IT (к примеру, Инициатор) доступна ограниченная информация о поставщике.
Недоступны для отображения следующие данные в представлениях (в таблице со списком поставщиков):
В карточке поставщика недоступны для просмотра такие данные, как:
Для создания заказа, пользователю необходимо создать заявку и отправить её на согласование. Простыми словами, заявка - это как корзина, которую собирает заказчик, но перед тем как из нее будет создан заказ, содержимое этой корзины нужно согласовать.
Позиции в заявке можно как выбрать из каталога, так и писать в свободной форме, если в нем нет необходимой позиции.
Статус | Предшествующее действие пользователя/платформы | Переход в статус |
---|---|---|
Черновик |
| На согласовании |
На согласовании |
| Согласована Черновик |
Согласована |
|
Для создания заявки необходимо перейти в раздел "Заявки" в главном меню портала и нажать "Создать заявку".
Далее необходимо заполнить все обязательные поля, они помечены *.
После чего необходимо добавить необходимые позиции в заявку. Позиция может быть как выбрана из каталога, так и указана в произвольной форме. На данном этапе необходимо также заполнить все обязательные поля и нажать "Сохранить":
В заявке ограниченное количество позиций - до 100 штук.
Далее необходимо заполнить блок платежной информации в позициях заказа. Форма заполнения открывается кликом на значок поиска:
Далее заполняются обязательные поля по платежной информации, после чего требуется нажать "Сохранить":
После чего заявка готова к отправке на согласование, цепочка которой построилась по мере заполнения заявки.
Если инициатор является бюджетодержателем или фин. котроллером собственной заявки/заказа, то в цепочку добавляется руководитель инициатора. |
Отправляется заявка нажатием на кнопку "Отправить на согласование":
На платформе реализован функционал копирования заявки. Копируются заявки только в статусе Согласовано и На согласовании. При копировании создается Черновик заявки со всеми данными, что удалось перенести из копируемой.
В случае, если какую-либо строку заказа не удалось скопировать, об этом выводится сообщение.
Для того, чтобы копировать заявку, необходимо:
Цепочка согласующих формируется автоматически на основании грейдов, лимитов согласования и использования каталожной и некаталожной позиции в заявке.
Инициатор | Данный этап согласуется автоматически после отправки заявки на согласование. Ответственным за данный этап является инициатор - пользователь, создавший заявку. |
Служба поддержки закупок | Данный этап необходим при использовании некаталожной позиции в заявке. Ответственный за данный этап - сотрудник службы поддержки закупок с ролью p2p. |
Технический согласующий | На данном этапе происходит валидация на стороне SAP. |
Бюджетодержатель | На данном этапе ответственный сотрудник контролирует, не выходит ли сумма заказа за рамки бюджета. Бюджетодержатель закрепляется за определенным инициатором. В зависимости от того, выходит сумма за рамки бюджета или нет, к согласованию будет также привлечен руководитель бюджетодержателя, рамки бюджета у которого выше. |
Финансовый контролер | Данный этап необходим только в том случае, если сумма по заявке превышает его лимит. |
После прохождения вышеперечисленных этапов проходит второе техническое согласование и после успешной валидации заявка считается согласованной, на основе которой создаются заказ(ы). Количество заказов зависит от договоров, используемых при формировании заявки.
Для согласования заявки, согласующему необходимо открыть заявку на платформе и кликнуть "Согласовать" или "Отклонить" в зависимости от результата.
Для удаления заявки необходимо:
После удаления пользователь попадает на страницу раздела "Заявки", удаленные заявки в списке не отображаются.
Статус | Предшествующее действие пользователя/платформы | Переход в статус |
---|---|---|
Создан |
|
|
Отправлен |
|
|
Ручная отправка |
|
|
На согласовании |
|
|
Частично получен | Пользователь подтвердил создание частичного поступления по заказу |
|
Полностью получен | Пользователь подтвердил создание полного поступления по заказу |
|
Закрыт мягко |
|
|
Закрыт полностью |
| |
Отменен | Пользователь подтвердил отмену заказа |
|
Для создания Заказа (PO), сначала необходимо создать Заявку (PR) с указанием необходимых позиций (см. раздел "Создание заявки"). После того, как заявка успешно прошла согласование, по ней будут созданы заказы. Количество заказов зависит от договоров, которые использовались в заявке.
Сразу после создания заказа система выполняет следующие действия:
• Отправляет заказ на закупку в SAP
• Отправляет заказ на закупку поставщику (на электронный адрес и/или в личный кабинет).
После того как по Заказу был получен товар или его часть, на этом основании можно создать Поступление (см. раздел "Создание поступления").
Изменение заказа доступно пользователям с ролями Инициатор и Служба поддержки закупок: группа по процессу оформления закупок.
Изменение заказа доступно при соблюдении всех перечисленных условий:
Изменение Количества товара в оформленном заказе, где в строке заказа в платежной информации выбран инвестиционный ордер (название объекта затрат начинается с @) доступно пользователям с ролью Инициатор и P2P Служба поддержки закупок.
Изменить количество на меньшее число, чем уже принято по данной строке заказа, не получится. |
Для изменения заказа необходимо:
Исключением являются случаи, когда после изменения заказа сумма уменьшилась относительно согласованной или увеличилась не более чем на 5%.
При этих обстоятельствах создается новая версия заказа, и обновленный заказ уходит поставщику в виде измененной печатной формы.
Отменить заказ возможно только в случае, если по нему не создано поступление (GR).
Данный функционал доступен пользователям с ролью "Служба поддержки закупок: группа по процессу оформления закупок".
Для отмены заказа необходимо:
Данный функционал доступен пользователям с ролями:
Мягкое или полное закрытие заказа доступно на статусах:
Для мягкого закрытия заказа необходимо:
Для повторного открытия строки необходимо:
Мягкое закрытие можно выполнить вручную, после чего, при необходимости, есть возможность переоткрыть заказ.
Также, закрытие сработает автоматически через 90 дней (10 дней, если заказ был переоткрыт) после даты поставки.
Для мягкого закрытия заказа необходимо:
Повторное открытие заказа доступно на статусе «Закрыт мягко».
Функционал открытия доступен пользователям с ролью Служба поддержки закупок: группа по процессу оформления закупок.
Для повторного открытия заказа необходимо:
После повторного открытия заказ перейдет в статус «Отправлен».
Закрытие заказа может осуществляться пользователем вручную, либо же автоматически - по истечению 2-х лет с даты последнего изменения.
Функционал закрытия доступен пользователям с ролью Служба поддержки закупок: группа по процессу оформления закупок.
Для полного закрытия заказа необходимо:
Статус | Описание |
---|---|
Создано | Поступление создано. |
Аннулировано | Поступление аннулировано. |
Проверить ошибки интеграции при создании/аннулировании Приемки (GR) можно в разделе Логи GoodsReceipt в административной панели. |
После того как заказ успешно был передан в SAP и находится в статусе "Отправлен", по нему можно создать поступление. Для этого необходимо:
В случае возникновения ошибки при создании поступления, ошибка записываться в журнал интеграции SAP и видна в истории изменения Поступления (GR) и Заказа (PO).
Платформа отправляет уведомления инициатору закупки о необходимости создания поступления за 4 дня и за 1 день до наступления даты поставки и через 1 день после, если поступление по заказу не было создано.
Аннулировать поступление может только пользователь с ролью Служба поддержки закупок - группа по процессу оформления закупок.
Для аннулирования поступления необходимо:
В случае возникновения ошибки при аннулировании приемки, ошибка записываться в журнал интеграции SAP, и видна в истории изменения Поступления (GR) и Заказа (PO).
Договор с поставщиком подразумевают соглашение между Покупателем (Danone) и Поставщиком, в рамках которого реализуются позиции каталога, а также регулируются такие условия, как Условия оплаты, Условия доставки, Общий лимит по договору (денежный), Возможность превышения установленного денежного лимита.
Проверить договоры с поставщиками можно в соответствующем разделе Договоры в административной панели или в том же разделе в личном кабинете пользователя. |
Данные по договорам выгружаются исключительно из SAP и привязываются к созданному на платформе Поставщику. В случае, если Поставщик (контракт по которому выгружается на платформу) отсутствует или заблокирован на платформе - договор не создается.
Проверить логи выгрузки Договоров на платформу из SAP можно в разделе Логи Contract в административной панели. |
Сумма по Заявке (PR) учитывается в Сумме всех заказов по договору после согласования заявки.
В дальнейшем, при закрытии Позиции в Заказе (PO), производится расчет разницы между суммой позиции и суммой проведенных поступлений по ним, эта разница освобождается в Сумма всех заказов по договору.
Общая формула расчета Свободных средств в договоре:
Свободных средств = Сумма всех заказов по договору - Сумма всех заказов по договору (расчет по строкам описан выше).
Данные по сроку действия договора выгружаются из SAP.
Если Дата окончания в договоре НЕ РАВНА дате позже текущей - договор должен сменить статус на Не активен. Если сегодня день равен Дате окончания действия договора, то он ещё будет иметь статус Активен.
Если договор становится неактивным:
В разделе отображаются доступные товары (позиции) из каталогов поставщиков.
Каталожные позиции связаны с определенным Поставщиком и его Договором (см. раздел Договоры с поставщиком).
Доступна возможность:
Создание каталожной позиции доступно пользователям с ролью Служба поддержки закупок (P2P) - группа мастер данные поставщиков.
Для создания необходимо:
После сохранения созданный товар отобразится в списке товаров в разделе "Каталог"
Импорт каталога доступен пользователям с ролью Служба поддержки закупок (P2P) - группа мастер данные поставщиков.
Для создания необходимо:
После успешного импорта товары будут отображены в списке товаров в разделе "Каталог".
Представления - используется для поиска и фильтрации данных. Построены на elasticsearch, что дает возможность гибкой настройки фильтра.
Используются в разделах:
• Заявки
• Заказы
• Поступления
• Каталоги
• Поставщики
• Договоры
Данные, после их создания, попадут в фильтрацию по Представлению в течении 5 минут, после индексации, не смотря на то, что в админ. панели и в ЛК пользователя сущность (к примеру, Заявка) уже будет доступна.
Чтобы создать представление, необходимо:
Для того, чтобы применить представление необходимо:
Если необходимо отфильтровать данные без использования представлений, можно воспользоваться функцией "Фильтр". Её можно использовать как при выбранном представлении, чтобы уточнить выборку, так и без него.
Для того, чтобы указать Фильтр, необходимо:
Запрос на согласование заявки на закупку (тип 1) | Заявка доступна для согласования следующему пользователю/группе пользователей в цепочке согласования. Каждый пользователь в цепочке согласования получает уведомление в тот момент, когда предыдущий пользователь в цепочке согласования нажал “Согласовать” |
Запрос на согласование заявки на закупку (тип 2) | Заявка доступна для согласования бюджет-держателю после согласования предыдущими пользователями из цепочки. Бюджет-держатель получает уведомление в тот момент, когда предыдущий пользователь в цепочке согласования нажал “Согласовать”. |
Заявка утверждена | Заявка утверждена всеми пользователями из цепочки согласования. Каждый пользователь в цепочке согласования и инициатор заявки получает уведомление в тот момент, когда последний пользователь в цепочке согласования нажал “Согласовать”. |
Заявка отклонена | Заявка отклонена любым пользователем из цепочки согласования. Каждый пользователь в цепочке согласования и инициатор заявки получает уведомление в тот момент, когда текущий пользователь в цепочке согласования нажал “Отклонить”. |
Запрос на изменения заказа на закупку | Заказ доступен для согласования следующему пользователю/группе пользователей в цепочке согласования. Каждый пользователь в цепочке согласования получает уведомление в тот момент, когда предыдущий пользователь в цепочке согласования нажал “Согласовать”. |
Запрос на изменение заказа утверждён | Запрос на изменение заказа утвержден всеми пользователями из цепочки согласования. Каждый пользователь в цепочке согласования и инициатор запроса на изменение получает уведомление в тот момент, когда последний пользователь в цепочке согласования нажал “Согласовать”. |
Запрос на изменение заказа отклонён | Запрос на изменение заказа отклонен любым пользователем из цепочки согласования. Каждый пользователь в цепочке согласования и инициатор запроса получает уведомление в тот момент, когда текущий пользователь в цепочке согласования нажал “Отклонить”. |
Напоминание о необходимости создать поступление (GR) | За 4 дня и за 1 день до наступления даты поставки и через 1 день после, если поступление по заказу не было создано. |
Запрос на подтверждение заказа | Произошло создание заказа PO в Агоре. После этого уведомление отправляется на почту поставщика (Supplier.Email). |
Заказ изменен | Последний в цепочке согласования подтвердил заявку на изменение PO, создана новая версия заказа. |
Администрирование пользователей доступно сотрудникам с ролью:
Заполнить данные, с помощью которых пользователь сможет авторизоваться: Логин, Пароль, Подтверждение пароля:
После сохранения откроется детальная информация о пользователе с возможностью редактирования данных.
Для редактирования пользователя необходимо:
Администрирование поставщиков доступно сотрудникам с ролью:
Данные по поставщику приходят исключительно по интеграции через пакеты данных MasterData. На платформе возможно лишь изменение следующих данных:
Для редактирования поставщика необходимо:
В административной панели в следующих разделах предусмотрен Экспорт данных:
Есть несколько вариантов экспорта данных.
Если файл экспорта формируется менее чем на 1000 строк - скачивание происходит сразу в браузере.
Если строк итогового файла более 1000 - после формирования файл отправляется на электронную почту пользователя в zip архиве.
Ограничение на размер итогового файла экспорта - 35Мб, при достижении которого пользователю направляется письмо с сообщением скорректировать свой запрос.
На платформе реализованы интеграции со сторонними сервисами клиента.
Интеграции односторонние, а это значит, что данные от платформы передаются только при поступлении API запроса на платформу от стороннего сервиса.
Между платформой и SAP (P0x) настроено интеграционное взаимодействие для обмена следующими данными по следующим потокам:
Название потока | Источник | Получатель | Инициатор | Частота |
---|---|---|---|---|
Cost centers | SAP P0x | Agora | SAP P0x | Раз в сутки |
Internal orders | SAP P0x | Agora | SAP P0x | Раз в сутки |
Suppliers | SAP P0x | Agora | SAP P0x | Раз в час |
Technical contracts | SAP P0x | Agora | SAP P0x | Раз в сутки |
PO simulation create | SAP P0x | Agora | SAP P0x | Каждые 10 секунд |
PO create | SAP P0x | Agora | SAP P0x | Каждые 10 секунд |
PO simulation update | SAP P0x | Agora | SAP P0x | Каждые 10 секунд |
GR create | SAP P0x | Agora | SAP P0x | Каждые 10 секунд |
Для приема данных на стороне Agora разработан веб-интерфейс для получения данных в файле формата cXML по технологии REST API.
Интеграционное взаимодействие между системами Agora и SAP P0x осуществляется через интеграционную шину EAI Middleware.
Инициатором в данном файлообмене будет выступать SAP P0x.
Проверить логи и статусы интеграции с SAP (P0x) можно в административной панели проекта в разделе Интеграция с SAP |
Раз в 5 минут запускается задача, по которой Middleware получает данные по списку заявок с платформы, которые на этапе согласования "Технический согласующий", далее внутри их системы происходит проверка, возможно ли создать заявку с данными, указанными в заявке (правильное ли заполнение, не превышены ли какие-либо лимиты). При отклонении заявки Техническим согласующим, заявка возвращается в статус "Черновик" и цепочка согласования сбрасывается. В истории изменений заявки пишется причина, почему проверка была не пройдена. При согласовании заявки, заявка движется дальше по цепи согласования и в истории отражается факт согласования со стороны Технического согласующего.
Логи периодических запросов с SAP можно проверить в админ. панели в разделе PO Simulatoin Create |
Только что созданные заявки помечаются в системе выключенным параметром "Экспортировано в SAP". Такие заявки выгружаются запросом от SAP раз в 5 минут, после чего помечаются включенным параметром. Выгрузка такого заказа может как создать заказ в SAP, так и обновить уже существующий. За один запрос SAP получает максимум 50 заказов на обработку. Если заказов больше 50, оставшиеся будут выгружены при следующем запросе - через 5 минут.
В случае возникновения ошибки экспорта в SAP, заказ помечается параметром "Ошибка при миграции заказа в SAP".
Логи ошибок миграции заказа в SAP можно проверить в админ. панели в разделе Записи о неудачных результатах в категории Интеграция с SAP
На платформе реализована интеграция с почтовым сервисом для создания следующих возможностей:
Для этого предоставлен статичный IP-адрес почтового сервера Danone и доступ к техническому почтовому адресу. Для отправки почтовых уведомлений использовано коробочное решение mailer.
Проверить Логи писем можно в одноименном разделе в административной панели.
Интеграция с 1С используется для синхронизации пользователей
1С может обратиться к платформе для получения следующей информации:
• Получение токена OAuth 2.0 - метод аутентификации, 1С делает это перед каждым запросом
• Проверка существования пользователя в Агора - 1С делает данный запрос на платформу с целью проверки наличия пользователя в системе Агора
• Проверка существования менеджера в Агора - 1С совершает запрос на платформу с целью проверки наличия менеджера в системе Агора.
• Создание/изменение пользователя в Агора - 1С совершает запрос на платформу с целью создания нового пользователя (если пользователя нет в системе Агора) или обновления существующего пользователя (если пользователь существует) в системе Агора.
Также, раз в час система обращается к 1С для проверки материальной группы и бюджету в целях определения роли Бюджетодержателя или Финансового контроллера.
Для пользователей реализована авторизация по технологии SSO через ADFS, для этого настроена интеграция с Active Directory.
Аутентификация пользователя будет произведена автоматически с сессионными данными AD.
Алгоритм аутентификации и авторизации пользователя:
Из AD в Agora по запросу от Agora отправляются 2 потока данных:
Могут быть случаи, когда база данных с 1С и база данных с Active Directory конфликтуют в плане электронных почт пользователей. В случае возникновения трудностей авторизации, необходимо чтобы эти базы данных были синхронизированы.