Ценообразование в ERP-системе 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. Нестандартный расчет цены

На одном из проектов компания ЦМД-софт получила требование от заказчика осуществить расчет скидки на уровне документа с применением этой скидки ко всем строкам, а не только к полю Итого.

Значение скидки к счету вводится в дополнительное поле документа Заказ на продажу. Скидка рассчитывается пропорционально стоимости позиции счета и добавляется к скидке в каждой строке документа. При обнулении поля общей скидки — значения скидок по строкам откатываются на начальные значения до редактирования документа.

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

  • Цена за единицу (указывается без НДС, по умолчанию берется из прайс-листа)
  • Скидка % (значение не может быть больше 100%)
  • Цена вкл. налог (рассчитывается с учетом Скидки плюс НДС),
  • Всего (НВ) (по умолчанию является результатом умножения значений полей Цена вкл. налог и Количество)


Каскадный пересчет значений связанных полей при изменении значения в одном из полей

Для реализации нестандартных сценариев расчета цены могут быть использованы различные инструменты, встроенные в SAP Business One. Гибкость решения и независимость ядра позволяет без написания кода (программирования) добавлять пользовательские объекты в системные документы.

Создание пользовательского поля

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

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


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

Создание пользовательского запроса

Для формирования алгоритма расчета используем инструменты в разделе Запросы. С помощью этих инструментов можно построить, изменить и управлять SQL запросами. Для «неискушенных» имеется Ассистент запросов – мастер, помогающий пошагово создать свой SQL запрос.

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

В запросе для определения пользовательского значения (в нашем случае – нестандартный расчет цены) указываем динамический синтаксис по считыванию элементов открытой формы:


Добавление пользовательского SQL запроса

Создание пользовательских значений

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

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

Ставим курсор мыши в поле Всего (НВ) – созданный запрос будет выполняться в этом поле. Добавим пользовательское значение на основе запроса.
Выбираем созданный запрос. Устанавливаем настройку автоматического расчета значения при изменении созданного пользовательского поля. Выбираем настройку Просмотр сохраненных пользовательских значений. Сохраняем результаты:

Присвоение пользовательского запроса полю

Результат

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


Автоматический расчет значений в связанных полях документа


Заключение

Как вы смогли увидеть в этой статье, платформа SAP Business One обладает разнообразным функционалом для реализации различных политик ценообразования компании, а также имеет возможность его доработки.


Также читайте:

20.07.21

«Полимер Системс» использует интеграцию SAP Business One с Контур Диадок от ЦМД-софт для организации ЭДО

15.07.21

Интервью: Наталья Черняк из WiseAdvice о SAP Business One

23.06.21

Специалисты ЦМД-софт соответствуют новым квалификационным требованиям для SAP Business One v10.0