Введение: почему это важно для бизнеса услуг
Если ваша компания оказывает услуги на регулярной основе — IT-сопровождение, маркетинговые услуги, консалтинг, техподдержка — вы знаете, как много времени уходит на рутинную работу с документами. Каждый месяц нужно выставить десятки счетов, а в конце месяца — закрыть их актами выполненных работ.
Мы в компании "Сигма" столкнулись с той же проблемой: менеджеры тратили по 2-3 часа в день на создание счетов в банке Точка, копирование их номеров в CRM, отслеживание оплат. А в конце месяца — новый круг ада с актами для услуг сопровождения.
Решение нашлось в автоматизации. Сегодня я расскажу, как мы интегрировали Точка Банк с Битрикс24, и почему выбрали именно такую архитектуру.
Задача: что нужно было автоматизировать
Наши требования были специфичными для компаний, работающих с регулярными услугами:
- **Счета по предоплате** — выставляются в момент заключения сделки
- **Акты по факту** — создаются в конце месяца только для услуг сопровождения
- **Связанные документы** — акт должен быть привязан к счету в системе банка
- **Минимум действий менеджера** — поставил галочку и забыл
- **Контроль процесса** — видеть статус документов прямо в CRM
Архитектура решения: почему CRON, а не вебхуки
Проблема с прямыми вебхуками
Первая мысль была очевидной — использовать роботы и вебхуки Битрикс24. Создаем робота, который при изменении сделки вызывает наш скрипт. Но мы столкнулись с ограничением:
Ошибка с переданным URL https://yoursite.ru/tochka-integration/public/bp-handler.php:
Пожалуйста обратитесь в поддержку IT-Solution для добавления домена </code>`yoursite.ru`` в список разрешенных
Битрикс24 из соображений безопасности блокирует вызовы на непроверенные домены. Можно было бы добавить домен в белый список, но это долго и требует координации с техподдержкой.
Решение через CRON задачи
Мы выбрали более надежный подход — асинхронную обработку через CRON:
Робот в БП → Ставит галочку → CRON проверяет → Создает документ → Снимает галочку
Преимущества такого подхода:
- **Независимость от ограничений Битрикс24** — никаких проблем с доменами
- **Контроль нагрузки** — обработка идет порциями, не перегружая API банка
- **Отказоустойчивость** — если API банка недоступен, повторим через 2 минуты
- **Простое логирование** — все операции записываются в файлы на сервере
- **Легкая отладка** — можно запустить скрипт вручную для любой сделки
Техническая реализация
Структура проекта
/home/bitrix/www/``yoursite.ru``/tochka-integration/
├── config/
│ └── config.php # JWT токены и настройки
├── public/
│ ├── bitrix-integration.php # Создание счетов
│ └── create-act-with-requisite.php # Создание актов
├── cron-check-invoices.php # CRON проверка счетов (*/2 * * * *)
├── cron-check-acts.php # CRON проверка актов (*/5 * * * *)
├── cron-invoices.log # Логи операций со счетами
└── cron-acts.log # Логи операций с актами
Поля в Битрикс24
Мы добавили три пользовательских поля в сделки:
- **UF_CRM_176288127** — галочка "Счёт в Точку"
- **UF_CRM_176288821** — ID созданного счета (текстовое поле)
- **UF_CRM_1762888801** — галочка "Акт в точку"
Алгоритм работы со счетами
// Каждые 2 минуты CRON выполняет:
1. Получить список сделок где:
- Галочка "Счёт в Точку" = Да
- Поле "ID счета" = Пусто
2. Для каждой сделки:
- Получить данные компании и её реквизиты
- Получить товарные позиции
- Сформировать JSON для API Точки
- Создать счет через API
- Сохранить ID счета в поле сделки
- Записать в лог
Алгоритм работы с актами
// Каждые 5 минут CRON выполняет:
1. Получить список сделок где:
- Галочка "Акт в точку" = Да
- Поле "ID счета" != Пусто
- В товарах есть слово "сопровождение"
2. Для каждой сделки:
- Проверить наличие услуг сопровождения
- Установить дату акта = последний день месяца
- Создать акт, привязанный к счету
- Снять галочку "Акт в точку"
- Записать в лог
Особенности для сервисных компаний
1. Разделение счетов и актов
В продуктовом бизнесе счет и накладная часто создаются одновременно. Но в услугах:
- **Счет** выставляется заранее (предоплата)
- **Акт** формируется по факту выполнения (конец месяца)
Наша система учитывает это — акты создаются отдельным процессом и только для услуг сопровождения.
2. Автоматическая дата актов
$actDate = date('Y-m-t'); // Последний день текущего месяца
Все акты автоматически датируются последним днем месяца — стандартная практика для услуг с ежемесячной оплатой.
3. Фильтрация по типу услуг
if (mb_stripos($product['PRODUCT_NAME'], 'сопровождение') !== false) {
// Создаем акт только для услуг сопровождения
}
Не все услуги требуют актов. Разовые работы закрываются по факту оплаты, а регулярные услуги требуют ежемесячных актов.
Получение реквизитов: работа с API Битрикс24
Одна из сложностей — получение корректных реквизитов компании. В Битрикс24 они могут храниться в разных местах:
// Приоритет получения ИНН:
1. API crm.requisite.list — официальные реквизиты
2. Поле RQ_INN — старый формат
3. Пользовательское поле UF_CRM_4_IF_INN — импорт из внешних систем
4. Парсинг текстового поля с реквизитами
Наш скрипт проверяет все возможные источники и выбирает первый найденный ИНН.
Результаты внедрения
До автоматизации:
- 15 минут на создание одного счета
- 10 минут на создание акта
- 30% ошибок в реквизитах
- Постоянные напоминания о необходимости выставить документы
После автоматизации:
- 5 секунд — поставить галочку
- 0% ошибок в реквизитах (берутся из CRM)
- Автоматическое создание в течение 2-5 минут
- Полная история в логах
Экономия времени:
- **50 сделок в месяц × 25 минут = 20 часов экономии**
- Это 2.5 рабочих дня менеджера каждый месяц!
Мониторинг и контроль
Система полностью прозрачна:
# Проверка последних операций
tail -f /home/bitrix/``www/yoursite.ru`<code class="lang-bash">/tochka-integration/cron-invoices.log
# Пример лога:
[2025-11-12 07:15:49] === ЗАПУСК CRON ПРОВЕРКИ ===
[2025-11-12 07:15:49] Найдено сделок для обработки: 1
[2025-11-12 07:15:49] Обрабатываем сделку #9071: Сопровождение - Софит экспо
[2025-11-12 07:15:50] ✅ Счет создан для сделки #9071: a88e09f2-4892-4b37-ae6a-259a996c12e3
[2025-11-12 07:15:52] ✅ Поле в Битрикс24 обновлено
Советы по внедрению
1. Начните с малого
Сначала автоматизируйте только счета. Когда процесс отработан — добавляйте акты.
2. Настройте права доступа
Убедитесь, что у вебхука есть права на чтение и изменение сделок, компаний и товаров.
3. Тестируйте на копии
Создайте тестовую воронку продаж и отработайте процесс на ней.
4. Документируйте изменения
Ведите файл DOCUMENTATION.txt с описанием всех полей и процессов.
5. Настройте уведомления
Добавьте отправку email при критических ошибках в CRON скриптах.
Ограничения решения
Важно понимать границы применимости:
- **Только для Точка Банка** — API других банков отличается
- **Требуется сервер с CRON** — облачные Битрикс24 не подойдут
- **Реквизиты должны быть заполнены** — без ИНН счет не создать
- **Один счет на сделку** — мультисчета требуют доработки
Планы развития
В следующих версиях планируем добавить:
- **Автоматическое отслеживание оплат** — обновление статуса сделки при поступлении денег
- **Массовая выгрузка документов** — генерация пакета счетов одной кнопкой
- **Интеграция с 1С** — синхронизация документов с бухгалтерией
- **Уведомления в Telegram** — мгновенные алерты об ошибках
Выводы
Автоматизация документооборота между CRM и банком — это не роскошь, а необходимость для растущего бизнеса услуг. Наше решение через CRON задачи показало себя как надежное, масштабируемое и простое в поддержке.
Главное преимущество — **полная независимость от ограничений облачных сервисов**. Вы контролируете весь процесс, видите все логи, можете быстро внести изменения.
Для компаний с регулярными услугами и ежемесячными актами такая система окупается за первый же месяц использования.
Если у вас есть вопросы по внедрению или нужна помощь с настройкой — пишите в комментарии. Делитесь своим опытом автоматизации документооборота!
Теги: #Битрикс24 #ТочкаБанк #Автоматизация #CRM #API #DocumentFlow #B2B