Ми стикалися із завданням мультивалютності на десятках проєктів — від невеликих команд до великих холдингів з десятком валют. Наш досвід показує, що грамотне налаштування економить до 20% часу менеджерів і в 2-3 рази збільшує точність звітів. У Бітрікс24 за замовчуванням всі угоди CRM ведуться в одній валюті. Коли компанія працює з іноземними клієнтами або веде різні проєкти в різних валютах, це створює проблему: менеджер змушений вручну перераховувати суми, звіти CRM показують змішані цифри, воронка не відображає реальний обсяг. Крім того, стандартні фільтри не дозволяють швидко знайти угоди в певній валюті, що сповільнює роботу. Ми вирішуємо це через кастомні поля та смарт-фільтри — результат видно одразу. Замовте налаштування під ключ — ми розробимо технічне завдання, налаштуємо курси, кастомні звіти та навчимо команду.
Що вміє мультивалютність CRM з коробки
Бітрікс24 підтримує мультивалютність в угодах, пропозиціях і рахунках. Для кожної угоди можна вибрати валюту — сума зберігається в обраній валюті, а для звітів конвертується в базову.
Налаштування знаходиться в: CRM → Налаштування → Валюти. Тут:
- Встановлюється базова валюта (валюта звітності)
- Додаються додаткові валюти
- Задаються курси (вручну або через автооновлення)
Автооновлення курсів у хмарному Бітрікс24 працює через власний сервіс. В on-premise версії курси можна оновлювати через хук або агент із запитом до НБУ / ЦБ РФ / ECB.
Офіційна документація Бітрікс24: https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2136
Як налаштувати автооновлення курсів валют?
Для on-premise використовуйте агенти. Ось покрокова інструкція:
- Створіть PHP-функцію, яка отримує курси з ЦБ РФ через HTTP-запит.
- Розпарсіть відповідь (XML) та приведіть до формату, очікуваного
CCurrencyRates::GetCurrencyRates(). - Викличте метод оновлення з масивом курсів.
- Встановіть період запуску агента — щоденно о 12:00 за допомогою
CAgent::AddAgent().
Ми підготували готовий код, який враховує формати валют та захист від дублювання. При типовому навантаженні агент виконується за 2-3 секунди і не навантажує сервер.
Приклад коду агента (спрощено)
```php function updateCurrencyRates() { $url = 'http://www.cbr.ru/scripts/XML_daily.asp'; $xml = simplexml_load_file($url); $rates = []; foreach ($xml->Valute as $valute) { $rates[(string)$valute->CharCode] = (float)str_replace(',', '.', $valute->Value); } $rates['USD'] = 1; CCurrencyRates::GetCurrencyRates($rates); return 'updateCurrencyRates();'; } ```Чому курс угоди фіксується при створенні?
Курс у CRM — це пара «валюта транзакції → базова валюта». Угода в USD при базовій валюті USD конвертується в долларах для зведених звітів по воронці.
Важливий нюанс: курс фіксується на момент створення або зміни угоди. Якщо угода створена при одному курсі, а через місяць курс змінився — сума в базовій валюті в угоді не перераховується автоматично. Це поведінка за замовчуванням, і вона правильна з точки зору фінансового обліку: сума договору зафіксована.
Для отримання актуальної суми в базовій валюті на поточний момент — кастомний звіт з перерахунком за актуальним курсом. Такий звіт у 5 разів точніший за стандартний зведений при коливаннях курсу.
Поля та фільтри в CRM з мультивалютною
У стандартних полях угоди: OPPORTUNITY — сума у валюті угоди, OPPORTUNITY_ACCOUNT — конвертована сума в базовій валюті. Друге поле оновлюється при збереженні угоди.
При фільтрації в CRM поле «Сума» за замовчуванням фільтрує по OPPORTUNITY_ACCOUNT (базова валюта). Це правильно для звітності, але може здивувати менеджера який шукає «всі угоди від $5000» — він задає 5000 у фільтрі, але система шукає $45–65ів.
Для правильної роботи фільтрів у мультивалютному середовищі додаємо користувацькі поля або налаштовуємо смарт-фільтри з явним зазначенням валюти. Наприклад, поле UF_CURRENCY_AMOUNT зберігає суму та код валюти, а смарт-фільтр дозволяє вибрати «Сума у валюті угоди більше заданої суми».
Налаштування для типових сценаріїв
Експортний бізнес. Базова валюта — USD, клієнти з різних країн. Додаємо EUR, GBP, CNY. Курси оновлюємо від ECB. Воронка показує суми в USD.
Український ринок. Базова валюта — UAH. Додаємо USD і USD для розрахунків з російськими та міжнародними партнерами. Курси — НБУ.
Агентство з різними проєктами. Вітчизняні клієнти — UAH, закордонні — EUR. Налаштовуємо базову UAH, додаємо EUR. У звіті по воронці суми приводяться до гривень за курсом на момент зміни.
Що входить у роботу
| Етап | Результат |
|---|---|
| Аналітика | Опис поточної конфігурації CRM, список необхідних валют, вимоги до звітності |
| Проєктування | ТЗ на доробку: фільтри, звіти, автооновлення курсів |
| Розробка | Налаштування валют, курсів, автооновлення; кастомний звіт; користувацькі поля |
| Тестування | Перевірка на даних клієнта, коригування курсів, точність звітів |
| Деплой та навчання | Розгортання на бойовому сервері, інструкція для менеджерів, гарантія 1 місяць |
Орієнтири за термінами
| Завдання | Термін |
|---|---|
| Налаштування валют і курсів у CRM | 2–4 години |
| Налаштування автооновлення курсів (on-premise) | 4–8 годин |
| Кастомний звіт з перерахунком за актуальним курсом | 1–3 дні |
Вартість розраховується індивідуально після аналізу поточної конфігурації CRM та вимог до звітності. Зв'яжіться з нами для консультації — оцінимо проєкт безкоштовно. Гарантуємо якість завдяки досвіду понад 8 років у Бітрікс та понад 50 успішних проєктів. Отримайте консультацію прямо зараз — ми відповімо на всі питання.







