Формулы в amoCRM: автоматические расчёты в сделках
Автоматизация25 декабря 2024 г.4 мин

Формулы в amoCRM: автоматические расчёты в сделках

Как настроить автоматический расчёт скидок, маржи, бонусов и других показателей в amoCRM с помощью виджета «Формулы». Примеры и синтаксис формул.

Содержание

  1. Что такое формулы в amoCRM
  2. Настройка формул
  3. Синтаксис формул
  4. Математические операции
  5. Условия в формулах
  6. Вложенные условия
  7. Работа с датами
  8. Дополнительные функции
  9. Практический пример: расчёт скидки

Что такое формулы в amoCRM

Формулы — это инструмент автоматических вычислений в карточке сделки. С их помощью можно рассчитывать скидки, маржу, сроки, бонусы менеджеров и любые другие показатели на основе данных из полей сделки, контакта или компании.

🧮Формулы рассчитываются автоматически при открытии сделки или изменении полей. Результат записывается в указанное поле.

Примеры использования формул:

  • Расчёт маржи — Цена продажи минус Себестоимость
  • Скидка в рублях — Цена без скидки умножить на Процент скидки
  • Стоимость доставки — Расстояние умножить на тариф за км
  • Бонус менеджера — Бюджет сделки умножить на процент бонуса
  • Срок оплаты — Дата договора плюс количество дней отсрочки

Настройка формул

Виджет «Формулы» устанавливается из маркетплейса amoCRM. После установки настройка происходит в разделе Настройки → Формулы.

Как добавить формулу:

  1. Перейдите в раздел Настройки → Формулы
  2. В поле «Поле» укажите название поля, куда записывать результат
  3. В поле «Формула» введите выражение для вычисления
  4. Нажмите Сохранить

⚠️Важно: Названия полей в формулах должны точно совпадать с названиями в amoCRM, включая регистр букв. Поля для вычислений должны иметь отключённое «Заполнение по API».

Синтаксис формул

Формула состоит из ключевых слов (сущностей) и названий полей. Основные сущности:

  • lead — данные сделки
  • contact — данные контакта
  • company — данные компании

Примеры обращения к полям:

lead['Цена товара']           // поле сделки
contact['Телефон']            // поле контакта
company['ИНН']                // поле компании
lead['Бюджет']                // бюджет сделки

Системные поля сделки:

  • lead['ID'] — ID сделки
  • lead['Название'] — название сделки
  • lead['Бюджет'] — бюджет
  • lead['status_id'] — ID статуса
  • lead['pipeline_name'] — название воронки
  • lead['Ответственный'] — ФИО ответственного

Математические операции

Доступные операции:

  • + (сложение) — lead['Цена'] + lead['Доставка']
  • - (вычитание) — lead['Цена'] - lead['Себестоимость']
  • * (умножение) — lead['Количество'] * lead['Цена за единицу']
  • / (деление) — lead['Сумма'] / lead['Количество']

Пример: расчёт маржи

lead['Цена продажи'] - lead['Себестоимость']

Пример: расчёт скидки 10%

lead['Цена'] * 0.1

📐Формулы не ограничены двумя переменными — можно использовать любое количество полей и скобки для группировки операций.

Условия в формулах

Формулы поддерживают условные выражения (тернарный оператор), которые позволяют возвращать разные значения в зависимости от условий.

Синтаксис:

условие ? значение_если_да : значение_если_нет

Примеры:

// Если статус = 'успех', записать 'да', иначе 'нет'
lead['Статус'] == 'успех' ? 'да' : 'нет'

// Расчёт стоимости доставки по расстоянию
lead['Расстояние'] <= 10 ? '300' : '500'

Операторы сравнения:

  • == — равно
  • !== — не равно
  • > — больше
  • < — меньше
  • >= — больше или равно
  • <= — меньше или равно

Вложенные условия

Для сложных сценариев можно использовать вложенные условия — когда внутри одного условия проверяется ещё одно.

Пример: тарифы доставки по расстоянию

lead['Расстояние'] <= 10 ? '300' : (lead['Расстояние'] <= 30 ? '1000' : '2000')

Логика:

  • До 10 км → 300 руб.
  • От 11 до 30 км → 1000 руб.
  • Более 30 км → 2000 руб.

💡Не злоупотребляйте вложенностью — слишком сложные формулы трудно поддерживать. Для сложных расчётов лучше разбить на несколько формул.

Работа с датами

Формулы позволяют работать с датами: вычислять разницу, прибавлять дни, получать текущую дату.

Полезные функции:

// Разница между датами в днях
(dateToTime(lead['Дата окончания']) - dateToTime(lead['Дата начала'])) / 3600 / 24

// Прибавить 7 дней к дате
datePlusSeconds(lead['Дата договора'], 3600 * 24 * 7)

// Обновить дату на +1 месяц
updateDate(lead['Дата'], 1, 'M')

// Текущая дата
new Date(Date.now()).toISOString().split('T')[0]

Модификаторы для updateDate:

  • d — дни
  • M — месяцы
  • y — года

Дополнительные функции

Преобразование типов:

// Текст в число
chislo(lead['Текстовое поле'])
parseInt(lead['Поле'])

// Число в текст
text(lead['Числовое поле'])

Число прописью:

numToRuWords(lead['Сумма'])
// 12500 → 'двенадцать тысяч пятьсот'

Склонение ФИО:

namePad(contact['ФИО'], 'родительный')
// Иванов Иван Иванович → Иванова Ивана Ивановича

Округление:

(lead['Сумма'] / lead['Количество']).toFixed(2)
// Результат с двумя знаками после запятой

Практический пример: расчёт скидки

Рассмотрим реальный сценарий: автоматический расчёт цены со скидкой в зависимости от суммы заказа.

Условия:

  • Заказ до 10 000 руб. — без скидки
  • Заказ от 10 000 до 50 000 руб. — скидка 5%
  • Заказ от 50 000 руб. — скидка 10%

Формула:

lead['Сумма заказа'] < 10000 ? lead['Сумма заказа'] : (lead['Сумма заказа'] < 50000 ? lead['Сумма заказа'] * 0.95 : lead['Сумма заказа'] * 0.9)

Результат записывается в поле «Цена со скидкой» автоматически при изменении поля «Сумма заказа». Менеджеру не нужно ничего считать вручную.

Теги:

#формулы #расчёты #автоматизация #виджеты #amoCRM

Другие статьи

Автоматизация6 мин

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

Как автоматизировать рутинные задачи в CRM с помощью триггеров, Salesbot и виджетов. Примеры автоматизации и лучшие практики для отдела продаж.

Автоматизация5 мин

Распределение сделок между менеджерами в amoCRM

Как настроить автоматическое распределение заявок между менеджерами с учётом графика работы, загруженности и приоритетов. Виджет «Распределение сделок».