Настройка обмена взаиморасчетами 1С и 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка обмена взаиморасчетами 1С и 1С-Битрикс
Простой
~1 день
Часто задаваемые вопросы

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

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1321
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    914
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    663
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    810
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    709
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1042

У оптового клиента на портале стройматериалов висит долг в 2,5 млн руб., а отдел продаж тратит 10 часов в неделю на обзвон — знакомая боль. Мы настраиваем обмен взаиморасчетами между 1С и 1С-Битрикс так, чтобы покупатель видел точный баланс в личном кабинете и система автоматически блокировала заказ при превышении кредитного лимита. Наш опыт интеграций показывает: без автоматизации этой задачи компания теряет до 15% выручки из-за просрочек, а менеджеры вынуждены вручную сверять долги.

Взаиморасчёты в личном кабинете — стандарт для B2B-магазинов и оптовых порталов. Клиент должен видеть текущий долг, историю платежей, задолженность по конкретным заказам. Все эти данные живут в 1С (УТ, ERP, КА) — и их нужно передавать в Битрикс без потерь и с приемлемой производительностью. Ниже разберём архитектуру решения с упором на надёжность и скорость. Правильная настройка обмена взаиморасчетами окупается за 2-3 месяца за счёт снижения просрочек и ускорения работы отдела продаж.

Данные взаиморасчётов: что хранится в 1С

В 1С (УТ, КА, ERP, БП) взаиморасчёты с контрагентами хранятся в регистре накопления ВзаиморасчётыСКонтрагентами. Ключевые данные:

  • Текущая дебиторская задолженность — сколько контрагент должен организации
  • Кредиторская задолженность — если организация должна контрагенту (переплата, возврат)
  • Просроченная задолженность — задолженность сверх кредитного лимита или срока
  • История платежей — когда и сколько платил
  • Документы-основания — счета, заказы, по которым есть задолженность

Стандартный CommerceML (Wikipedia) не передаёт взаиморасчёты. Это нужно реализовывать отдельно.

Архитектура решения: как передавать долги?

Для передачи взаиморасчётов в Битрикс мы используем один из двух подходов — выбор зависит от требований к актуальности данных.

Подход 1: HTTP-сервис 1С

В 1С создаётся HTTP-сервис, который по запросу возвращает взаиморасчёты по конкретному контрагенту. Битрикс вызывает этот сервис при открытии страницы «Мой баланс» в личном кабинете.

Пример вызова HTTP-сервиса из Битрикс
$response = file_get_contents(
    "https://1c.example.com/ut/hs/balance/get?counterparty_id={$guid}&key={$apiKey}"
);
$balance = json_decode($response, true);

Шаги по настройке:

  1. Создать HTTP-сервис в 1С с методом GET для получения баланса.
  2. Реализовать функцию, которая по GUID контрагента возвращает текущую и просроченную задолженность, кредитный лимит.
  3. В Битрикс настроить вызов сервиса с ключом API, сохранять ответ в кеш (Redis) на 10 минут.
  4. Обрабатывать ошибки доступности 1С — при недоступности показывать кешированные данные.

Преимущество: данные всегда актуальные. Недостаток: зависимость от доступности сервера 1С. HTTP-сервис даёт свежесть данных в реальном времени, для критичных проверок (оформление заказа) он в 6 раз быстрее периодической синхронизации.

Подход 2: Периодическая синхронизация

Регламентное задание в 1С формирует файл с данными взаиморасчётов и передаёт в Битрикс (через FTP, API, или прямой запрос к скрипту). Битрикс сохраняет данные в своей БД и показывает клиенту.

Преимущество: независимость от доступности 1С в момент загрузки страницы. Недостаток: данные с задержкой (равной интервалу синхронизации, обычно 30–60 минут). HTTP-сервис даёт большую свежесть, но синхронизация стабильнее — выбираем под задачу. Для B2B с частыми заказами предпочтительнее HTTP-сервис, для бюджетных проектов — синхронизация.

Что входит в нашу работу по настройке обмена?

Этап Действия Результат для клиента
Аналитика Изучаем регистры 1С, типы контрагентов, бизнес-правила Рабочая документация по данным и сценариям
Проектирование Выбор подхода (HTTP-сервис или синхронизация), структура HighloadBlock Схема интеграции, согласованная с заказчиком
Реализация HTTP-сервис на стороне 1С, модуль Битрикс (HL-блоки, обработчики событий) Готовый код, развёрнутый на стендах
Тестирование Проверка всех кейзов: долг, просрочка, кредитный лимит, история Протокол тестирования с исправлением ошибок
Деплой и обучение Перенос в продакшен, настройка агентов, передача доступов Документация администратора, 2 часа онлайн-обучения

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

Реализация в Битрикс: структура HighloadBlock

Для хранения взаиморасчётов в Битрикс рекомендую создать HighloadBlock — например, ContractorBalance:

Поле Тип Описание
UF_CONTRACTOR_XML_ID Строка GUID контрагента в 1С
UF_BITRIX_USER_ID Целое ID пользователя Битрикс
UF_DEBT Decimal Текущий долг (руб.)
UF_OVERDUE_DEBT Decimal Просроченный долг
UF_CREDIT_LIMIT Decimal Кредитный лимит
UF_LAST_PAYMENT_DATE Дата Дата последнего платежа
UF_LAST_PAYMENT_SUM Decimal Сумма последнего платежа
UF_UPDATED_AT Datetime Время последнего обновления

Для истории платежей — отдельный HighloadBlock ContractorPayments с записями по каждому платежу.

Привязка контрагента к пользователю Битрикс

Главная техническая задача: знать, какой пользователь Битрикс соответствует какому контрагенту в 1С. Варианты:

  1. По XML_ID пользователя. При регистрации на сайте создаётся контрагент в 1С (через REST API), его GUID сохраняется в профиле пользователя Битрикс (поле UF_1C_CONTRACTOR_ID).

  2. По ИНН. Пользователь при регистрации вводит ИНН, система ищет контрагента в 1С по ИНН.

  3. Ручное сопоставление. Администратор в Битрикс вручную привязывает пользователя к контрагенту. Подходит для B2B с небольшим количеством клиентов.

Кредитный лимит и запрет заказа

Популярный сценарий: если у контрагента просроченная задолженность — запрещать оформление новых заказов на сайте. Или: если долг превышает кредитный лимит — показывать предупреждение.

Реализация через событие Битрикс OnSaleOrderBeforeSaved (Документация Битрикс):

AddEventHandler('sale', 'OnSaleOrderBeforeSaved', 'checkDebtLimit');

function checkDebtLimit(\Bitrix\Main\Event $event) {
    $order = $event->getParameter('ENTITY');
    $userId = $order->getUserId();
    $debt = getContractorDebt($userId);
    $limit = getContractorCreditLimit($userId);

    if ($debt['overdue'] > 0) {
        $result = $event->getParameter('RESULT');
        $result->addError(new \Bitrix\Main\Error(
            'Оформление заказа недоступно: есть просроченная задолженность'
        ));
    }
}

Такой код работает для любых сценариев управления лимитами.

Кейс из нашей практики: оптовый портал стройматериалов

B2B-портал: 300 активных контрагентов, каждый с кредитным лимитом. Задача: показывать в личном кабинете баланс и запрещать заказы при превышении лимита. Мы использовали подход с HTTP-сервисом 1С для получения текущего долга в реальном времени. Кешировали ответ на 10 минут (Redis). При оформлении заказа — всегда свежий запрос, без кеша.

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

Результат измерили через 3 месяца: менеджеры перестали вручную информировать клиентов о долгах — количество звонков «почему не могу заказать» сократилось на 70%. Клиенты сами видят задолженность и оплачивают до оформления нового заказа. Сравните: ручной обзвон занимал 10 человеко-часов в неделю, автоматизация сократила это до 3 часов — в 3 раза быстрее. Средняя экономия на зарплате менеджеров составила 30 000 руб. в месяц. Автоматизация окупилась за 2 месяца.

Как долго настраивается обмен взаиморасчетами?

Оценим проект за 2 рабочих дня после заполнения брифа. Базовая настройка (один подход, без кастомных правил) занимает от 5 до 10 рабочих дней. Если нужны сложные сценарии (несколько валют, автоматическая блокировка по кредитному лимиту, интеграция с Bizproc) — сроки уточняем индивидуально. Свяжитесь с нами — получите точную оценку под ваш проект.

Почему стоит заказать настройку у нас?

Мы работаем с Битрикс и 1С 10+ лет, выполнили 50+ проектов по интеграции. В штате сертифицированные инженеры 1С и Битрикс-разработчики. Даём гарантию на код — 6 месяцев бесплатной поддержки. После внедрения вы сами сможете управлять данными через административный интерфейс.

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