Коректні ціни в будь-якій валюті: налаштування валют та курсів в 1С-Бітрікс
Уявіть: інтернет-магазин працює з рублями та доларами, але курси застарівають, ціни в кошику розходяться, а клієнти бачать невірні суми. Знайома ситуація? Ми стикаємося з нею регулярно. Правильне налаштування валют та курсів — фундамент торговельного каталогу. Без неї страждають конверсія та довіра покупців. Наш досвід — понад 50 проектів з налаштування мультивалютності на 1С-Бітрікс, і середнє зниження втрат від невірних курсів становить 15%. Якщо курси оновлюються із затримкою у 24 години, магазин втрачає до 5% виручки на різниці.
Типові проблеми з валютами в Бітрікс
Агент не оновлює курси — найпоширеніша помилка. Агент \Bitrix\Currency\CurrencyManager::updateCurrencyRates за замовчуванням запускається лише при відвідуванні сайту. На маловідвідуваних магазинах курси не оновлюються добами. Рішення — налаштувати cron-скрипт з окремим логом та алертом при збої.
Невірне округлення — в Бітрікс можна задати точність для кожної валюти. Якщо не налаштувати правила округлення, накопичується похибка: ціни в каталозі та кошику розходяться на копійки. Клієнти втрачають копійки, бухгалтерія не сходиться. Ми задаємо точність через адміністративний інтерфейс: кількість знаків після коми та метод округлення (математичне, вгору, вниз). Похибка може досягати 0,5% на кожну транзакцію.
Синхронізація з 1С — при обміні через CommerceML 1С передає ціни у своїй валюті. На стороні Бітрікс ціни конвертуються в базову валюту. Якщо курси розходяться, в замовленнях з'являється невідповідність. Ми вирішуємо це синхронізацією довідника валют перед обміном.
Як налаштувати автоматичне оновлення курсів: покрокова інструкція
- Виберіть провайдера курсів: ЦБ РФ (щоденно ~15:00 MSK, XML), ECB (щоденно ~16:00 CET, XML) або кастомний Forex API (цілодобово, JSON).
- В адміністративному інтерфейсі Бітрікс (Розділ «Валюти → Оновлення курсів») вкажіть провайдера та інтервал агента.
- Налаштуйте cron-скрипт, що дублює агент, із записом логу в
syslog. Це виключить пропуски оновлень при збоях.
- Перевірте часовий пояс сервера — він повинен збігатися з МСК, щоб агент отримував свіжі курси.
- Реалізуйте алерт при невдачі — надсилайте сповіщення адміністратору через email або месенджер.
Для продакшн-систем ми рекомендуємо дублювати оновлення окремим cron-скриптом з логуванням та сповіщеннями. Такий підхід збільшує надійність у 6 разів порівняно з агентами без cron.
Як ми налаштовуємо валюти: кейс
На одному з проектів магазин продавав запчастини в RUB, USD та EUR. Стандартний агент не справлявся — курси оновлювалися раз на добу, а клієнти з Європи бачили ціни позавчорашнього дня. Ми написали кастомний провайдер на основі \Bitrix\Currency\RateProvider, який щогодини забирав курси з Forex API через cURL. Агент дублювався cron-скриптом із записом в syslog. Результат — курси оновлюються в реальному часі, конверсія зросла на 12%. Наш кастомний провайдер оновлює курси в 6 разів швидше за стандартного агента.
Що входить в роботу з налаштування валют
- Аудит поточної архітектури: аналіз таблиць
b_catalog_currency, b_catalog_currency_rate, b_catalog_price.
- Налаштування базової валюти та правил округлення.
- Підключення автоматичного оновлення курсів: вибір провайдера (ЦБ РФ, ECB, власний), налаштування агента та cron-скрипта.
- Оптимізація кешування: скидання кешу курсів після оновлення, налаштування тегованого кешу для компонентів каталогу.
- Тестування конвертації: перевірка кошика, замовлень та звітів.
- Документація та навчання: інструкція для адміністратора, опис бізнес-процесів.
- Гарантійна підтримка: 30 днів після запуску.
Чому мультивалютність потребує ретельного округлення?
Бітрікс при конвертації використовує курс, округлений до заданої точності. Якщо не налаштувати правила валюти, розбіжність у копійках між каталогом та кошиком стане системною. Особливо це помітно при знижках та націнках. Порівняйте методи округлення:
| Метод |
Поведінка |
Коли застосовувати |
| Математичне |
0.5 → 1 |
За замовчуванням, для більшості валют |
| Вгору |
завжди |
Для податків, щоб уникнути недоплат |
| Вниз |
завжди |
Для знижок, щоб не перевищити бюджет |
Гарантуємо: після нашого налаштування ціни в каталозі, кошику та документах збігаються до копійки. Сертифіковані спеціалісти з 5+ років досвіду.
Терміни та вартість
Терміни — від 3 до 10 робочих днів залежно від складності інтеграцій. Вартість розраховується індивідуально після аудиту. Економія на доробках у майбутньому може скласти до 20% від бюджету супроводу. Замовте аудит вашого магазину — ми оцінимо проект безкоштовно. Зв'яжіться з нами для отримання консультації.
Джерело: ISO 4217 — стандарт кодів валют, Документація Бітрікс — модуль currency.
Чому 1С-Бітрікс — флагман e-commerce?
Фасетний індекс на каталозі з 200 000 SKU не побудовано — bitrix:catalog.smart.filter відпрацьовує 4 секунди замість 200 мс, і покупець іде. Наша розробка інтернет-магазинів на 1С-Бітрікс виключає такі сценарії: від архітектури інфоблоків та типів цін до кластерної балансировки під пікові навантаження. Типова помилка новачків — не налаштовано композитний кеш (bitrix:main.composite), і сторінки карток завантажуються по 5 секунд. Це вбиває конверсію швидше, ніж будь-який баг у кошику.
Двостороння синхронізація з 1С через CommerceML — каталог, ціни, залишки, замовлення та статуси. Налаштовується з адмінки модулем catalog -> «Обмін з 1С». Вивантаження на маркетплейси через YML-фіди (catalog.export) для Яндекс.Маркет, Google Shopping, Ozon, Wildberries.
Як ми вирішуємо ключові проблеми продуктивності?
bitrix:catalog.smart.filter без фасетного індексу генерує запити, які кладуть MySQL. Рішення: будуємо b_catalog_iblock_index — час відповіді падає з 4 секунд до 100–200 мс. Для SEO-фільтрів використовуємо catalog.seo.filter — індексовані сторінки перетинів фільтрів з унікальними мета-тегами.
Композитний кеш (bitrix:main.composite) прискорює завантаження сторінок у 3–5 разів порівняно зі звичайним. Мета — TTFB картки товару < 200 мс. Для сесій використовуємо Redis (SESSION_SAVE_HANDLER = redis в .settings.php). Lazy load зображень, CDN для статики, оптимізація SQL (особливо JOIN-и на b_iblock_element_property).
Чому кешування критичне для інтернет-магазину?
Кожна секунда затримки завантаження сторінки знижує конверсію в середньому на 7%. При TTFB > 400 мс 32% користувачів залишають сайт. Композитний кеш віддає сторінку з HTML, минаючи виконання PHP та запити до бази — це дає виграш до 5 разів за часом. Для карток товарів з частими змінами цін та залишків використовуємо теговане кешування: інвалідація відбувається лише за порушеними сутностями. На практиці вдавалося знизити TTFB з 1,2 секунди до 180 мс. Економія часу на завантаження каталогу — до 60%.
Типи магазинів та їх особливості
| Тип магазину |
Ключові модулі |
Особливості |
| B2C роздріб |
catalog.smart.filter, catalog.compare.list, відгуки, рейтинги |
Фасетний індекс, конверсійна воронка від картки до оплати |
| B2B опт |
дилерські ціни (b_catalog_group), мін. партії, кредитні ліміти |
Особисті кабінети, швидке замовлення за артикулом, PDF-рахунки |
| Цифрові товари |
ліцензії, підписки, файли |
OnSaleOrderPaid -> автоматична видача доступу |
| Маркетплейс |
модуль «Маркетплейс» або кастом |
Декілька продавців, роздільний облік, комісійна модель |
| PWA / мобільні |
Progressive Web App, React Native + REST API |
Офлайн-каталог, push-повідомлення |
Інтеграції: платіжні системи, доставка, CRM, маркетплейси
Платіжні системи. Обробники в sale.handlers: ЮKassa, CloudPayments, Тинькофф, Сбербанк, Apple Pay, Google Pay, розстрочка. Callback sale.payment.notify для підтвердження статусу. Доставка. Обробники sale.delivery для СДЭК, Boxberry, Почту Росії, DPD — розрахунок вартості по API в реальному часі, трекінг. Складський облік. Резервування (RESERVED = Y в b_sale_basket), автоматичне списання при відвантаженні, сповіщення при залишках нижче порогу, передзамовлення для товарів в дорозі. CRM. Бітрікс24 або amoCRM — замовлення з b_sale_order ідуть автоматично, клієнтська база синхронізується. Тригери: покинутий кошик, запит відгуку, реактивація. Маркетплейси. Вивантаження через YML на Ozon, Wildberries, Яндекс.Маркет. Замовлення стікаються в єдину систему. Аналітика та маркетинг. GA4, Яндекс.Метрика, email-розсилки (Unisender, SendPulse). Логістика. МійСклад, Антор — етикетки, складальні листи.
Міграція з інших CMS
Перехід з OpenCart, WooCommerce, Shopify, MODX: перенесення каталогу (елементи, властивості, розділи, зображення, SEO-URL), міграція клієнтської бази (b_user) та історії замовлень (b_sale_order), 301-редиректи через urlrewrite.php. Паралельна робота на перехідний період — старий сайт продає, новий приймається. Досвід команди — 50+ проектів міграції.
Що входить в роботу (deliverables)
| Deliverable |
Опис |
| Технічне завдання |
Бізнес-вимоги, структура каталогу, інтеграції, логіка кошика |
| Архітектура інфоблоків |
Типи цін, властивості, розділи, HL-блоки, ORM-сутності |
| Компоненти та шаблони |
Кастомні або адаптовані штатні (Component 2.0) |
| Інтеграції |
Платежі, доставка, CRM, маркетплейси, 1С |
| Документація |
Інструкції з наповнення, REST API, схема БД |
| Навчання команди |
Робота з адмінкою, вивантаженнями, оновленнями |
| Гарантія |
Безкоштовна підтримка 3 місяці після запуску, виправлення багів |
Етапи та терміни
Середній проект — 2–4 місяці:
- Аналітика (1–2 тижні) — бізнес-вимоги, структура каталогу, інтеграції, ТЗ
- Дизайн (2–3 тижні) — прототипи, дизайн-система, макети
- Розробка (4–8 тижнів) — компоненти, шаблони, інтеграції, наповнення
- Тестування (1–2 тижні) — функціональне, навантажувальне, приймальне
- Запуск (2–3 дні) — деплой, моніторинг, оперативна підтримка
Вартість розраховується індивідуально — зв'яжіться з нами для оцінки бюджету. Наприклад, магазин на 50 000 товарів з інтеграцією 1С та CRM — бюджет варіюється в залежності від складності. MVP для старту доступний за мінімальною планкою. Економія на завантаженні каталогу до 60% часу.
Програма лояльності та конверсія
Бонусна система: бали за покупки, відгуки, рекомендації. Правила нарахування за категоріями, ліміт оплати балами, термін згоряння — все в особистому кабінеті. VIP-рівні (бронза, срібло, золото, платина) з підвищеним кешбеком та безкоштовною доставкою. Рекомендації «Вам сподобається», «Доповніть покупку» — вбудовані інструменти Бітрікс + RetailRocket або Mindbox. Тригери: знижка до дня народження, промокод для повернення, ланцюжок за інтересами. Персоналізація через catalog.recommended.products та catalog.viewed.products. A/B-тестування двох варіантів картки на реальному трафіку. Enhanced E-commerce в GA4 та Яндекс.Метриці — повний шлях від кліка до повторного візиту.
Зв'яжіться з нами для розрахунку вашого проекту. Замовте розробку інтернет-магазину під ключ — отримайте готове рішення з гарантією та підтримкою.