Документы и Печать · 11 мин
Как добавить QR-код в счет на оплату в 1С
Как добавить QR-код в счет на оплату в 1С: настройка макета, типовые механизмы СБП и оплаты по QR, изменение печатной формы, проверка результата и типичные ошибки.
QR-код в счете на оплату позволяет покупателю оплатить документ со смартфона: камера или банковское приложение считывает код, и платежное поручение заполняется автоматически. В типовых конфигурациях 1С (Бухгалтерия предприятия, Управление торговлей, Комплексная автоматизация, ERP) такая возможность уже встроена — чаще всего достаточно включить соответствующую настройку, а не дорабатывать конфигурацию.
Существует два принципиально разных сценария. Первый — QR-код по стандарту ГОСТ Р 56042-2014 для оплаты через банк: в код зашиваются реквизиты получателя, сумма и назначение платежа. Второй — QR-код Системы быстрых платежей (СБП), когда оплата проходит мгновенно по подключенному договору с банком или платежным агрегатором. Подход к настройке в этих случаях отличается.
Ниже разобраны оба варианта: где включается вывод кода, как отредактировать макет печатной формы, если типового расположения недостаточно, как проверить корректность сформированного кода и какие ошибки встречаются чаще всего.
Что нужно проверить перед настройкой
Прежде чем менять печатную форму, убедитесь, что в базе заполнены данные, из которых формируется QR-код. Код строится из реквизитов организации: наименование получателя, ИНН, КПП, номер счета, БИК банка, корреспондентский счет, а также суммы и назначения платежа. Если какой-то реквизит пуст или устарел, код либо не сформируется, либо приведет покупателя к ошибочному платежу.
Откройте карточку организации (раздел «Главное» — «Реквизиты организации» в БП или «НСИ и администрирование» — «Организации» в УТ/ERP) и проверьте банковский счет по умолчанию. Именно счет по умолчанию подставляется в счет на оплату и в QR-код.
Также уточните версию конфигурации: механизмы оплаты по QR-коду активно развиваются, и в старых релизах нужной настройки может не быть. При необходимости обновите конфигурацию на копии базы, проверьте работу и только потом переносите изменения в рабочую базу.
Вариант 1: QR-код оплаты через СБП в 1С:Бухгалтерии
В 1С:Бухгалтерии предприятия 8 типовой механизм называется «Оплата по QR-коду» и работает через Систему быстрых платежей. Для него требуется договор с банком или платежным агрегатором, поддерживающим СБП, — без подключения сервиса код в счете не появится.
Порядок включения: перейдите в раздел «Главное» — «Настройки» — «Обмен электронными документами» либо «Продажи» — «Оплата по QR-коду» (точный путь зависит от релиза). Включите функциональную опцию, укажите договор с сервисом СБП и проверьте, что в настройках обмена прошла авторизация. После этого в счете на оплату появится команда формирования QR-кода, а в печатной форме — блок с кодом и суммой.
При таком варианте QR-код формируется динамически для каждого счета: в него зашивается конкретная сумма и назначение. Покупатель сканирует код в приложении своего банка и подтверждает платеж — заполнять реквизиты вручную не нужно.
Вариант 2: QR-код с банковскими реквизитами по ГОСТ
Если подключать СБП не планируется, в счет можно вывести статический QR-код по стандарту двумерного штрихкодирования банковских платежей. Такой код считывается приложением любого банка, и клиенту остается только подтвердить платеж. Этот вариант не требует договоров и комиссий — код формируется локально из реквизитов документа.
В части типовых конфигураций вывод такого кода уже предусмотрен в макете счета. Если в вашей печатной форме его нет, потребуется доработка макета: платформа 1С:Предприятие 8 умеет формировать QR-коды штатно, без внешних компонентов, через объект работы с двумерными штрихкодами.
Строка данных для кода собирается по формату: служебный заголовок, наименование получателя, его счет, БИК банка, корсчет, ИНН, сумма в копейках и назначение платежа. Поля разделяются символом вертикальной черты. Ошибка в любом поле делает код нечитаемым для банковского приложения, поэтому строку формируют программно, а не вручную.
Сравнение вариантов
Мгновенная оплата и автоматическое зачисление с отслеживанием статуса, но нужен договор с банком/агрегатором и возможна комиссия.
Работает без договоров и комиссий, но это обычный банковский перевод: оплата идет стандартные сроки, статус в 1С автоматически не отслеживается.
Подходит, когда менять конфигурацию нельзя (например, она на поддержке): макет подключается как внешняя обработка без снятия с поддержки.
Как изменить макет печатной формы счета
Если типовое расположение QR-кода не устраивает — например, нужно вывести его в другом месте листа или добавить в самописную форму, — редактируется макет. Безопасный путь: в разделе «Администрирование» — «Печатные формы, отчеты и обработки» включить «Дополнительные отчеты и обработки» и подключить внешнюю печатную форму счета. Тогда конфигурация остается на поддержке, а при обновлении макет не затрется.
Альтернатива — редактирование макета в конфигураторе. Найдите общий макет или макет документа «Счет на оплату покупателю», добавьте область под картинку QR-кода и в модуле менеджера документа допишите код формирования изображения и вывода его в табличный документ. Такой способ требует аккуратности: изменения типовых модулей усложняют обновление.
- 1Сделайте резервную копию базы или работайте на копии.
- 2Определите, какой макет использует счет: откройте печатную форму и через «Еще» — «Изменить макет» или поиском в конфигураторе.
- 3Добавьте в макет область с рисунком для QR-кода.
- 4В модуле формирования печатной формы соберите строку данных платежа и сформируйте картинку QR-кода штатным механизмом платформы.
- 5Выведите картинку в табличный документ, сформируйте тестовый счет и отсканируйте код приложением банка.
- 6Перенесите доработку в рабочую базу и повторите проверку на реальном документе.
Пример формирования строки платежа и кода на встроенном языке (упрощенно):
СтрокаQR = "ST00012|Name=" + НаименованиеПолучателя
+ "|PersonalAcc=" + НомерСчета
+ "|BankName=" + НаименованиеБанка
+ "|BIC=" + БИК
+ "|CorrespAcc=" + КоррСчет
+ "|PayeeINN=" + ИНН
+ "|Sum=" + Формат(Сумма * 100, "ЧГ=")
+ "|Purpose=" + НазначениеПлатежа;
ДанныеQR = ГенерацияШтрихкода.ДанныеQRКода(СтрокаQR, 1, 200);
КартинкаQR = Новый Картинка(ДанныеQR);
Рисунок.Картинка = КартинкаQR;
ДанныеQR = ГенерацияШтрихкода.ДанныеQRКода(СтрокаДанных, УровеньКоррекции, Размер);Обратите внимание: сумма в строке указывается в копейках, назначение платежа не должно содержать символа вертикальной черты, а уровень коррекции ошибок лучше не занижать — иначе код хуже читается при печати на старых принтерах.
Как проверить, что QR-код работает
Формирование картинки в печатной форме еще не означает, что платеж пройдет корректно. Обязательная проверка — сканирование кода приложением реального банка. Сформируйте тестовый счет на небольшую сумму, распечатайте его или откройте PDF на экране и отсканируйте код со смартфона.
Сверьте каждое поле, которое подставило банковское приложение: получатель, ИНН, счет, БИК, сумма и назначение платежа должны совпадать с данными счета. Проверьте читаемость кода в обоих форматах — на бумаге после печати и в PDF, отправленном по электронной почте, так как сжатие при печати иногда портит мелкие модули кода.
Как проверить результат
Приложение распознает код и подставляет реквизиты и сумму
Код не читается или поля подставляются не все
Совпадает с суммой счета до копейки
Сумма отличается или равна нулю
ИНН, наименование и номер счета совпадают с карточкой организации
Подставляются устаревшие реквизиты другого счета
Код читается с распечатки с первой попытки
Код читается только с экрана — увеличьте размер картинки в макете
Частые ошибки и ограничения
Самая распространенная проблема — в документе выбран не тот банковский счет организации. QR-код строится из реквизитов счета, указанного в документе, а не из «основного» в справочнике: если в счете стоит старый расчетный счет, код уведет оплату на него. Перед массовой рассылкой проверьте поле «Банковский счет» в самом документе.
Вторая типичная ситуация — код есть на экране, но не читается с распечатки. Причины: слишком маленький размер картинки в макете, низкое качество печати, обрезка кода границей области. Увеличьте область рисунка и оставьте вокруг кода свободное поле.
Третья ошибка — ручная сборка строки данных с нарушением формата: лишние пробелы, кириллица там, где банк ждет латиницу, сумма в рублях вместо копеек. В этом случае приложение банка либо не распознает код, либо распознает его частично, и клиент заполнит платеж вручную с ошибками.
Что важно запомнить
QR-код в счете либо включается типовой настройкой (СБП в Бухгалтерии), либо добавляется доработкой макета с штатной генерацией QR-кода платформой. Перед рассылкой обязательно проверьте код сканированием: реквизиты, сумма в копейках и читаемость на бумаге.
Частые вопросы
Можно ли добавить QR-код без доработки конфигурации?
Да, если используется 1С:Бухгалтерия с подключенной оплатой по QR-коду через СБП — код появится в счете штатно. Также во многих конфигурациях можно подключить внешнюю печатную форму через механизм дополнительных отчетов и обработок, не снимая конфигурацию с поддержки.
Чем QR-код СБП отличается от кода с реквизитами по ГОСТ?
Код СБП проводит мгновенный платеж через Систему быстрых платежей и требует договора с банком или агрегатором. Код по ГОСТ — это просто зашитые в картинку реквизиты обычного банковского перевода: он работает без договоров, но оплата идет в стандартные сроки и не отслеживается в 1С автоматически.
Почему приложение банка не считывает QR-код из моего счета?
Чаще всего причина в нарушении формата строки данных: лишние символы, сумма не в копейках, недопустимые символы в назначении платежа. Реже — в слишком маленьком размере картинки или плохом качестве печати. Проверьте код с экрана: если с экрана читается, а с бумаги нет, проблема в печати, а не в данных.
Нужно ли заново формировать QR-код при изменении суммы счета?
Да. Сумма зашита внутрь кода, поэтому после изменения документа печатную форму нужно сформировать заново. Если вы отправляли счет в PDF, а затем изменили документ — выгрузите и отправьте клиенту новый файл.
Работает ли QR-код в счете, отправленном по электронной почте?
Да, код читается с экрана так же, как с бумаги. Убедитесь только, что при выгрузке в PDF картинка не сжимается до нечитаемого состояния, и проверьте файл перед отправкой, отсканировав код прямо с экрана.
Что делать, если организация сменила банк?
Обновите реквизиты в карточке организации и в банковских счетах, затем проверьте, какой счет указан в действующих и будущих счетах на оплату. Старые документы с прежними реквизитами содержат в QR-коде прежний счет — их нужно перепровести и сформировать заново перед повторной отправкой клиентам.