Обсудить проект

QQDEV · АСТАНА · КАЗАХСТАН

Сумма совпала, деньги — нет: проверяем валюту при обмене между системами

Почему передавать одно число недостаточно: код валюты, исходная сумма, пересчёт, округление и проверка отчёта.

Опубликовано

3 мин8

Условный пример: одна программа передала сумму заказа, другая сохранила число без валюты и подставила свою основную. Поле заполнено, обмен показывает успех. Ошибка обнаруживается, когда руководитель открывает отчёт и невольно становится валютным детективом.

Для интеграции сумма — не просто число. Вместе с ней передают смысл: валюту, вид суммы и правило пересчёта. Это полезно проверить и при обмене с Битрикс24, и когда компания сохраняет другую CRM — систему управления отношениями с клиентами.

Сначала определите, какую сумму передаёте

Стоимость до скидки, итог заказа, оплаченная часть и остаток могут выглядеть одинаково в коротком названии поля «Сумма». Запишите, какое значение является исходным и кто его меняет.

Валюта должна передаваться явным согласованным кодом. Значок на экране удобен человеку, но для обмена нужен устойчивый справочник. Не связывайте валюту с языком интерфейса, страной клиента или адресом сайта: это разные признаки.

Для компании в Казахстане отдельно проверьте код KZT для тенге, если используете местную валюту. Иностранные договоры могут требовать другой валюты; региональная настройка не должна её молча заменять.

Не теряйте исходное значение при пересчёте

Если одной системе нужна сумма в базовой валюте, согласуйте источник курса, дату применения, направление пересчёта и ответственного за обновление. Сохраните возможность понять, из чего получен результат.

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

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

Согласуйте точность и округление

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

Определите, где округляется сумма: по строкам товаров или после сложения. Если системы считают по-разному, возможное расхождение нужно объяснить правилом, а не постоянно исправлять вручную.

В настройках курса Битрикс24 есть ограничения точности, описанные в той же инструкции; при необходимости используется количество единиц валюты. Эти параметры нельзя подменять предположением «везде один к одному». Не меняйте базовую валюту на действующем портале ради эксперимента без проверки последствий.

Испытайте обмен на учебном наборе

Подготовьте обычный заказ, заказ с дробной частью и запись в другой валюте. Для каждого сравните исходную сумму, код валюты, сохранённое значение и отображение в отчёте.

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

Проверьте и обратное направление, если оно есть. Обмен туда и обратно не должен постепенно менять сумму из-за повторных пересчётов и округлений.

Что принести на разбор

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

На странице разработки REST API QQDev можно обсудить проверку такого обмена. Начните с одной спорной записи и ожидаемого результата — это даст больше пользы, чем просьба «сделайте, чтобы суммы сходились» без определения самих сумм.

← Все записи блога