Отправка счетов клиентам — рутинная задача, которая отнимает время бухгалтеров и менеджеров. В 1С:Предприятие эту процедуру можно полностью автоматизировать, сэкономив до 80% времени на обработке документов. Но как правильно настроить систему, чтобы счета уходили без ошибок, с нужными вложениями и в срок?
В этой статье разберём все способы автоматической рассылки счетов из 1С — от стандартных инструментов платформы до интеграции с внешними сервисами. Вы узнаете, какие конфигурации поддерживают функцию, как настроить шаблоны писем, избежать попадания в спам и решить типичные ошибки. А для программистов приведём примеры кода для кастомизации рассылки под специфические бизнес-процессы.
Какие конфигурации 1С поддерживают автоматическую рассылку
Не все версии 1С:Предприятие имеют встроенные инструменты для автоматической отправки счетов. Функционал зависит от типа конфигурации и её редакции. Вот ключевые варианты:
- 📌 1С:Бухгалтерия 8 (ред. 3.0) — поддерживает рассылку через
Печать и отправка по emailв документахСчёт на оплатуиРеализация товаров/услуг. - 📌 1С:Управление торговлей (УТ 11) — есть встроенный механизм
Массовая рассылка писемс гибкими настройками шаблонов. - 📌 1С:ERP Управление предприятием 2 — расширенные возможности интеграции с почтовыми сервисами и CRM.
- 📌 1С:Комплексная автоматизация 2 — поддерживает автоматическую отправку через
Бизнес-процессы. - 🚫 1С:Бухгалтерия 7.7 — не имеет встроенных инструментов для автоматической рассылки, требуется доработка через внешние обработки.
Если ваша конфигурация не входит в список, проверьте наличие модуля Работа с почтой в разделе Администрирование → Печатные формы, отчёты и обработки. В некоторых отраслевых решениях (например, 1С:Розница) функция может быть скрыта или требовать дополнительной настройки.
Способы автоматической рассылки счетов
В 1С есть три основных подхода к автоматизации отправки счетов. Выбор зависит от объёма документов, требований к безопасности и технических возможностей вашей инфраструктуры.
| Способ | Плюсы | Минусы | Подходит для |
|---|---|---|---|
| Встроенная почта 1С | Не требует доработок, простая настройка | Ограниченные шаблоны, риск попадания в спам | Малого бизнеса (до 50 счетов/день) |
| Внешние SMTP-серверы | Высокая доставляемость, поддержка HTML-писем | Требует настройки DNS-записей (SPF, DKIM) | Среднего и крупного бизнеса |
| Интеграция с API почтовых сервисов | Гибкие триггеры, аналитика доставки | Нужны навыки программирования | Компаний с кастомизированными процессами |
Для большинства пользователей оптимален второй вариант — подключение внешнего SMTP-сервера (например, Yandex Connect, Mail.ru для бизнеса или Google Workspace). Это позволяет избежать ограничений встроенной почты 1С и повысить доставляемость писем.
⚠️ Внимание: При использовании бесплатных почтовых сервисов (например, Gmail или Mail.ru) счета могут блокироваться как спам. Для бизнес-рассылок рекомендуется использовать корпоративную почту с настроеннымиSPF,DKIMиDMARC-записями.
Пошаговая настройка рассылки через SMTP
Рассмотрим универсальный способ настройки автоматической рассылки через внешний SMTP-сервер на примере 1С:Бухгалтерия 8.3. Этот метод подойдёт и для других конфигураций с минимальными изменениями.
Создайте корпоративный email (например, billing@вашакомпания.ru)
Получите данные для подключения: сервер SMTP, порт, логин, пароль
Настройте SPF и DKIM записи в DNS домена
Проверьте, что порт 587 (или 465) не блокируется фаерволом-->
Шаг 1. Настройка почтового профиля
Перейдите в раздел Администрирование → Организации → Настройки почты. Создайте новый профиль с параметрами:
- 📧 Адрес электронной почты — укажите email, с которого будут отправляться счета (например,
billing@вашакомпания.ru). - 🔗 SMTP-сервер — введите адрес сервера (например,
smtp.yandex.ruдля Yandex Connect). - 🔒 Порт — обычно
587(с шифрованиемSTARTTLS) или465(сSSL/TLS). - 👤 Авторизация — выберите
Обычный парольи введите логин/пароль от почты.
Шаг 2. Создание шаблона письма
В разделе Администрирование → Печатные формы, отчёты и обработки найдите шаблон Счёт на оплату (email). Отредактируйте его:
- 📝 Добавьте в тему письма переменные (например,
Счёт №{Номер} от {Дата}). - 📎 Прикрепите файл счёта в формате
PDF(настройка в параметрах шаблона). - 🔗 Вставьте в текст письма ссылку на оплату (если используете онлайн-кассу или платежный шлюз).
Шаг 3. Автоматизация отправки
Чтобы счета отправлялись автоматически при проведении документа:
- Откройте документ
Счёт на оплату. - Перейдите в
Ещё → Настройка печатных форм. - Установите флаг
Отправлять по email автоматически. - Выберите созданный почтовый профиль и шаблон письма.
Теперь при проведении счёта система будет предлагать отправить его клиенту. Для полной автоматизации (без подтверждения) потребуется доработка через Бизнес-процессы или внешнюю обработку.
Если счета не отправляются, проверьте папку "Исходящие" в почтовом клиенте — иногда письма застревают там из-за ошибок аутентификации.
Массовая рассылка счетов: обработки и внешние решения
Если нужно отправить счета сразу нескольким клиентам (например, по итогам месяца), ручное подтверждение каждой отправки станет проблемой. В этом случае поможет:
- 📊 Стандартная обработка "Массовая рассылка писем" (доступна в 1С:УТ 11 и 1С:ERP). Позволяет выбрать документы по фильтру и отправить их пакетом.
- 🤖 Бизнес-процессы — настройка триггера "После проведения документа" с действием "Отправить email".
- 💻 Внешние обработки — например, "Рассылка документов по email" от фирмы 1С или сторонних разработчиков.
Для массовой рассылки через 1С:Бухгалтерия 8.3 можно использовать обработку "Печать и отправка документов по email" (доступна в Все функции → Печать и отправка). Алгоритм работы:
- Выберите тип документа (
Счёт на оплату). - Установите фильтр по дате, контрагенту или статусу.
- Настройте шаблон письма и почтовый профиль.
- Запустите обработку — система сгенерирует счета в
PDFи отправит их адресатам.
Если стандартных инструментов недостаточно, рассмотрите интеграцию с сервисами вроде Unisender, SendPulse или 1С-Битрикс24. Они позволяют:
- 📅 Настраивать отложенную отправку (например, в 10:00 по Москве).
- 📊 Отслеживать открытия писем и клики по ссылкам.
- 🔄 Автоматически отправлять напоминания о просроченных счётах.
⚠️ Внимание: При массовой рассылке более 100 писем в день некоторые почтовые серверы (например, Yandex) могут временно блокировать аккаунт. Чтобы избежать этого, настройте постепенную отправку (например, по 20 писем в час) или используйте специализированные сервисы рассылок.
Программирование автоматической рассылки: примеры кода
Для нестандартных задач (например, отправки счетов с уникальными условиями или интеграции с CRM) потребуется написать код на встроенном языке 1С. Ниже приведём базовые примеры.
Пример 1. Отправка счёта по событию "После записи"
Добавляем обработчик в модуль документа СчётНаОплату:
Процедура ПослеЗаписи(Отказ)
Если ЭтотОбъект.ПометкаУдаления = Ложь И ЭтотОбъект.Проведен Тогда
ОтправитьСчётПоEmail(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
Процедура ОтправитьСчётПоEmail(Счёт)
ПочтовыйПрофиль = ПочтовыеПрофили.НайтиПоНаименованию("Основной SMTP");
Если ПочтовыйПрофиль = Неопределено Тогда
Сообщить("Не найден почтовый профиль!");
Возврат;
КонецЕсли;
// Формируем PDF-счёт
Макет = Документы.СчётНаОплату.ПечатнаяФорма(Счёт, "СчётНаОплату");
ВременныйФайл = ПолучениеВременногоИмениФайла("pdf");
Макет.Вывести(ВременныйФайл);
// Отправляем письмо
ПочтовоеСообщение = Новый ПочтовоеСообщение;
ПочтовоеСообщение.Адресат = Счёт.Контрагент.ЭлектроннаяПочта;
ПочтовоеСообщение.Тема = "Счёт №" + Счёт.Номер + " от " + Формат(Счёт.Дата, "ДФ=dd.MM.yyyy");
ПочтовоеСообщение.Текст = "Добрый день! Прилагаем счёт на оплату.";
ПочтовоеСообщение.Вложения.Добавить(ВременныйФайл);
Попытка
ПочтовыйПрофиль.Отправить(ПочтовоеСообщение);
Сообщить("Счёт успешно отправлен на " + Счёт.Контрагент.ЭлектроннаяПочта);
Исключение
Сообщить("Ошибка отправки: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Пример 2. Массовая рассылка по расписанию
Для отправки счетов по расписанию (например, каждый день в 9:00) создаём регламентное задание:
Процедура ВыполнитьРассылкуСчетов() Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СчётНаОплату.Ссылка КАК Ссылка
|ИЗ
| Документ.СчётНаОплату КАК СчётНаОплату
|ГДЕ
| СчётНаОплату.Статус = &Статус
| И СчётНаОплату.Дата >= НачалоДня(ТекущаяДата())";
Запрос.УстановитьПараметр("Статус", Перечисления.СтатусыСчёта.ОжидаетОплаты);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Счёт = Выборка.Ссылка.ПолучитьОбъект();
ОтправитьСчётПоEmail(Счёт); // Используем процедуру из предыдущего примера
КонецЦикла;
КонецПроцедуры
Чтобы задача выполнялась автоматически, зарегистрируйте её в Регламентные задания (Администрирование → Поддержка и обслуживание → Регламентные операции).
Как проверить, отправлено ли письмо?
Для отладки добавьте в код запись в регистр сведений или журнал регистрации:
ЗаписьЖурналаРегистрации("РассылкаСчетов", УровеньЖурналаРегистрации.Информация, , "Отправлен счёт " + Счёт.Номер + " на " + Счёт.Контрагент.ЭлектроннаяПочта);
Просмотреть логи можно в Администрирование → Журналы регистрации.
Типичные ошибки и их решения
При настройке автоматической рассылки пользователи часто сталкиваются с проблемами. Вот самые распространённые ошибки и способы их устранения:
| Ошибка | Причина | Решение |
|---|---|---|
Ошибка аутентификации на SMTP-сервере |
Неверный логин/пароль или блокировка аккаунта | Проверьте данные для входа. Если используется 2FA, сгенерируйте пароль приложения |
Соединение с сервером не установлено |
Порт блокируется фаерволом или антивирусом | Откройте порт 587/465 в настройках сетевого экрана |
| Письма не доходят до клиента | Попадание в спам или ошибки DNS-записей | Настройте SPF, DKIM, DMARC. Проверьте папку "Спам" у получателя |
Не удалось сформировать PDF |
Отсутствует макет печатной формы | Установите стандартный макет счёта в настройках документа |
| Письма уходят без вложений | Ошибка в коде или настройках шаблона | Проверьте путь к файлу вложения в обработчике отправки |
Если проблема не решена, включите журнал регистрации для почтовых событий:
- Перейдите в
Администрирование → Журналы регистрации. - Создайте новую настройку с событием
Почта. - Установите уровень детализации
Отладка. - Повторите отправку счёта и изучите логи.
Частая ошибка при интеграции с Gmail — блокировка "менее безопасных приложений". В этом случае:
- Включите опцию
Разрешить менее безопасные приложенияв настройках аккаунта Google. - Или используйте
OAuth 2.0для авторизации (требует доработки кода).
Перед настройкой рассылки проверьте, что у всех контрагентов в 1С заполнено поле "Электронная почта". Без этого автоматизация работать не будет!
Безопасность и соответствие 152-ФЗ
Автоматическая рассылка счетов затрагивает вопросы защиты персональных данных и соблюдения законодательства. Согласно 152-ФЗ "О персональных данных", email-адреса клиентов относятся к персональной информации, и их обработка требует:
- 📜 Согласия на обработку — у вас должно быть подтверждение от клиента (например, в договоре или отдельном согласии).
- 🔐 Защиты данных — почтовые профили в 1С должны храниться в зашифрованном виде, доступ только у ответственных лиц.
- 📋 Ведения журнала — фиксируйте факты отправки счетов (дату, адресата, статус доставки).
Рекомендации по безопасности:
- 🔑 Используйте
SSL/TLSдля шифрования соединения сSMTP-сервером. - 🛡️ Настройте двухфакторную аутентификацию для почтового аккаунта.
- 🗑️ Регулярно очищайте папку
Исходящиев почтовом клиенте от старых писем. - 🔄 Архивируйте отправленные счета в 1С (например, в регистре сведений).
Если ваша компания работает с европейскими клиентами, учтите требования GDPR:
- В письме со счётом укажите цель обработки данных (например, "для оформления платежа").
- Дайте возможность отписаться от рассылки (ссылка в подвале письма).
⚠️ Внимание: Детали требований 152-ФЗ могут меняться. Перед массовой рассылкой уточните актуальные нормы на сайте Роскомнадзора или у юриста компании.
FAQ: Частые вопросы по автоматической рассылке счетов
Можно ли отправить счёт в WhatsApp или Telegram?
Стандартными средствами 1С — нет. Но можно интегрировать систему с мессенджерами через:
- 🤖 Сервисы вроде ChatAPI или Twilio (для WhatsApp).
- 💬 Боты в Telegram — через
HTTP-запросык API мессенджера.
Для этого потребуется написать внешнюю обработку или использовать готовые решения от партнёров 1С.
Как отправить счёт с QR-кодом для оплаты?
QR-код можно сгенерировать прямо в 1С и вставить в шаблон счёта:
- Используйте функцию
ПолучитьQRКод()из библиотеки OneScript. - Или подключите обработку "QRCode для 1С" (доступна на Инфостарт).
- Вставьте QR в макет печатной формы счёта (например, со ссылкой на оплату через СБП).
Пример кода для генерации QR:
QR = Новый QRКод;
QR.УстановитьДанные("ST00012|Name=ООО Ромашка|PersonalAcc=40802810900000000001|BankName=АО Альфа-Банк|BIC=044525593|CorrespAcc=30101810200000000593");
Макет.ВставитьКартинку(QR.ПолучитьИзображение(), "QRCode");
Почему клиенты не получают счета, хотя в 1С статус "Отправлено"?
Возможные причины:
- 📥 Письмо попало в папку
Спам(проверьте настройкиSPF/DKIM). - 🚫 Почтовый сервер блокирует исходящие письма (например, Yandex ограничивает 100 писем/час).
- 🔧 Ошибка в шаблоне письма (например, неверный email получателя).
- 📡 Проблемы с сетью или
SMTP-сервером (тестируйте через Telnet).
Для диагностики:
- Проверьте логи почтового сервера.
- Отправьте тестовое письмо на свой email.
- Используйте сервисы вроде Mail-Tester для проверки спам-рейтинга.
Как настроить автоматическое напоминание о просроченных счётах?
Варианты реализации:
- 📅 Регламентное задание — создайте обработку, которая раз в день проверяет просроченные счета и отправляет напоминания.
- 🤖 Бизнес-процесс — в 1С:ERP или 1С:УТ настройте цепочку действий с условием
ДатаОплаты < ТекущаяДата(). - 💌 Внешний сервис — подключите 1С к Bitrix24 или AmoCRM для автоматических напоминаний.
Пример кода для регламентного задания:
Процедура НапомнитьОПросроченныхСчётах()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СчётНаОплату.Ссылка КАК Ссылка
|ИЗ
| Документ.СчётНаОплату КАК СчётНаОплату
|ГДЕ
| СчётНаОплату.ДатаОплаты < ТекущаяДата()
| И СчётНаОплату.Статус = &Статус";
Запрос.УстановитьПараметр("Статус", Перечисления.СтатусыСчёта.ОжидаетОплаты);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Счёт = Выборка.Ссылка.ПолучитьОбъект();
ОтправитьНапоминание(Счёт);
КонецЦикла;
КонецПроцедуры
Можно ли отправить счёт с электронной подписью?
Да, для этого:
- Подключите криптопровайдер (например, КриптоПро CSP или ВипНет CSP).
- Настройте сертификат ЭП в
Администрирование → Настройки программы → Электронная подпись. - В шаблоне счёта добавьте подписание
PDFперед отправкой:
Подписчик = Новый ПодписчикЭлектроннойПодписи;
Подписчик.Сертификат = ПолучитьСертификатПоОтпечатку("ОтпечатокВашегоСертификата");
Подписчик.ПодписатьФайл(ВременныйФайл);
Учтите, что для юридической значимости подписи нужно соблюдать требования 63-ФЗ (использовать квалифицированную ЭП).