Налаштування мультивалютності та курсів у 1С-Бітрікс: досвід 50+ проєктів

Курс валют змінюється, а ціни на вітрині залишаються незмінними — і замовлення йдуть з помилкою. Ми налаштовуємо мультивалютність під ключ: пов'язуємо облікову систему із сайтом, автоматизуємо перерахунок цін і залишків. Розбіжності між складом і вітриною зникають, ручні правки прайсу скорочуються в рази.

Налаштування мультивалютності та курсів у 1С-Бітрікс: досвід 50+ проєктів

Розробка інтернет-магазинів на 1С-БітріксПростий~1 день
Часті запитання

Налаштування валют Битрикс: де ламається курс

Мультивалютність інтернет-магазину тримається не на галочці в налаштуваннях каталогу, а на узгодженості трьох сутностей: базової валюти ціни, валюти відображення та валюти розрахунку в рахунку. Між ними стоїть курс — зі своєю датою, напрямом і правилом округлення.

Варто ланцюжку розійтися, і вітрина показує одну суму, рахунок містить іншу, а розбіжність випливає вже в листуванні з клієнтом.

Найчастіший збій — подвійний перерахунок. Обмін цінами з 1С надходить у базовій валюті, модуль інтеграції застосовує курс і записує результат як ціну, а ядро під час виведення перераховує її ще раз — за курсом каталогу. Позиція непомітно дорожчає або дешевшає, причому по-різному для різних типів цін.

Другий клас — затримка курсу. Курс валют у каталозі оновлюється за розкладом, обмін цінами з 1С іде своїм вікном, а сторінка ще й живе в кеші.

Товар продається за курсом, якого вже немає: розрив між оновленням, застосуванням і скиданням кешу ніхто не контролює, тому розбіжність коливається від години до доби.

Третій — налаштування валют Битрикс за кількох типів цін: у кожного своє правило округлення та своя логіка автоперерахунку. Тоді розбіжність ціни вітрини та суми в рахунку стає системною — знижки рахуються від однієї бази, податки від іншої.

Розбираємо, як це закривається: від порядку перерахунку до стикування з обліковою системою.

Що дає коректний перерахунок цін і залишків

Поки курс не перераховано, вітрина й склад живуть за різними числами: покупець бачить одну суму, менеджер спирається на залишок за старою ціною, а в замовлення потрапляє третя.

На багатоскладських проєктах розбіжність накопичується — частина позицій іде в мінус за собівартістю, і маржа за замовленням стає відома лише після ручного звіряння.

Налаштований перерахунок цін за курсом працює регламентно: ціни прив'язані до типу й базової валюти, джерело курсу вибрано, правила округлення та поріг перерахунку задано.

Покупець отримує ціну у валюті покупця, а склад і собівартість рахуються в базовій — підсумкова маржа за кожним замовленням передбачувана.

Синхронізація складу та вітрини закриває другу половину задачі: залишок списується в момент оформлення, а не за нічним вивантаженням, тому не виникає продажів «в мінус» і скасувань через відсутній товар.

Резерв під замовлення утримується до оплати й знімається при відмові — вітрина показує реальну наявність.

На 1С-Битрикс це вирішується зв'язкою типів цін, агентів і обробників кошика, без ручних правок у картках.

Вимірний ефект: перерахунок каталогу займає хвилини замість годин, частка замовлень із ручним коригуванням ціни падає, а розбіжність між вітриною та складом скорочується до одиничних позицій.

Способи оновлення курсів: ручний, за розкладом, за подією

Курс валют у каталозі — це не одне поле, а зв'язка: значення курсу, базова валюта, прив'язка до неї цін і цінових правил.

Тому режим оновлення вибирають не за зручністю адмінки, а за двома питаннями: як часто змінюються ціни та наскільки критична затримка між новим курсом і перерахунком.

Окремо визначається джерело курсу валют — офіційний курс, курс банку або платіжного провайдера, чи файл, який вивантажує облікова система. Якщо джерело зовнішнє, одразу закладаємо поведінку за його недоступності, історію значень і порядок відкату помилково завантаженого курсу.

Порівняння режимів

Варіант Коли підходить Обмеження
Ручне оновлення курсу 2–5 валют, курс фіксується договором або змінюється рідко Тримається на людині: пропущене оновлення, немає історії, за частих правок — розбіжності між курсом і ціною
Автоматичний імпорт курсів за розкладом Основні валюти з публічним курсом, каталог від сотень позицій Запізнення до наступного запуску; при збої джерела ціни залишаються на старому курсі, потрібен контроль виконання завдання та повідомлення про помилку
Перерахунок за подією Ціна має бути точною в момент оформлення замовлення або збереження позиції Навантаження й повторні перерахунки, складніше налагоджувати; обов'язкові обмеження на обсяг і захист від рекурсії

На практиці режими комбінують: ручне введення залишають для рідкісних валют, автоматичний імпорт курсів за розкладом — для основних, а перерахунок за подією вмикають лише там, де ціна важлива на момент операції.

Така зв'язка не дає одному збою джерела переписати ціни по всьому каталогу, а розбіжність курсу й ціни ловиться точково.

Порядок впровадження мультивалютності на сайті

Мультивалютність — це не перемикач у налаштуваннях, а набір правил, за якими ціна потрапляє в каталог, кошик і рахунок.

Тому порядок робіт вибудовуємо так, щоб кожну зміну можна було відкотити: спочатку фіксуємо поточну схему цін, потім проєктуємо правила перерахунку і лише після цього торкаємося робочого сайту. Нижче — маршрут впровадження мультивалютності.

  1. Інвентаризація поточної схеми: які типи цін задіяні, яка валюта базова, де зберігаються ціни й знижки та хто ще їх читає — вивантаження, торгові майданчики, інтеграція з обліковою системою.

  2. Проєкт правил перерахунку: джерело та періодичність отримання курсу, напрям перерахунку, правила округлення цін — до якого знака, на чию користь і на яких діапазонах, поведінка за відсутності курсу.

  3. Налаштування валют і типів цін: заводимо валюти, прив'язуємо до типів цін, задаємо формати виведення, націнки й відображення з податком, щоб вітрина та документи показували те саме.

  4. Регламентне оновлення курсів: налаштовуємо автоматичне оновлення, журнал змін і сповіщення при виході курсу за очікуваний коридор — інакше помилка в даних випливе вже в оформлених замовленнях.

  5. Перевірка на тестовому контурі: розгортаємо копію каталогу й замовлень, звіряємо перераховані ціни за вибіркою позицій, проганяємо кошик, оформлення, рахунки та звіти, окремо — округлення на граничних значеннях.

  6. Переведення на робочий сайт і передача: вмикаємо у вікно низького навантаження, фіксуємо точку відкату, передаємо регламент оновлення курсів та опис правил округлення цін.

Налаштування, регламенти та документація щодо курсів

Налаштування живуть не самі по собі: курс змінюється, облікова система оновлює довідники, а ціни на сайті потрібно перерахувати так, щоб уже оформлені замовлення не змінилися.

Тому ми передаємо проєкт разом із набором артефактів — за ними будь-який інженер, який не брав участі у впровадженні, підніме й повторить логіку без листування та здогадів.

  • Картки валют — які валюти беруть участь у розрахунках, яка призначена базовою, точність округлення, формати відображення ціни в каталозі, кошику та листах.
  • Регламент оновлення курсів — джерело (ручне введення, зовнішній сервіс, обмін з обліковою системою), періодичність завантаження, поведінка за недоступності джерела та порядок відкату до останнього коректного курсу.
  • Правила перерахунку — у якій валюті фіксується ціна замовлення, на якому кроці фіксується курс, як перераховуються часткові оплати, повернення та заборгованості.
  • Схема обміну — які довідники та документи синхронізуються між сайтом і обліковою системою, у якому напрямку, з якою періодичністю та за якою ознакою визначається розбіжність.
  • Документація щодо обміну — карта відповідності валют, перелік параметрів інтеграції, опис обробників і точок, куди додавати нову валюту.
  • Ролі адміністратора — хто змінює курси, хто править округлення, кому доступний ручний перерахунок замовлень і повний журнал змін курсу.
  • Інструкція з перевірки — чек-ліст приймання: що звірити після зміни курсу, підключення нової валюти та оновлення модуля обміну.

Комплект залишається у замовника в репозиторії та внутрішній базі знань — з ним підтримка курсів стає штатним завданням чергового адміністратора, а не окремим зверненням до розробника.

Кейс: прибрали розбіжності цін між обліковою системою та вітриною

Магазин із двома вітринами та трьома валютами каталогу: ціни жили в обліковій системі, а на сайті перераховувалися під час вивантаження. Курс вводився вручну раз на добу, і якщо він змінювався ввечері п'ятниці, вітрина до понеділка торгувала за застарілим значенням.

Менеджери вирівнювали розбіжність уже в замовленні — цей ручний етап був найдорожчим місцем у потоці.

Як виглядало до

Штатний обмін привозив ціну в базовій валюті, а перерахунок у решту висів на окремому скрипті, який запускався за розкладом і не знав про правки в довіднику валют.

Округлення ніде не фіксувалося: на вітрині та в рахунку одна й та сама позиція давала різні значення, а в кошику — третє. Звіряння раз на тиждень стабільно знаходило розбіжності за кількома десятками позицій, і кожна розбиралася вручну.

Що перебудували

Ввели один базовий тип ціни та похідні від нього — з явним правилом округлення на кожному кроці. Довідник валют наповнили з облікової системи, курси підтягуються регламентним завданням, а не оператором.

1С-Битрикс у цьому контурі відповідає за розрахунок, тому прив'язку довелося перенести на подію зміни ціни та скидати кеш адресно, а не повністю — інакше вітрина віддавала б старе значення до планового оновлення.

Додали нічне звіряння вітрини з обліковою системою: розбіжності збираються у звіт і надходять відповідальному, а історія змін ціни зберігається окремо — будь-яку позицію можна повернути до попереднього значення без повторного вивантаження.

Метрики до та після

  • Частка замовлень із ручною правкою ціни: 18% → 0,6% (залишок — індивідуальні умови клієнтів).
  • Реакція на зміну курсу: до 2 діб → до 15 хвилин після публікації нового значення.
  • Розбіжності в тижневому звірянні: кілька десятків позицій → одиниці, усі з поясненням.
  • Відмова від повторного вивантаження каталогу заради ціни: один прогін замість трьох.

Схема вийшла передбачуваною: ціна в замовленні, рахунку та на вітрині рахується за одним правилом, а зміна курсу не потребує участі менеджера.

Чим ручне оновлення курсу відрізняється від автоматичного в Битрикс

Ручний режим — це записи в довіднику валют: для кожної валюти зберігаються курс і номінал, а менеджер править їх в адмінці. Поки валют одна-дві та курс переглядають раз на тиждень, схема тримається.

Ламається вона непомітно: значення оновили, але перерахунок цін іде окремим запуском — і до нього на вітрині висять старі суми, які покупець забирає в замовлення.

Автоматичне оновлення курсу прибирає саму операцію: значення надходить від джерела — Центробанку або облікової системи — за розкладом обміну й записується в ті самі поля довідника.

Розклад задається агентом: раз на добу до відкриття, раз на кілька годин або в момент появи нового вивантаження в обміні з 1С.

Тоді важливі вже не цифри, а налаштування навколо них: скільки знаків після коми зберігати, як округляти, що робити при розбіжності з минулим курсом вище заданого порогу.

Різниця видна на документах. Замовлення зберігає курс, зафіксований у момент оформлення, і заднім числом його не переписують; ручний режим легко пропускає момент фіксації — вихідний, свято, закрита адмінка.

Автоматика пише значення в журнал і залишає історію: за будь-якою датою видно, який курс діяв, а обмін можна переграти без ручної правки замовлень.

Обмеження в автоматики теж конкретні: потрібен налагоджений обмін і обробник помилок. Якщо джерело недоступне, має залишитися минулий курс і з'явитися повідомлення відповідального, а не порожнє чи нульове значення, через яке каталог піде в перерахунок за нулем.

Тому в налаштуванні валют Битрикс ручний режим зазвичай залишають як аварійний — з обов'язковим записом у журнал і сповіщенням.

Часті питання щодо курсів, округлення та розрахунків із покупцем

Курс валюти в 1С-Битрикс — це не одне значення: курс на дату, курс, зафіксований у замовленні, і курс перерахунку каталогу. Розбіжність рахунку й каталогу майже завжди пояснюється тим, що замовлення зберігає курс на момент оформлення, а картка товару показує ціну за поточним. Завдання не «підтягнути» одне до одного, а визначити, яке джерело істини для кожної операції.

Окрема розвилка — округлення цін. Правила задаються на рівні валюти або типу ціни: до якого знака, у який бік і в який момент — до перерахунку чи після.

Якщо округляти до перерахунку, похибка в кошику з десятків позицій дає помітну різницю з підсумком у рахунку, тому порядок операцій фіксується явно.

Замовлення оформлено за старим курсом — що з ним робити?

Замовлення зберігає курс на момент оформлення — це очікувана поведінка, а не помилка. Перераховуємо лише за явним правилом: наприклад, у момент оплати або відвантаження за курсом на дату платежу. Правило задається в конфігурації, щоб менеджер не правив суми вручну.

Як рахувати знижки та націнки, якщо ціни в різних валютах?

Знижка рахується у валюті замовлення, інакше її відсоток у каталозі та в рахунку розійдеться. Порядок один для всіх правил: спочатку перерахунок за курсом, потім округлення. Націнки успадковують ту саму логіку.

Чому рахунок розходиться з каталогом?

Типових причин три: історичний курс у замовленні проти поточного в каталозі, різний порядок округлення, кеш цін каталогу. Діагностика займає хвилини — звіряємо курс у замовленні, курс валюти в налаштуваннях і підсумок після округлення.

Обговоримо схему ціноутворення на вашому проєкті

Щоб оцінка спиралася на реальну схему ціноутворення, а не на типовий пресет, нам потрібен зріз поточної конфігурації та кілька відповідей щодо бізнес-логіки. Від них залежить, чи торкаємося ми модуля каталогу, механізму знижок, правил округлення чи обміну з 1С.

  • Доступи до адмінки — обліковий запис із правами на модуль каталогу та розділ валют, плюс доступ до тестового стенду, якщо він є: правки курсів і форматів цін перевіряємо не на робочому сайті.
  • Перелік валют — які валюти реально беруть участь у продажах, яка вважається базовою для зберігання цін, а які лише відображаються покупцю.
  • Постачальник курсів — Центробанк, комерційний банк, біржа, власне джерело чи ручне введення: від цього залежить розклад автооновлення та обробка збоїв.
  • Аудит мультивалютності — де зараз перераховуються ціни: у каталозі, в кошику, у замовленнях, у вивантаженнях та інтеграціях. Розбіжність в одній точці ламає підсумкову суму.
  • Правила округлення та форматування — крок округлення, напрям, розділювачі, положення символа валюти в шаблоні ціни.
  • Сценарії для груп покупців — роздріб, опт, регіони, партнери: у кожної групи може бути своя валюта розрахунку та свій набір правил.
  • Суміжні контури — обмін з 1С, платіжні системи, маркетплейси та фіди: важливо заздалегідь знати, хто ще читає ціни з каталогу.
  • Що вже пробували — минулі спроби налаштування, відомі помилки та місця, які не можна чіпати.

Якщо частину даних не зібрано — не критично, нестачу уточнимо в листуванні. Опишіть завдання та надішліть те, що є під рукою: повернемося з оцінкою, етапами робіт і планом перевірки на стенді.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060
  • Розробка віджета онлайн-запису для медичного центру
    Розробка віджета онлайн-запису для медичного центру
    837
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    928
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    865
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1223