Мы продолжаем серию публикаций про решение для малого и среднего бизнеса от компании SAP – SAP Business One. В этой статье рассмотрим стандартные возможности ценообразования в SAP Business One и вариант реализации нестандартного расчета цены, примененного нашим партнером, компанией ЦМД-софт, на проекте внедрения.
Цена товара или услуги является боевым оружием в конкурентной борьбе за покупателя. В обычной жизни продавцы оказывают влияние на наше решение о покупке с помощью широкого набора средств: персональные предложения, программы лояльности, бонусы, подарки, скидки, и т.п. Эти акции являются результатом ценовой политики предприятия, нацеленной на покупателя.
Предприятие-продавец выстраивает ценовую матрицу с учётом многих факторов, среди которых данные, подлежащие внутреннему учету: номенклатура товара, количество товара на складе, условия поставки, категория клиента и т.д.
Ценовая политика предприятия возлагает на ERP-систему требования по идентичному отражению различных ценовых подходов во взаимосвязи со многими учетными данными. Для успешности процесса продаж адекватное отображение логики ценообразования торговой организации является важной и ответственной задачей настройки информационной системы.
Давайте рассмотрим с помощью примеров как с вопросами ценообразования справляется решение от SAP для среднего и малого бизнеса. В SAP Business One путем несложных настроек можно достичь различных ценовых вариаций и удовлетворить большинство потребностей клиентов.
На рисунке выделены и проиллюстрированы основные подходы к расчету цены, а также примеры, сгруппированные по принципу организации стандартных возможностей системы:

Основные виды расчета цены в SAP Business One
1. Прайс-листы
В SAP Business One возможно ведение различных версий прайс-листов для продаж и закупок. Прайс-листы продаж/закупок создаются в Запасы => Прайс-листы => Прайс-листы:

Хранение справочника прайс-листов
Автоматическое ведение применяется для двух прайс-листов: Последняя рассчитанная цена ( обновляется отчетом моделирования оценки запасов) и Последняя закупочная цена (обновляется при вводе товара в запасы с исходной ценой). Прайс-лист может быть создан на базе другого прайс-листа (например, Последняя закупочная цена) с применением коэффициентов пересчета:

Коэффициенты для расчета прайс-листов
Возможно ведение прайс-листов с НДС или без НДС, в нескольких валютах (в основной и двух дополнительных) – например, РУБ, USD, EUR. Есть возможность зафиксировать цену за единицу, при изменении коэффициента – цена не будет пересчитываться:

Настройка прайс-листа с/без НДС, фиксированная цена в разных валютах
Определенный прайс-лист можно назначить конкретному клиенту/поставщику. Привязка прайс-листа осуществляется в карточке клиента Бизнес-партнёры => Справочник бизнес-партнёров => вкладка Условия оплаты => поле Прайс-лист:

Настройка прайс-листа для поставщика
Для редактирования цены в прайс-листе для определенного товара достаточно в карточке товара выбрать прайс-лист и изменить цену Запасы => Справочник товаров и услуг => поле Прайс-лист:

Настройка цены товара
2. Объемные скидки
Использование скидок в зависимости от периода и количества позволяют определить скидки по датам и на основе количества товара по действующему прайс-листу. Введенные здесь скидки переопределяют базовую цену в прайс-листе, присвоенном данному бизнес-партнеру. Скидки не применяются, если для клиента или товара действует специальная цена для бизнес-партнера или группа скидок:

Скидки в зависимости от периода и количества
3. Группы скидок
Группы скидок настраиваются по пути Запасы => Прайс-листы => Группы скидок.
Назначение групп скидок возможно для всех бизнес-партнеров, конкретного клиента/поставщика, группы заказчиков или группы поставщиков:

Настройка скидок для конкретного клиента
Группы скидок по Группам товаров настраиваются на вкладке Группы товаров. Можно активировать срок действия данной скидки:

Настройка скидок по группе товаров
Группы скидок по свойствам товаров настраиваются на вкладке Свойства товара. Чтобы дополнительная скидка складывалась, необходимо установить значение Отношение скидки = Всего:

Настройка скидок по свойствам товаров
Группы скидок могут быть назначены по производителям (брендам) на вкладке Производитель:

Настройка скидок по производителям (брендам)
Для расчета скидки по определенным товарам выбираем данные товары на закладке
Товары:

Настройка скидок по товарам
4. Специальные предложения
SAP Business One позволяет установить цену для клиента или поставщика на отдельные товарные позиции в одном или нескольких прайс-листах:

Настройка специальных цен для определенного клиента
5. Нестандартный расчет цены
На одном из проектов компания ЦМД-софт получила требование от заказчика осуществить расчет скидки на уровне документа с применением этой скидки ко всем строкам, а не только к полю Итого.
Значение скидки к счету вводится в дополнительное поле документа Заказ на продажу. Скидка рассчитывается пропорционально стоимости позиции счета и добавляется к скидке в каждой строке документа. При обнулении поля общей скидки — значения скидок по строкам откатываются на начальные значения до редактирования документа.
Дополнительно, необходимо было реализовать динамический пересчет значений полей. На уровне Заказа на продажу при ручном изменении значения в одном из перечисленных полей осуществляется автоматический пересчет связанных значений остальных полей по строке:

Каскадный пересчет значений связанных полей при изменении значения в одном из полей
Для реализации нестандартных сценариев расчета цены могут быть использованы различные инструменты, встроенные в SAP Business One. Гибкость решения и независимость ядра позволяет без написания кода (программирования) добавлять пользовательские объекты в системные документы.
Создание пользовательского поля
С помощью инструмента Пользовательские поля можно добавить новое поле и привязать его к документам, основным данным и другим системным объектам (как на уровне заголовка, так и на уровне строк). Пользовательские поля могут быть различного типа: алфавитно-цифровой, цифровой, дата или время, единицы измерения и расчета. В соответствии с выбранным типом поля изменяется внешний вид отображения данных. Значения этих полей могут быть связаны с сущностями (системная или пользовательская таблица), включать в себя ограниченный набор данных (введенных при определении поля) или соответствовать определенным критериям. Пользовательскому полю может быть присвоено стандартное значение и/или свойство обязательного ввода (пользователь не сможет сохранить документ, если данное поле не заполнено).
Добавляем пользовательское поле на уровне заголовка документа, в которое будем вводить размер дополнительной скидки:

Добавление пользовательского поля на уровне заголовка документа
Создание пользовательского запроса
Для формирования алгоритма расчета используем инструменты в разделе Запросы. С помощью этих инструментов можно построить, изменить и управлять SQL запросами. Для «неискушенных» имеется Ассистент запросов – мастер, помогающий пошагово создать свой SQL запрос.
В SAP Business One возможно вычисление на уровне открытого документа, когда значение еще не внесено в системную или пользовательскую таблицу (документ не сохранен). Для этого используется синтаксис вида $[$X.Y.Z], где X — системный номер или название поля, а Y и Z дополнительные условия.
В запросе для определения пользовательского значения (в нашем случае – нестандартный расчет цены) указываем динамический синтаксис по считыванию элементов открытой формы:

Добавление пользовательского SQL запроса
Создание пользовательских значений
После того, как сформированы пользовательское поле для внесения информации по дополнительной скидке и запрос на вычисление нестандартной цены, необходимо связать два этих элемента в документе.
Активируем отображение пользовательских полей на уровне заголовков (на уровне строк они активируются автоматически). По умолчанию, пользовательские поля отображаются в окне справа от формы. Пользователи с соответствующим уровнем полномочий могут активировать режим редактирования формы и перетащить элемент из бокового окна на интересующее нас место в заголовке документа. Открываем необходимый документ Заказ на продажу и переносим пользовательское поле Дополнительная скидка в заголовок документа.
Ставим курсор мыши в поле Всего (НВ) – созданный запрос будет выполняться в этом поле. Добавим пользовательское значение на основе запроса.
Выбираем созданный запрос. Устанавливаем настройку автоматического расчета значения при изменении созданного пользовательского поля. Выбираем настройку Просмотр сохраненных пользовательских значений. Сохраняем результаты:

Присвоение пользовательского запроса полю
Результат
Открываем маркетинговый документ Заказ на продажу. Находим требуемый документ или создаем новый. В пользовательское поле Дополнительная скидка вносим размер скидки, например, 50. С помощью созданного запроса и настройки определения пользовательского значения на основе запроса во всех строках документа обновилось поле Скидка, %, Всего (НВ) и общая стоимость заказа уменьшилась на 50%:

Автоматический расчет значений в связанных полях документа
Как вы смогли увидеть в этой статье, решение SAP Business One обладает разнообразным функционалом для реализации различных политик ценообразования компании, а также имеет возможность его доработки.
Ознакомиться с примерами внедрений SAP Business One можно на нашем сайте
Видео с обзорами возможностей и не только доступно на нашем канале в YouTube
Комментируйте, делитесь впечатлением, задавайте вопросы.
Всем спасибо за прочтение и обратную связь!
Предыдущие материалы о SAP Business One:
Возможности ERP-решения SAP Business One на платформе SAP HANA
Business One: ERP для малого бизнеса существует
Цена товара или услуги является боевым оружием в конкурентной борьбе за покупателя. В обычной жизни продавцы оказывают влияние на наше решение о покупке с помощью широкого набора средств: персональные предложения, программы лояльности, бонусы, подарки, скидки, и т.п. Эти акции являются результатом ценовой политики предприятия, нацеленной на покупателя.
Предприятие-продавец выстраивает ценовую матрицу с учётом многих факторов, среди которых данные, подлежащие внутреннему учету: номенклатура товара, количество товара на складе, условия поставки, категория клиента и т.д.
Ценовая политика предприятия возлагает на ERP-систему требования по идентичному отражению различных ценовых подходов во взаимосвязи со многими учетными данными. Для успешности процесса продаж адекватное отображение логики ценообразования торговой организации является важной и ответственной задачей настройки информационной системы.
Давайте рассмотрим с помощью примеров как с вопросами ценообразования справляется решение от SAP для среднего и малого бизнеса. В SAP Business One путем несложных настроек можно достичь различных ценовых вариаций и удовлетворить большинство потребностей клиентов.
На рисунке выделены и проиллюстрированы основные подходы к расчету цены, а также примеры, сгруппированные по принципу организации стандартных возможностей системы:

Основные виды расчета цены в SAP Business One
1. Прайс-листы
В SAP Business One возможно ведение различных версий прайс-листов для продаж и закупок. Прайс-листы продаж/закупок создаются в Запасы => Прайс-листы => Прайс-листы:

Хранение справочника прайс-листов
Автоматическое ведение применяется для двух прайс-листов: Последняя рассчитанная цена ( обновляется отчетом моделирования оценки запасов) и Последняя закупочная цена (обновляется при вводе товара в запасы с исходной ценой). Прайс-лист может быть создан на базе другого прайс-листа (например, Последняя закупочная цена) с применением коэффициентов пересчета:

Коэффициенты для расчета прайс-листов
Возможно ведение прайс-листов с НДС или без НДС, в нескольких валютах (в основной и двух дополнительных) – например, РУБ, USD, EUR. Есть возможность зафиксировать цену за единицу, при изменении коэффициента – цена не будет пересчитываться:

Настройка прайс-листа с/без НДС, фиксированная цена в разных валютах
Определенный прайс-лист можно назначить конкретному клиенту/поставщику. Привязка прайс-листа осуществляется в карточке клиента Бизнес-партнёры => Справочник бизнес-партнёров => вкладка Условия оплаты => поле Прайс-лист:

Настройка прайс-листа для поставщика
Для редактирования цены в прайс-листе для определенного товара достаточно в карточке товара выбрать прайс-лист и изменить цену Запасы => Справочник товаров и услуг => поле Прайс-лист:

Настройка цены товара
2. Объемные скидки
Использование скидок в зависимости от периода и количества позволяют определить скидки по датам и на основе количества товара по действующему прайс-листу. Введенные здесь скидки переопределяют базовую цену в прайс-листе, присвоенном данному бизнес-партнеру. Скидки не применяются, если для клиента или товара действует специальная цена для бизнес-партнера или группа скидок:

Скидки в зависимости от периода и количества
3. Группы скидок
Группы скидок настраиваются по пути Запасы => Прайс-листы => Группы скидок.
Назначение групп скидок возможно для всех бизнес-партнеров, конкретного клиента/поставщика, группы заказчиков или группы поставщиков:

Настройка скидок для конкретного клиента
Группы скидок по Группам товаров настраиваются на вкладке Группы товаров. Можно активировать срок действия данной скидки:

Настройка скидок по группе товаров
Группы скидок по свойствам товаров настраиваются на вкладке Свойства товара. Чтобы дополнительная скидка складывалась, необходимо установить значение Отношение скидки = Всего:

Настройка скидок по свойствам товаров
Группы скидок могут быть назначены по производителям (брендам) на вкладке Производитель:

Настройка скидок по производителям (брендам)
Для расчета скидки по определенным товарам выбираем данные товары на закладке
Товары:

Настройка скидок по товарам
4. Специальные предложения
SAP Business One позволяет установить цену для клиента или поставщика на отдельные товарные позиции в одном или нескольких прайс-листах:

Настройка специальных цен для определенного клиента
5. Нестандартный расчет цены
На одном из проектов компания ЦМД-софт получила требование от заказчика осуществить расчет скидки на уровне документа с применением этой скидки ко всем строкам, а не только к полю Итого.
Значение скидки к счету вводится в дополнительное поле документа Заказ на продажу. Скидка рассчитывается пропорционально стоимости позиции счета и добавляется к скидке в каждой строке документа. При обнулении поля общей скидки — значения скидок по строкам откатываются на начальные значения до редактирования документа.
Дополнительно, необходимо было реализовать динамический пересчет значений полей. На уровне Заказа на продажу при ручном изменении значения в одном из перечисленных полей осуществляется автоматический пересчет связанных значений остальных полей по строке:
- Цена за единицу (указывается без НДС, по умолчанию берется из прайс-листа)
- Скидка % (значение не может быть больше 100%)
- Цена вкл. налог (рассчитывается с учетом Скидки плюс НДС),
- Всего (НВ) (по умолчанию является результатом умножения значений полей Цена вкл. налог и Количество)

Каскадный пересчет значений связанных полей при изменении значения в одном из полей
Для реализации нестандартных сценариев расчета цены могут быть использованы различные инструменты, встроенные в SAP Business One. Гибкость решения и независимость ядра позволяет без написания кода (программирования) добавлять пользовательские объекты в системные документы.
Создание пользовательского поля
С помощью инструмента Пользовательские поля можно добавить новое поле и привязать его к документам, основным данным и другим системным объектам (как на уровне заголовка, так и на уровне строк). Пользовательские поля могут быть различного типа: алфавитно-цифровой, цифровой, дата или время, единицы измерения и расчета. В соответствии с выбранным типом поля изменяется внешний вид отображения данных. Значения этих полей могут быть связаны с сущностями (системная или пользовательская таблица), включать в себя ограниченный набор данных (введенных при определении поля) или соответствовать определенным критериям. Пользовательскому полю может быть присвоено стандартное значение и/или свойство обязательного ввода (пользователь не сможет сохранить документ, если данное поле не заполнено).
Добавляем пользовательское поле на уровне заголовка документа, в которое будем вводить размер дополнительной скидки:

Добавление пользовательского поля на уровне заголовка документа
Создание пользовательского запроса
Для формирования алгоритма расчета используем инструменты в разделе Запросы. С помощью этих инструментов можно построить, изменить и управлять SQL запросами. Для «неискушенных» имеется Ассистент запросов – мастер, помогающий пошагово создать свой SQL запрос.
В SAP Business One возможно вычисление на уровне открытого документа, когда значение еще не внесено в системную или пользовательскую таблицу (документ не сохранен). Для этого используется синтаксис вида $[$X.Y.Z], где X — системный номер или название поля, а Y и Z дополнительные условия.
В запросе для определения пользовательского значения (в нашем случае – нестандартный расчет цены) указываем динамический синтаксис по считыванию элементов открытой формы:

Добавление пользовательского SQL запроса
Создание пользовательских значений
После того, как сформированы пользовательское поле для внесения информации по дополнительной скидке и запрос на вычисление нестандартной цены, необходимо связать два этих элемента в документе.
Активируем отображение пользовательских полей на уровне заголовков (на уровне строк они активируются автоматически). По умолчанию, пользовательские поля отображаются в окне справа от формы. Пользователи с соответствующим уровнем полномочий могут активировать режим редактирования формы и перетащить элемент из бокового окна на интересующее нас место в заголовке документа. Открываем необходимый документ Заказ на продажу и переносим пользовательское поле Дополнительная скидка в заголовок документа.
Ставим курсор мыши в поле Всего (НВ) – созданный запрос будет выполняться в этом поле. Добавим пользовательское значение на основе запроса.
Выбираем созданный запрос. Устанавливаем настройку автоматического расчета значения при изменении созданного пользовательского поля. Выбираем настройку Просмотр сохраненных пользовательских значений. Сохраняем результаты:

Присвоение пользовательского запроса полю
Результат
Открываем маркетинговый документ Заказ на продажу. Находим требуемый документ или создаем новый. В пользовательское поле Дополнительная скидка вносим размер скидки, например, 50. С помощью созданного запроса и настройки определения пользовательского значения на основе запроса во всех строках документа обновилось поле Скидка, %, Всего (НВ) и общая стоимость заказа уменьшилась на 50%:

Автоматический расчет значений в связанных полях документа
Как вы смогли увидеть в этой статье, решение SAP Business One обладает разнообразным функционалом для реализации различных политик ценообразования компании, а также имеет возможность его доработки.
Ознакомиться с примерами внедрений SAP Business One можно на нашем сайте
Видео с обзорами возможностей и не только доступно на нашем канале в YouTube
Комментируйте, делитесь впечатлением, задавайте вопросы.
Всем спасибо за прочтение и обратную связь!
Предыдущие материалы о SAP Business One:
Возможности ERP-решения SAP Business One на платформе SAP HANA
Business One: ERP для малого бизнеса существует
Поделиться с друзьями