Документы и Печать · 10 мин
Счет с QR-кодом в 1С: пошаговая инструкция
Как сделать счет с QR-кодом в 1С: включение СБП, настройка шаблона печатной формы, добавление QR в макет, проверка платежа и типичные ошибки.
QR-код на счете позволяет покупателю оплатить документ со смартфона через Систему быстрых платежей (СБП) или банковское приложение — без ручного ввода реквизитов. В типовых конфигурациях 1С (Управление торговлей, Бухгалтерия предприятия, Комплексная автоматизация) такая возможность реализуется двумя путями: штатным механизмом оплаты через СБП или доработкой макета печатной формы с генерацией кода по строке payload.
Выбор способа зависит от задачи. Если нужна полноценная интеграция с банком — автоматическая сверка оплат и актуальные статусы — используйте подсистему «Оплата через СБП» из Библиотеки стандартных подсистем (БСП). Если достаточно, чтобы клиент сам перевел деньги по реквизитам, а бухгалтер сверит оплату по выписке, — достаточно добавить QR-код в макет счета без подключения к банку.
Ниже разобраны оба сценария: от включения настроек до проверки результата на тестовом счете. Инструкции применимы к конфигурациям на управляемых формах; в старых версиях на обычных формах механика отличается и потребует доработки.
Какие способы добавить QR-код на счет существуют
Прежде чем настраивать, определитесь с вариантом реализации. От этого зависит объем работ и результат.
Сравнение вариантов
Подходит, если нужна автоматическая сверка оплат и статусы платежей. Требует договора с банком-участником СБП и настройки подключения.
Подходит, если достаточно показать клиенту код для перевода по реквизитам. Сверка оплат остается ручной, нужна небольшая доработка макета.
Подходит, если нет прав на изменение конфигурации. Макет с QR подключается как внешняя обработка без снятия конфигурации с поддержки.
Штатный механизм СБП работает через банк-эквайер: 1С формирует платежную ссылку, банк возвращает QR-код, а после оплаты присылает уведомление, и документ помечается оплаченным. Это самый «чистый» вариант для торговых компаний с большим потоком счетов.
Вариант с доработкой макета проще: QR-код формируется из строки по стандарту, который поддерживают банковские приложения (формат payload СБП или произвольная строка с реквизитами — зависит от банка получателя). Клиент сканирует код и переводит деньги как обычный платеж.
Как включить штатную оплату по QR-кодам (СБП)
В конфигурациях на базе БСП (БП 3.0, УТ 11, КА 2, ERP) функциональность уже встроена, но по умолчанию отключена. Порядок включения на примере типовой логики БСП:
- 1Откройте раздел «Администрирование» → «Интернет-поддержка и сервисы» (в некоторых конфигурациях — «Настройки электронных платежей»).
- 2Включите флажок «Оплата по QR-кодам (СБП)» / «Платежи через Систему быстрых платежей».
- 3Перейдите в настройки подключения и укажите банк-эквайер, с которым заключен договор на прием платежей СБП.
- 4Введите параметры подключения, выданные банком (идентификатор мерчанта, логин, ключи).
- 5Проверьте соединение кнопкой «Проверить подключение».
- 6Убедитесь, что в печатной форме счета появился QR-код — сформируйте тестовый счет.
После включения в документе «Счет на оплату покупателю» появляется команда формирования платежной ссылки или QR-код выводится сразу на печать. При оплате клиентом банк отправляет уведомление, и в 1С создается запись об оплате либо документ помечается соответствующим статусом — поведение зависит от конфигурации.
Как добавить QR-код в макет счета вручную
Если автоматическая сверка не нужна, QR-код добавляется прямо в макет печатной формы. Это делается в конфигураторе или через внешнюю печатную форму. Общий принцип: в модуле формирования печатной формы генерируется картинка QR-кода и вставляется в область макета.
Для генерации QR-кода в 1С используется COM-объект, внешняя компонента или вызов API. В современных версиях платформы доступна работа с генерацией штрихкодов через типовые механизмы БСП (подсистема «Печать» и функции формирования QR), либо применяется компонента формирования изображения штрихкода, входящая в поставку платформы.
Строка данных для QR-кода
Содержимое кода — это строка в формате, который распознает банковское приложение. Для платежей по реквизитам юрлица чаще применяется формат, согласованный с банком получателя: многие банки публикуют требования к payload для корпоративных QR-кодов (назначение, ИНН, счет, сумма). Уточните формат в своем банке — универсального формата «для всех банков» вне СБП не существует.
// Пример: формирование QR-кода в модуле печатной формы
ДанныеQR = "ST00012|Name=ООО Ромашка|PersonalAcc=40702810100000000001|BankName=ПАО Банк|BIC=044525225|CorrespAcc=30101810400000000225|PayeeINN=7707083893|Sum=1500000|Purpose=Оплата по счету 123";
КартинкаQR = ГенерацияШтрихкода.ДанныеQRКода(ДанныеQR, 0, 150);
Если КартинкаQR <> Неопределено Тогда
Рисунок = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.Картинка = Новый Картинка(КартинкаQR);
КонецЕсли;Функция ГенерацияШтрихкода.ДанныеQRКода доступна в конфигурациях с БСП и возвращает двоичные данные картинки. Если её нет, используется компонента «1С:Библиотека генерации штрихкодов» или аналог. Сумма в формате ST указывается в копейках.
Как подключить QR через внешнюю печатную форму
Если конфигурация на поддержке и менять её нельзя, макет с QR-кодом оформляется как внешняя печатная форма (файл .epf). Она подключается через «Администрирование» → «Печатные формы, отчеты и обработки» → «Дополнительные отчеты и обработки».
В модуле внешней формы реализуется экспортная функция Печать(), которая строит табличный документ: типовой макет счета плюс область с QR-кодом. Плюс подхода — конфигурация остается на полной поддержке и обновляется штатно; минус — при смене типового макета внешнюю форму придется синхронизировать вручную.
Как проверить, что QR-код работает
Перед отправкой счетов клиентам обязательно проверьте результат на тестовом документе. Сканируйте код реальным банковским приложением, а не только сканером QR.
Как проверить результат
Приложение распознает платеж и подставляет получателя, сумму и назначение
Код сканируется как обычный текст или не читается вовсе
Сумма совпадает с итогом счета
Сумма пустая, нулевая или отличается в 100 раз (ошибка с копейками)
ИНН, счет и банк совпадают с карточкой организации в 1С
Подставляются реквизиты другой организации или старый расчетный счет
QR не перекрывает текст, читаем при печати на бумаге
Код размыт, обрезан полями или наложен на таблицу
Особое внимание уделите сумме: в формате ST она передается в копейках, и распространенная ошибка — счет на 15 000 рублей превращается в платеж на 150 рублей. Также проверьте печать на реальном принтере: слишком мелкий QR (меньше примерно 2×2 см) плохо считывается камерой.
Типичные ошибки и ограничения
Ещё одно ограничение: штатный механизм СБП в 1С ориентирован на платежи от физических лиц (B2C). Для платежей между юрлицами (B2B) возможности зависят от банка и версии конфигурации — уточняйте поддержку у банка-эквайера.
Что выбрать в вашей ситуации
Как выбрать действие
Что важно запомнить
QR-код на счете в 1С делается либо штатной оплатой через СБП (с договором с банком и автосверкой), либо доработкой макета печатной формы. Формат строки QR согласуйте с банком, сумму передавайте в копейках, а результат проверяйте сканированием из банковского приложения до отправки счетов клиентам.
Частые вопросы
Нужен ли договор с банком, чтобы просто вывести QR-код на счет?
Для штатного механизма СБП — да, без договора с банком-участником СБП платежная ссылка не сформируется. Для варианта «QR в макете» договор не обязателен, но формат строки все равно нужно согласовать с банком, иначе приложение клиента не распознает платеж.
QR-код сканируется, но банковское приложение показывает просто текст — что не так?
Строка payload не соответствует формату, который понимает банк. Проверьте структуру: обязательные поля (ИНН получателя, счет, БИК, назначение), разделители и кодировку. Запросите у банка актуальный шаблон payload для корпоративных QR-платежей.
Можно ли сделать QR-код без изменения конфигурации?
Да, через внешнюю печатную форму (.epf), подключенную в разделе дополнительных отчетов и обработок. Конфигурация при этом остается на поддержке и обновляется штатно.
Почему сумма в платеже по QR отличается от суммы счета?
Чаще всего сумма передана не в тех единицах: в формате ST она указывается в копейках. Также проверьте, что в payload подставляется итоговая сумма счета с НДС, а не сумма без налога или сумма одной из строк.
Будет ли 1С автоматически видеть оплату по QR-коду?
Только при использовании штатного механизма СБП с подключением к банку — тогда приходит уведомление об оплате. Если QR добавлен в макет вручную, оплата приходит обычным банковским переводом и разносится по выписке стандартным способом.
Какого размера должен быть QR-код на печатной форме?
Минимальный практический размер — около 2×2 см, оптимально 3×3 см с полями («тихой зоной») вокруг кода. Проверьте читаемость на реальной распечатке, а не только на экране: при печати мелкие коды часто размываются.