Счета клиентам из Google Таблицы: автоматом в WhatsApp и Telegram
Разбор для владельцев, которые собирают счета руками: как ваша же таблица начинает сама делать PDF и отправлять их клиентам - с ценами 2026 года и честными оговорками про баны и блокировки.
- Схема «Таблица - PDF - WhatsApp/Telegram» без смены привычного учёта
- Где реально ловят бан и почему счета - легальный сценарий
- Смета 2026: сервис, конструктор или своя связка при 20-200 счетах в месяц
- Guard-формулы: как не отправить клиенту битый счёт
- Чек-лист запуска из семи шагов
Каждый счёт руками - это 10-15 минут: открыть шаблон, вбить реквизиты и позиции, перепроверить, сохранить PDF, найти клиента в мессенджере, прикрепить, отправить. При 5 счетах в день это половина рабочего дня в неделю.
Ниже - разбор, как отправлять счета из Google Таблицы автоматически, не переезжая из привычного учёта: реестр остаётся вашим, PDF собираются сами, отправка уходит в WhatsApp или Telegram по строке таблицы. С реальным случаем, ценами 2026 года и честным блоком про баны и блокировку WhatsApp в России.
Покажите вашу таблицу со счетами - скажу, что в ней можно автоматизировать и что это даст. Разбор бесплатный, до старта работ.
Во что обходятся счета «руками»
Коротко: ручной цикл счёта - это не только время. Это ошибки в суммах, забытые счета и кассовые разрывы.
Три типовых сценария потерь, которые повторяются у малого бизнеса из раза в раз:
- Время. Типичная жалоба владельца звучит одинаково: заполнить реквизиты, вбить товары, перепроверить - и так по каждому счёту. При 50+ счетах в месяц это часы собственника, а не сотрудника.
- Ошибки. Классика: скопировал прошлый счёт, забыл поменять сумму - клиент оплатил старую, потом две недели возвращали разницу. Ручной ввод всегда даёт процент брака.
- Забытые счета. Финансовые сервисы называют несвоевременное выставление счетов одной из типовых причин кассовых разрывов: счёт ушёл поздно - оплата пришла поздно.
Автоматизация здесь окупается арифметикой: 10 минут на счёт при 50 счетах в месяц - это больше 8 часов. Сжать их до «нажал - проверил - ушло» реально за один заход.
Почему счёт в мессенджере оплачивают быстрее
Коротко: открываемость сообщений в мессенджерах - 90-98%, у электронной почты - 20-30%. Канал выбирает клиент, а не бизнес.
Счёт ушёл на почту - тишина три дня. Тот же PDF в мессенджере - оплата вечером. Разница объяснима: открываемость сообщений в мессенджерах держится на уровне 90-98% против 20-30% у email-рассылок.
Для счетов это критично вдвойне: счёт - не маркетинг, его ждут. Чем короче путь «увидел - открыл - оплатил», тем меньше дебиторка. Запрос «слать счета туда, где клиент реально читает» настолько живой, что малый бизнес нанимает под него фрилансеров: готового ответа в поисковой выдаче нет.
Что с WhatsApp в России в 2026 году
Коротко: с февраля 2026 WhatsApp в России заблокирован. Для клиентов в РФ канал ненадёжен - используйте Telegram. Для Казахстана, Беларуси, Узбекистана и Европы WhatsApp работает как раньше.
С 11-12 февраля 2026 года WhatsApp полностью заблокирован в России: домены удалены из национальной системы доменных имён, попытки соединения из РФ не проходят. Часть аудитории продолжает пользоваться через VPN, но рассчитывать на такую доставляемость бизнесу нельзя. Любая инструкция 2026 года без этой оговорки неполна.
Что это значит на практике:
- Ваши клиенты в России - канал для счетов сегодня это Telegram или MAX. У Telegram открытый бесплатный Bot API - «служебный вход», через который скрипт отправляет сообщения сам, без человека за телефоном. Вся архитектура из этой статьи переносится туда без изменений: меняется только «последняя миля» отправки.
- Ваши клиенты в Казахстане, Беларуси, Узбекистане, Европе - WhatsApp там жив и чаще всего остаётся мессенджером номер один. Для русскоязычного бизнеса за пределами РФ разбор ниже применим напрямую.
Дальше я описываю связку на примере WhatsApp Business API - разбираемый случай был сделан именно через официальный Business API. Пометки для Telegram - по ходу текста.
Реальный случай: торговый бизнес, счета руками, «коробка» не справилась
Коротко: учёт в Google Таблице, счета вручную, коробочное расширение для рассылки не справилось. Решение - пакетная генерация PDF прямо в таблице и автоотправка по строкам. Ручная работа сократилась в разы.
Исходная точка у небольшого торгового бизнеса выглядела так:
- весь учёт заказов - в Google Таблице, и менять привычный процесс владелец не хотел (правильно делал);
- счета собирались вручную и уходили клиентам в WhatsApp с телефона;
- попытка коробочного расширения для рассылки из таблицы упёрлась в глюки и ограничения - к слову, известные сервисы этого класса с тех пор успели закрыться совсем.
Что было сделано, по шагам:
Отдельный лист «Счета к выгрузке»: номер заказа, клиент, сумма, номер телефона, статус отправки. Никакого нового интерфейса - только новый лист.
Скрипт собирает счета по шаблону сразу пачкой - не по одному. PDF уходит файлом, не ссылкой на Диск: клиенту не нужен доступ и аккаунт.
Отправка идёт через официальный API по строкам реестра. Статус и ошибка пишутся в ту же строку - видно, кому ушло, кому нет и почему.
Формулы обёрнуты в защиту от #N/A: пустой или кривой набор данных не валит сводку и не уезжает клиенту в PDF - строка помечается на проверку.
Сначала всё гоняется на своём номере, потом на паре реальных счетов, и только после этого включается в работу.
Результат, если пересказать обратную связь владельца: ручной работы стало заметно меньше, счета выглядят профессиональнее, а один из клиентов после перехода сделал заказ крупнее обычного. Отдельная деталь, которую я считаю главной: владелец остался в своей таблице. Ничего не пришлось переучивать. Такой же принцип - чинить процесс, не ломая привычки - я держу и в остальных задачах: с чем приходят чаще всего - на главной.
Настрою такую же связку под ваш процесс: реестр, PDF-счета, автоотправка со статусами. Первый шаг - маленький: разбор вашей таблицы и точный план.
Как отправить счёт клиенту в WhatsApp автоматически: устройство связки
Коротко: четыре блока: лист-реестр, шаблон счёта, генератор PDF, отправщик с логом статусов. Всё живёт в вашей таблице, отдельная инфраструктура не нужна.
Устройство одинаковое для WhatsApp и Telegram:
- Лист-реестр - одна строка = один счёт: клиент, позиции или сумма, телефон/чат, статус.
- Шаблон счёта - отдельный лист или документ с подстановками: реквизиты, номер, дата, позиции.
- Генератор PDF - скрипт в самой таблице (Apps Script - встроенный в Google Таблицы бесплатный инструмент автоматизации), который собирает PDF по шаблону для каждой строки реестра.
- Отправщик - тот же скрипт дергает API мессенджера и пишет в строку статус: отправлено, доставлено или текст ошибки.
Для WhatsApp отправка идёт через WhatsApp Business Platform, он же Cloud API, в обиходе - WABA. Это единственный официальный способ слать сообщения программно. Счёт клиенту - это «utility»-шаблон: заранее одобренный Meta текст для счетов, статусов и подтверждений. Такие шаблоны заметно дешевле маркетинговых, а внутри 24-часового окна после входящего сообщения клиента - бесплатны. Для Telegram то же самое делает Bot API - он бесплатный, шаблоны согласовывать не нужно.
Файл уходит вложением, а не ссылкой на Google Диск. Разница практическая: ссылку нужно открывать, к ней бывают запросы доступа, она может «протухнуть». Вложение просто открывается.
Официально или «серым» путём: где ловят бан
Коротко: банят за неофициальные шлюзы и рассылки по холодной базе. Транзакционные счета своим клиентам через официальный API - предусмотренный правилами сценарий, и ваш основной номер в нём вообще не участвует.
Страх номер один у владельцев: «отправлю полсотни сообщений - и останусь без номера, по которому клиенты звонят годами». Страх обоснованный, но направлен не туда. Разберём, откуда реально приходит бан:
- Неофициальные шлюзы и расширения. Всё, что работает поверх WhatsApp Web - Chrome-расширения, «серые» API, библиотеки вроде whatsapp-web.js и Baileys - нарушает правила WhatsApp. Известны случаи бана после десятка тестовых сообщений. Один номер живёт месяцами, другой банят за неделю - это лотерея.
- Холодная база. Рассылка по купленным или «мёртвым» номерам ловит жалобы, а жалобы - самый быстрый путь к блокировке.
- Залповая отправка с нового номера. Сотни однотипных сообщений без пауз с только что заведённого номера - типовой триггер алгоритмов.
Теперь контраст. Счета своим действующим клиентам через официальный Cloud API - это сценарий, который Meta прямо описывает в категории utility-шаблонов: подтверждения заказов, счета, статусы. Шаблон проходит модерацию, отправка идёт с бизнес-номера платформы. Основному номеру ничего не грозит - его в этой схеме просто нет.
Если предлагают «рассылку без API и без модерации, бан невозможен» - это маркетинг поверх нарушения правил. Детект у WhatsApp машинный, гарантий не даёт никто.
Счёт - это не рекламная рассылка: правовая сторона
Коротко: транзакционный счёт по действующему заказу - не реклама. Рекламные же рассылки без явного согласия стоят до 1 млн рублей штрафа за факт. Разделяйте эти два потока жёстко.
Рассылка счетов клиентам в WhatsApp - юридически не то же самое, что рекламная рассылка. Для России в 2026 году рамка такая:
- Счёт по заказу - транзакционное сообщение. Клиент сделал заказ - вы прислали счёт. Это исполнение договора, а не реклама, и под рекламные ограничения оно не подпадает. Клиент, оставивший номер при заказе, и есть ваше согласие на такие сообщения по правилам WhatsApp.
- Рекламная рассылка без согласия - дорого. Штрафы за спам для юрлиц подняты до 300 тысяч - 1 млн рублей за каждый факт (ч. 4.1 ст. 14.3 КоАП). Согласие «на обработку персональных данных» рекламу не покрывает - нужно отдельное явное согласие именно на рекламу (опт-ин).
- Телефоны клиентов - персональные данные. База в таблице должна соответствовать 152-ФЗ: собирайте номера с согласием и не давайте таблицу «всем по ссылке».
Практический вывод: поток «счета и статусы заказов» держите отдельно от потока «акции и новинки». Первый - рабочая переписка по заказу; второй - только по явному рекламному согласию.
Сколько это стоит: сервис, конструктор или своя связка
Коротко: при 20-200 счетах в месяц своя связка на Apps Script дешевле всего: инфраструктура бесплатная при прямом подключении, платите за сообщения WhatsApp (для Telegram - вообще ничего) и один раз за настройку.
Сравнение вариантов для малого объёма - десятки, не тысячи счетов в месяц:
| Вариант | Что это | Порядок расходов | Подводные камни |
|---|---|---|---|
| Сервис-интегратор (Wazzup и аналоги) | Подписка + подключение WhatsApp Business API | от 1 000 до 6 000 ₽/мес за канал + цена шаблонных сообщений | Тарифы заточены под маркетинговые объёмы; за 50 счетов в месяц платить как за поток - обидно |
| Конструкторы автоматизаций (Zapier, Make, Albato) | «Новая строка в таблице - отправить сообщение» | от бесплатного лимита до ~2-3 тыс. ₽/мес | Пакетная генерация PDF и защита от ошибок формул делаются со скрипом; провайдер WhatsApp Business API (WABA) всё равно нужен |
| Своя связка: Apps Script + официальный API | Скрипт живёт в вашей таблице | Инфраструктура - 0 ₽ при прямом подключении Cloud API у Meta (провайдер-посредник добавит абонплату или наценку). Utility-сообщения WhatsApp - единицы рублей, в 24-часовом окне - бесплатно. Telegram Bot API - бесплатен. Настройка - разовая работа | Нужен человек, который соберёт и протестирует связку |
Ориентир по разовой настройке: на фриланс-биржах ровно такая задача - «скрипт уже делает PDF-счета, нужно отправлять их вложением в WhatsApp» - закрывалась за 9 000 рублей. Против подписки сервис-интегратора это окупается за 2-9 месяцев в зависимости от тарифа: против средних и верхних (4 000-6 000 ₽/мес) - за пару месяцев.
Защита таблицы: чтобы битый счёт не ушёл клиенту
Коротко: главный риск связки - не API, а сама таблица: #N/A в сумме, сдвинутый сортировкой столбец, чужая правка. Лечится формулами-предохранителями (guard-формулами), проверкой данных и логом ошибок на строке.
Худший сценарий автоматизации - не «не отправилось», а «отправилось с чужой суммой». Поэтому в связке из разбора выше защита занимала не меньше внимания, чем сама отправка:
- Guard-формулы. Каждая формула, которая тянет данные в счёт, обёрнута в IFNA/IFERROR - функции Google Таблиц, которые перехватывают ошибку: если данных нет или они кривые, строка получает пометку «на проверку» вместо тихого #N/A в PDF.
- Проверка данных на входе. Телефон, сумма, номер заказа - с валидацией формата. Кривой ввод виден до отправки, а не после звонка клиента.
- Статус и ошибка - в строке. У каждой строки реестра видно: отправлено, доставлено, ошибка с текстом. Ничего не теряется «где-то в сервисе».
- Права доступа. Лист с формулами защищён от случайных правок; сортировки и «оптимизации» сотрудников не разваливают генерацию.
- Тестовый номер. Любое изменение сначала прогоняется на своём номере. Правило простое: клиент никогда не получает первый прогон.
Чек-лист запуска: семь шагов
Коротко: семь шагов от аудита таблицы до боевого включения. Каждый шаг проверяем: видно, что работает, до перехода к следующему.
Один лист - один счёт на строку: клиент, сумма или позиции, телефон, статус. Убрать дубли и «исторические» колонки.
Реквизиты, нумерация, дата, позиции - с подстановками из реестра. Один шаблон, а не десять копий.
Скрипт собирает PDF по шаблону пачкой. Проверка: три тестовых счёта открываются и выглядят одинаково правильно.
Клиенты вне РФ - официальный WhatsApp Business API через провайдера, счёт - utility-шаблоном. Клиенты в РФ - Telegram-бот. Основной номер не используется нигде.
IFNA/IFERROR на все подстановки, проверка данных на телефон и сумму, защита листа с формулами.
Полный цикл на своём номере: генерация, отправка, статус в строке. Потом - на 2-3 реальных счетах.
Первая неделя - с ежедневным взглядом на колонку ошибок. Дальше - по факту.
Частые вопросы
Коротко: PDF уходит вложением; счёт по заказу - не реклама и не повод для бана; 50-200 счетов в месяц через свою связку стоят от нуля (Telegram) до единиц рублей за сообщение (WhatsApp).
Можно ли отправить PDF-счёт вложением, а не ссылкой на Google Диск?
Да, и нужно именно так. И WhatsApp Business API, и Telegram Bot API умеют отправлять документы файлом. Клиент получает обычное вложение: открыл - оплатил. Ссылка на Диск требует доступа и живёт, пока жив файл.
Счета своим клиентам - это рассылка, за которую банят и штрафуют?
Нет. Счёт по действующему заказу - транзакционное сообщение, а не реклама: под рекламные штрафы оно не подпадает, а у WhatsApp для таких сообщений есть отдельная категория utility-шаблонов. Банят - за «серые» шлюзы и рассылки по холодным базам, это другая история.
Сколько стоит отправка 50-200 счетов в месяц?
Через свою связку: Telegram - бесплатно; WhatsApp - единицы рублей за счёт вне 24-часового окна, бесплатно внутри окна, плюс абонплата провайдера, если подключаться не напрямую к Meta. Через сервис-интегратор - от 1 000-6 000 ₽ в месяц подписки плюс те же сообщения. Разовая настройка своей связки против подписки окупается за 2-9 месяцев в зависимости от тарифа.
Что будет, если в таблице ошибка - клиент получит кривой счёт?
При правильной сборке - нет. Guard-формулы помечают строку с ошибкой «на проверку», и она не попадает в отправку. Это ключевое отличие продуманной связки от «скрипта на коленке».
А расширения для браузера, которые шлют сообщения из таблицы, - разве не проще?
Проще - до первой проблемы. Они работают поверх WhatsApp Web, то есть с вашего личного номера и вне правил платформы: риск бана реален, глюки частые, а сам сервис может закрыться - известные инструменты этого класса, включая ESUIT, уже прекратили работу. Для разовых задач - может быть; для потока счетов - нет.
- Meta - WhatsApp Business Platform: Pricing (per-message, категория utility, 24-часовое окно)
- Meta - Message templates: обзор и категории
- WhatsApp Business Messaging Policy
- WhatsApp FAQ - о несанкционированных массовых и автоматизированных рассылках
- CNN - Russia blocks WhatsApp (12.02.2026)
- Статус WhatsApp в России - мониторинг (июль 2026)
- digitalbusiness.kz - открываемость сообщений в WhatsApp 90-98%
- КонсультантПлюс - повышение штрафов за спам-рассылки (ч. 4.1 ст. 14.3 КоАП)
- Wazzup - тарифы и стоимость WhatsApp Business API
- Zapier - тарифы
- FL.ru - заказ «Отправка PDF-файла в WhatsApp из гугл таблиц», 9 000 ₽, выполнен
- ESUIT - уведомление о прекращении работы сервиса
- Telegram Bot API - официальная документация
- Google Apps Script - официальная документация
- Хабр Q&A - бан номера после тестовых сообщений через сторонний API
- retailCRM - как избежать блокировки WhatsApp Business
- Контур - кассовый разрыв: почему возникает и как избежать