Как выстроить полный цикл B2B-оплаты в 1С-Битрикс
B2B-клиенты не платят картами — им нужен официальный счёт с печатью и реквизитами. Без автоматизации менеджеру приходится вручную выставлять счёт, ждать подтверждения из бухгалтерии и отмечать оплату. Это занимает часы, а ошибки ведут к задержкам. В 1С-Битрикс можно настроить полный цикл: от сбора реквизитов покупателя до автоматического подтверждения прихода на расчётный счёт. Наш опыт — более 7 лет разработки, десятки проектов с B2B-оплатой. Используем проверенные паттерны — пользовательские свойства заказа, REST API банков, генерацию PDF через FPDF. Результат: время обработки платежа сокращается с двух дней до 20 минут, операционные затраты падают на 70%. Безналичный расчёт — стандартный способ B2B-платежей. В Битрикс он реализован встроенной платёжной системой Cash/BankTransfer, согласно официальной документации.
Стандартная схема B2B-оплаты
- Покупатель-юрлицо оформляет заказ и выбирает «Оплата по счёту».
- Система генерирует счёт на оплату с реквизитами продавца.
- Бухгалтер покупателя делает платёжное поручение в банке.
- Деньги приходят на расчётный счёт продавца.
- Менеджер или банковская интеграция фиксирует оплату в Битрикс.
Как настроить платёжную систему «Безналичный расчёт» в Битрикс?
В Битрикс есть штатный обработчик Cash / BankTransfer. Настраивается в Магазин → Настройки → Платёжные системы. Укажите реквизиты компании: название, ИНН, КПП, расчётный счёт, БИК, банк. Добавьте инструкцию для покупателя — текст, который увидит клиент после выбора способа оплаты.
// Параметры безналичной оплаты (вводятся в административной части) // Логотип, название, текст-инструкция для покупателя // В шаблоне платёжной системы — показываем реквизиты <div class="bank-details"> <p>Банк: ПАО «Сбербанк»</p> <p>БИК: 044525225</p> <p>Р/с: 40702810ХХХХХХХХХХ</p> <p>К/с: 30101810400000000225</p> <p>ИНН: ХXXXXXXXXX</p> <p>КПП: XXXXXXXXX</p> <p>Назначение платежа: Оплата по счёту №<?= $order->getAccountNumber() ?></p> </div> Пример настройки пользовательских свойств заказа
Форма сбора реквизитов покупателя
При заказе юрлицо должно указать свои реквизиты для выставления счёта и закрывающих документов. Добавляем пользовательские свойства заказа через API:
// Добавление свойств заказа через API Битрикс // local/php_interface/init.php или установочный скрипт use Bitrix\Sale\Internals\OrderPropsTable; $props = [ ['NAME' => 'Название компании', 'CODE' => 'COMPANY_NAME', 'TYPE' => 'STRING'], ['NAME' => 'ИНН', 'CODE' => 'INN', 'TYPE' => 'STRING'], ['NAME' => 'КПП', 'CODE' => 'KPP', 'TYPE' => 'STRING'], ['NAME' => 'Юридический адрес', 'CODE' => 'LEGAL_ADDRESS','TYPE' => 'STRING'], ['NAME' => 'Расчётный счёт', 'CODE' => 'BANK_ACCOUNT', 'TYPE' => 'STRING'], ['NAME' => 'Наименование банка','CODE' => 'BANK_NAME', 'TYPE' => 'STRING'], ['NAME' => 'БИК', 'CODE' => 'BANK_BIK', 'TYPE' => 'STRING'], ]; В шаблоне чекаута — показываем эти поля при выборе «Оплата по счёту». Можно сделать зависимость через JavaScript: показывать блок только для выбранного способа.
Почему автоматическое подтверждение оплаты критично?
Ручная отметка об оплате — источник задержек. Бухгалтер может забыть, менеджер — ошибиться. Автоматизация решает проблему: платёж поступил — заказ сразу переходит в оплаченный статус. Варианты:
- 1С-интеграция — если используется 1С:Бухгалтерия, входящие платежи автоматически синхронизируются с заказами через модуль обмена. Это надёжно, но требует настройки регламентных заданий.
- Банк-клиент API — ряд банков (Сбербанк, Точка, Модульбанк) предоставляют API для чтения выписок. При появлении платежа с нужным назначением — автоматически обновляем статус заказа:
// Пример: парсинг выписки Сбербанка (SimpleBankStatementParser) $statement = parseBankStatement($statementXml); foreach ($statement->getTransactions() as $transaction) { if ($transaction->getType() !== 'credit') continue; // Ищем номер заказа в назначении платежа preg_match('/№(\w+-\d+)/', $transaction->getPurpose(), $matches); if (!isset($matches[1])) continue; $orderNumber = $matches[1]; $order = getOrderByAccountNumber($orderNumber); if ($order && abs($order->getPrice() - $transaction->getAmount()) < 0.01) { setOrderPaid($order->getId(), $transaction->getDate()); } } Этот подход требует доработки парсера под формат конкретного банка, но окупается исключением человеческого фактора. Экономия на ручной обработке одного платежа существенна.
Как генерировать PDF-счёт для юрлиц?
После оформления заказа юрлицу нужен официальный счёт в PDF. Битрикс не умеет генерировать PDF «из коробки» — подключаем сторонние библиотеки. Используем FPDF или mPDF:
// Генерация счёта через FPDF или mPDF function generateInvoicePdf(Bitrix\Sale\Order $order): string { $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial', 'B', 14); $pdf->Cell(0, 10, 'СЧЁТ НА ОПЛАТУ №' . $order->getAccountNumber(), 0, 1, 'C'); // Реквизиты продавца // Таблица товаров // Итого и подписи $path = '/tmp/invoice_' . $order->getId() . '.pdf'; $pdf->Output('F', $path); return $path; } Счёт формируется в момент оформления заказа и отправляется покупателю на email. Дополнительно сохраняем в файловую систему для повторного скачивания из личного кабинета.
Сравнение ручной и автоматической обработки платежей
| Критерий | Ручная отметка | Автоматическая (API/1С) |
|---|---|---|
| Задержка | от 1 часа до 2 дней | 5–30 минут |
| Ошибки | возможны | исключены |
| Нагрузка на менеджеров | высокая | нулевая |
| Стоимость внедрения | 0 (если есть менеджер) | 1-3 дня настройки |
Автоматизация обрабатывает платежи в 10 раз быстрее ручной отметки.
Процесс настройки под ключ
- Аналитика — разбираем схему работы, определяем точки интеграции.
- Проектирование — архитектура платёжного модуля, выбор инструментов (HL-блоки для реквизитов, агенты для обработки).
- Реализация — настройка платёжной системы, сбор реквизитов, генерация PDF, интеграция с API банка или 1С.
- Тестирование — проверка всех сценариев: успешная оплата, ошибки, возвраты, частичная оплата.
- Деплой — выкатка на продакшен, обучение менеджеров.
Сроки
| Задача | Срок |
|---|---|
| Настройка платёжной системы и шаблона | 0.5–1 день |
| Форма реквизитов покупателя | 0.5–1 день |
| Генерация PDF-счёта | 1–2 дня |
| Автоматическое подтверждение через банк API | 2–4 дня |
| Интеграция с 1С (если требуется) | 2–5 дней |
Общий срок — от 4 до 10 дней, в зависимости от сложности и необходимости интеграции.
Как мы гарантируем результат
Мы закрепляем все договорённости в техническом задании. После сдачи проекта вы получаете полный доступ к коду, инструкцию по эксплуатации и поддержку в течение месяца. Закажите настройку под ключ — сократите время обработки платежей. Получите консультацию по вашему проекту — мы предложим оптимальное решение.







