Пятница, 18:47. Разработчик закрыл в Jira три задачи по клиенту «ООО Лента» - в Git уже merged. В понедельник менеджер открывает `счета_июль_final2.xlsx`, ищет часы в трекере, копирует реквизиты из прошлого месяца, забывает доп. работу по багфиксу и выставляет сумму на 40 000 руб. меньше. Клиент молчит две недели - не потому что не платит, а потому что счёт так и не ушёл.
Код и релизы с Cursor и ИИ уходят в прод за день, а биллинг остался «как в 2011»: Excel, копипаст и «спроси бухгалтерию в чате». Ниже - как собрать маршрут в n8n (это конструктор автоматизаций, где узлы соединяются стрелками, как блок-схема), чтобы после закрытия задачи в CRM появлялся черновик счёта и акта, менеджер подтверждал одним кликом, а статус оплаты не терялся в переписке.
TL;DR / Быстрый инсайт: Боль не в «ленивом менеджере», а в разрыве между трекером и деньгами. Один триггер «работа закрыта» → данные из CRM → PDF → approve → отправка → лог оплаты. Два workflow: A генерирует документ, B напоминает и сверяет оплату. Idempotency key не даст выставить два счёта за один этап.
В Wordstat узкий запрос «автоматизация выставления счетов» даёт 30 показов в месяц (июль 2026), а «автоматизация документооборота» - 2000. Люди ищут ЭДО, а не связку «закрытая задача → счёт»; на GitHub и n8n.io десятки пайплайнов под CRM-триггер.
Найдите щель: код в проде, счета в Excel в последнюю пятницу

Типичная ошибка IT-агентства и фриланс-команды: «истина» о выполненной работе живёт в Jira, YouTrack или Bitrix24, а «истина» о деньгах - в таблице, которую открывают раз в месяц. На практике часы в трекере не сходятся с суммой в Excel, этапы забывают, клиент ждёт документы неделю.
Сделайте аудит за 30 минут. Запишите в одну таблицу: где фиксируется «работа сдана» (задача Done, merge в main, стадия CRM), где лежат реквизиты клиента (ИНН, договор, ставка), кто собирает счёт и акт, сколько минут уходит на один пакет. Русскоязычный кейс Bitrix24 + n8n показывает ту же боль: часы тянут из задач, а не из ручной сводки.
Рекомендуем: не начинайте с выбора «ещё одного биллинг-SaaS». Сначала зафиксируйте, где рвётся цепочка «закрыли работу → клиент получил счёт». Лучше пилот на одном клиенте и одном типе этапа, например «спринт закрыт». Не стоит масштабировать, пока не убедитесь, что один этап даёт черновик в день закрытия.
Зафиксируйте один триггер «работа закрыта» - не созвон и не календарь

Биллинг на «помню на созвоне» или «в конце месяца сведём» всегда проигрывает скорости разработки. Нужен один объект, который запускает маршрут автоматически.
| Триггер | Когда брать | Риск |
|---|---|---|
| Задача Done в трекере | Оплата по часам или по закрытым тикетам | Нужен API (REST через HTTP Request в n8n, если нет готовой ноды) |
| Стадия CRM «Работы приняты» | Фикс за этап, аванс по вехе | Менеджер должен переводить стадию дисциплинированно |
| Merge в main (webhook Git) | Релиз = закрытие спринта | Не каждый merge = платный этап - фильтруйте по меткам |
Канонический шаблон на n8n.io (#14289): HubSpot Closed Won → сбор полей → PDF → лог → email → отложенная проверка оплаты. Для Bitrix24 есть community-нода с Deal/Task/Product Row - альтернатива сырому REST.
Советуем: выберите один триггер на пилот и запишите его в README процесса. Избегайте смешения «раз в месяц Excel» и webhook - иначе дубли и пропуски неизбежны. Важно: проверьте, что API трекера отдаёт часы и ставку без ручного экспорта.
Соберите шаблон счёта и акта из CRM - без копипаста из прошлого месяца

Счёт на оплату - это не первичный учётный документ; для услуг обязателен акт выполненных работ. Счёт-фактура - отдельная ветка, если вы на НДС. Типичная ошибка: обещать клиенту «один PDF закроет всё» и получить откат от бухгалтерии.
Минимальные поля из карточки клиента в CRM (не из Excel): ИНН, КПП, юр. адрес, номер договора, ставка, перечень работ или часы за этап, сумма, срок оплаты. Шаблон - HTML с плейсхолдерами или Google Docs → PDF через Gotenberg, PDFShift или аналог. Данные подставляет n8n Code node: totals, номер счёта, дата.
Модель данных (как в гайдах Samioda 2026): таблицы customers, invoices, events. Поля clientId, milestoneId, hours, rate, amount, status, sentAt, paidAt.
Делайте в маршруте два шага документов - счёт на оплату (опционально) и акт (обязателен для услуг). Не делайте копипаст реквизитов из файла прошлого месяца - только API CRM. Проверьте шаблон на тестовой карточке клиента до боевого триггера.
Соберите workflow A в n8n: задача Done → черновик → approve → отправка
Схема workflow A:
Триггер (Done / CRM / webhook) → Get task/deal → Code (сумма + номер) → Check idempotency → Generate PDF → Save (Drive/Sheets) → Notify manager → Gmail send
Idempotency key - это «отпечаток» этапа, чтобы не создать второй счёт за ту же работу. Формула: clientId + projectId + milestoneId в таблице invoices. Перед генерацией - узел IF: если запись есть, stop. Репозиторий n8n-pennylane-auto-invoicing на GitHub делает то же для webhook CRM.
На нестандартных сделках не обещайте «100% автоматизацию». LLM не выставляет счёт без API учётки - только текст письма; цифры и реквизиты из CRM. Slack или Telegram «approve» перед Send; без галочки PDF клиенту не уходит.
- Триггер: webhook при смене статуса задачи на Done или стадии CRM «Работы приняты».
- Get data: HTTP Request или нативная нода CRM - часы, ставка, реквизиты, email клиента.
- Code node: посчитать amount, присвоить invoice number, собрать JSON для шаблона.
- Idempotency: запрос в Sheets/Postgres - есть ли ключ этапа; если да - выход без PDF.
- Generate PDF: HTTP к сервису рендера или HTML → PDF внутри workflow.
- Save + notify: файл в Drive, менеджеру сообщение с кнопкой approve.
- Send: после approve - Gmail/SMTP клиенту, статус в CRM «отправлен».
Рекомендуем логировать ошибки workflow A в Slack/Gotify отдельным error workflow - иначе «тихий» сбой PDF снова вернёт вас к Excel в пятницу. Убедитесь, что approve стоит перед Send: без галочки клиент не получит пакет.
Настройте workflow B: напоминание и статус оплаты - один лог, не чат с бухгалтерией
Генерация счёта и сверка оплаты - разные workflow. Если PDF упал, напоминания не должны ломаться и наоборот. Шаблон #14289: Wait 7 дней → проверка стадии → reminder → эскалация. Репозиторий n8n-invoice-payment-followup-public: daily reminders, Stripe webhook останавливает цепочку при оплате.
Workflow B по расписанию: список unpaid → match payment (webhook банка, ручная отметка, Stripe) → update CRM → stop reminders. В CRM один статус: отправлен / просрочен / оплачен.
Лучше на старте B2B ограничиться email с PDF; ЭДО подключайте, когда объём вырос. Не стоит блокировать пилот ожиданием СЭД - результат пилота измеряйте днями до исходящего счёта, а не количеством интеграций.
Как понять, что маршрут работает
Критерии до FAQ - проверяемые, не «вроде автоматизировали». После закрытия задачи в трекере в CRM появляется черновик счёта с полями из карточки клиента. Менеджер подтверждает одним кликом, клиент получает PDF, в CRM виден статус «отправлен / оплачен». Повторный триггер за тот же этап не создаёт второй счёт. Итог: биллинг в день закрытия этапа, а не в последнюю пятницу месяца.
Чек-лист пилота на 14 дней: один клиент, один тип этапа, один этап → один черновик → один PDF → запись в лог.
Такие контуры мы собираем на стыке CRM, n8n и шаблонов документов - без ERP на полгода. Схема пилота одного процесса - на calmopsai.com. Смежный разбор, где счёт застревает в черновиках почты, - в материале про счёт ушёл, оплаты нет.
Что дальше
- Проведите аудит щели: трекер vs Excel vs CRM за 30 минут.
- Выберите один триггер и опишите модель customers/invoices/events.
- Соберите workflow A на тестовом клиенте с idempotency и approve.
- Добавьте workflow B для напоминаний и статуса оплаты.
- Через 14 дней сверьте success criteria и только потом масштабируйте ставки и НДС.
Проверка материала: Елена Ковалева, главный эксперт по SEO/GEO.
Источники цифр: Wordstat, июль 2026 (РФ): «автоматизация выставления счетов» - 30 показов/мес; «счет на оплату автоматически» - 454; «автоматизация документооборота» - 2000.
Частые вопросы
Нужен ли ЭДО на старте или хватит почты?
Для многих B2B-услуг на старте достаточно email с PDF счёта и акта. ЭДО добавляйте, когда контрагенты требуют юридически значимый обмен или вырос объём - не блокируйте пилот ожиданием СЭД.
Как не выставить два счёта за один этап?
Храните idempotency key clientId + projectId + milestoneId в таблице invoices. Перед Create PDF - узел IF: запись есть → stop. Повторный webhook за тот же этап не создаст дубль.
Чем маршрут отличается от «раз в месяц сводим Excel»?
Excel в конце месяца всегда отстаёт от трекера: забытые часы, дубли, задержка с клиентом. Маршрут срабатывает в день закрытия этапа, данные тянутся из CRM API, статус оплаты в одном логе.
Можно ли без n8n, только CRM?
Если в вашей CRM есть встроенная генерация счетов и webhook - используйте её. n8n нужен, когда связка «трекер + PDF + approve + напоминание» размазана по разным системам.
Кто должен нажимать approve перед отправкой?
Менеджер проекта или финансовый контролёр - один ответственный на пилот. Цель - отсечь нестандартные суммы и опечатки, не вернуть ручную сборку в Excel.
Что если бухгалтерия требует 1С?
Маршрут n8n закрывает «клиент получил пакет и оплатил». Выгрузку в 1С добавьте отдельным шагом после стабильного пилота - не смешивайте в первый день.
