К статье
Практический материал

Учет и Финансы · 11 мин

Как формировать QR-коды на оплату в 1С

Как формировать QR-коды на оплату в 1С: типовые средства, СБП, ГОСТ Р 56042-2014, печать на счетах, типичные ошибки и проверка результата сканированием.

QR-код на оплату позволяет покупателю отсканировать код камерой смартфона или приложением банка и получить готовое платёжное поручение с заполненными реквизитами: получателем, ИНН, суммой, назначением платежа. В 1С такие коды печатают на счетах, актах, УПД и квитанциях, что сокращает число ошибок при ручном вводе реквизитов и ускоряет поступление оплат. Поддержка формирования QR-кодов встроена в типовые конфигурации («Бухгалтерия предприятия», «Управление торговлей», «Управление нашей фирмой» и другие), а также реализуется программно через библиотеку генерации двумерных кодов.

Существует два основных подхода. Первый — фискальный QR-код СБП (Система быстрых платежей), который формируется через банк или кассовое решение и позволяет принять оплату мгновенно. Второй — «статический» QR-код по стандарту ГОСТ Р 56042-2014, который просто кодирует реквизиты платежа в текстовой строке и распознаётся большинством банковских приложений. В типовых 1С чаще всего используется второй вариант для печатных форм, а СБП подключается отдельными сервисами.

Ниже разобрано, как включить печать QR-кода в типовых конфигурациях, какие реквизиты должны быть заполнены, как сформировать код программно и как проверить, что банк клиента корректно его считывает.

Какие виды QR-кодов на оплату используются в 1С

Прежде чем настраивать, важно различить два сценария, потому что они настраиваются по-разному и дают разный результат для покупателя.

QR-код по ГОСТ Р 56042-2014 — это строка с реквизитами платежа (получатель, ИНН, счёт, БИК, сумма, назначение), закодированная в двумерном виде. Банковское приложение распознаёт её и подставляет данные в форму платежа, но деньги уходят обычным платёжным поручением, со стандартными сроками и комиссиями банка. Именно этот тип печатается на счетах и актах в типовых конфигурациях.

QR-код СБП — динамическая ссылка на оплату через Систему быстрых платежей. Он формируется не самой 1С, а банком-эквайером или сервисом приёма платежей: 1С передаёт сумму и назначение, получает в ответ ссылку и строит из неё QR-код. Оплата приходит мгновенно, с автоматической идентификацией платежа. Для этого требуется договор с банком на подключение СБП и настройка интеграции (в типовых решениях есть механизм «Оплата по QR-кодам СБП» / «1C:Оплата»).

Сравнение вариантов

QR по ГОСТ Р 56042-2014

Подходит для печати на счетах и актах без интеграций. Ограничение: платёж идёт как обычное поручение, сверка оплат — по выписке.

QR-код СБП

Подходит для мгновенного приёма оплаты с автоидентификацией. Ограничение: нужен договор с банком или сервисом и настройка интеграции.

Программная генерация

Подходит для произвольных печатных форм, этикеток, квитанций. Ограничение: требуется доработка и тестирование распознавания разными банками.

Включение QR-кода на счёте в типовой «1С:Бухгалтерии»

В «1С:Бухгалтерии предприятия» печать QR-кода на счёте на оплату поддерживается типовыми средствами. Откройте документ «Счёт на оплату покупателю», нажмите «Печать» и выберите нужную форму. Если QR-код не выводится, проверьте настройки: в разделе «Главное → Печатные формы, отчёты и обработки» (или в настройках печати документа, в зависимости от релиза) должна быть включена опция вывода QR-кода на платёжных документах.

Ключевое условие — корректно заполненные реквизиты организации. Перейдите в «Главное → Реквизиты организации» и убедитесь, что указаны: ИНН, КПП, полное наименование, а в банковском счёте — номер счёта, БИК банка и корреспондентский счёт. Если хотя бы один из этих реквизитов пуст, QR-код либо не сформируется, либо будет содержать неполные данные, и банк клиента откажется его обрабатывать.

После включения настройки распечатайте тестовый счёт с реальной суммой и назначением платежа. Назначение берётся из документа, сумма — из итога счёта. Если в счёте несколько позиций с разными ставками НДС, убедитесь, что текст назначения платежа сформирован корректно — он попадёт в код без изменений.

Порядок действий
  1. 1
    Заполните в карточке организации ИНН, КПП, наименование и банковский счёт с БИК и корсчётом.
  2. 2
    Откройте настройки печатных форм и включите вывод QR-кода на счетах на оплату.
  3. 3
    Создайте тестовый счёт, распечатайте его и отсканируйте код приложением банка.
  4. 4
    Сверьте получателя, сумму и назначение платежа в форме банка с данными счёта.
  5. 5
    При расхождениях исправьте реквизиты и повторите проверку до полного совпадения.

QR-код в «Управлении торговлей» и «Управлении нашей фирмой»

В «1С:Управление торговлей» и «1С:Управление нашей фирмой» логика аналогична: QR-код выводится на печатной форме счёта, если заполнены банковские реквизиты организации и включён соответствующий параметр печати. В УНФ дополнительно проверьте раздел «Компания → Настройки → Печатные формы» — там задаётся, какие документы снабжаются кодом.

Для приёма оплат через СБП в этих конфигурациях предусмотрены механизмы подключения к сервисам приёма платежей. Настройка выполняется через раздел интеграций: указываются данные договора с банком или платёжным сервисом, после чего при выставлении счёта или пробитии чека формируется динамический QR-код СБП. Точный состав настроек зависит от релиза конфигурации и выбранного сервиса, поэтому ориентируйтесь на документацию к вашей версии.

Важный нюанс для розницы: QR-код СБП на экране кассира и QR-код на печатном счёте — разные механизмы. Первый требует подключённой кассы или экрана покупателя, второй работает без всякого оборудования. Не пытайтесь «совместить» их одной настройкой — они включаются независимо.

Программное формирование QR-кода

Если типовой печатной формы недостаточно — например, нужно вывести код на этикетке, квитанции ЖКХ или в произвольном макете, — используйте встроенный механизм платформы для генерации двумерных кодов. В управляемых формах данные QR-кода формируются функцией из общего модуля работы с двумерными кодами (в БСП — «ГенерацияШтрихкода»), результат помещается в картинку макета.

Строка содержимого для платёжного QR-кода по ГОСТ Р 56042-2014 собирается из полей, разделённых символом «|»: версия стандарта, кодировка, наименование получателя, ИНН, расчётный счёт, БИК, корсчёт, сумма в копейках, назначение платежа. Ошибка в любом разделителе или лишний пробел делают код нечитаемым для части банковских приложений, поэтому строку лучше собирать строго по шаблону и тестировать минимум в двух-трёх разных банках.

Пример программного вызова в типовой библиотеке выглядит так: сначала формируется структура данных штрихкода с типом «QR», затем вызывается функция получения картинки, и результат подставляется в область макета с типом «Картинка». Уровень коррекции ошибок рекомендуется оставлять не ниже среднего, чтобы код читался даже при неидеальной печати.

bsl
ПараметрыКода = Новый Структура("ТипКода, Ширина, Высота, Данные", 16, 200, 200, СтрокаQR); КартинкаQR = ГенерацияШтрихкода.ДанныеQRКода(ПараметрыКода);

Проверка сформированного QR-кода

Сформированный код нельзя считать рабочим, пока он не проверен сканированием. Минимальная проверка — открыть приложение своего банка, выбрать оплату по QR-коду и отсканировать код с экрана или распечатки. В форме платежа должны автоматически появиться получатель, ИНН, счёт, сумма и назначение.

Проверьте код минимум в двух банковских приложениях: разные банки по-разному интерпретируют необязательные поля стандарта. Особое внимание — к сумме: по ГОСТ она передаётся в копейках, и ошибка в формате приводит к тому, что вместо 1500 рублей клиент увидит 15 рублей или 150 000. Также проверьте кириллицу в назначении платежа — при неверной кодировке текст превращается в нечитаемые символы.

Контрольные точки

Как проверить результат

Сканирование кодом банка
Норма

Форма платежа заполнена получателем, суммой и назначением

Тревожный признак

Код не распознаётся или поля пустые

Сумма платежа
Норма

Совпадает с итогом счёта до копейки

Тревожный признак

Сумма отличается в 100 раз или обрезана

Назначение платежа
Норма

Читаемый русский текст с номером счёта

Тревожный признак

Крякозябры или пустое поле

Печатный вариант
Норма

Код читается с распечатки на обычном принтере

Тревожный признак

Читается только с экрана — увеличьте размер картинки

Типичные ошибки и ограничения

Самая частая причина нерабочего QR-кода — незаполненные реквизиты организации или банковского счёта. Вторая по частоте — печать счёта до изменения реквизитов: код содержит старый счёт, и деньги уходят не туда. Третья — ручная сборка строки по ГОСТ с нарушением порядка полей или разделителей.

Учитывайте и ограничения самого формата. QR по ГОСТ не гарантирует оплату: клиент может отсканировать код и не завершить платёж. Сверка оплат всё равно выполняется по банковской выписке. Для автоматической идентификации платежей нужен СБП с его уведомлениями, а не статический код на печатной форме.

Типичные ошибки
01
Пустой БИК или корсчёт в банковском счёте — банк клиента отклоняет платёж по коду.
02
Сумма передана в рублях вместо копеек — клиент видит неверную сумму и отказывается платить.
03
Печать кода слишком маленького размера — камера телефона не фокусируется, код не читается.
04
Изменение счёта после печати без перепечатки — клиент платит по устаревшим реквизитам.
05
Проверка кода только одним банком — в других приложениях поля заполняются некорректно.

Когда нужна доработка и помощь специалиста

Типовых средств достаточно, если задача — печатать QR-код на стандартном счёте и реквизиты организации стабильны. Доработка требуется, когда код нужен на нестандартных документах, в электронных письмах клиентам, на этикетках или когда формат строки должен отличаться от типового (например, с дополнительными полями плательщика для квитанций).

Интеграцию с СБП, особенно с автоматической сверкой оплат и возвратами, разумнее поручить специалисту по 1С или внедренцу выбранного платёжного сервиса: ошибки в обработке уведомлений об оплате приводят к финансовым расхождениям в учёте. Перед любой доработкой сделайте копию информационной базы и тестируйте изменения на копии, а не в рабочей базе.

Итог

Что важно запомнить

Печать QR-кода на счёте включается типовыми средствами при полностью заполненных банковских реквизитах организации. Для нестандартных форм код генерируется программно по ГОСТ Р 56042-2014, для мгновенных оплат — через СБП. Любой сформированный код обязательно проверяется сканированием минимум в двух банковских приложениях, а после смены реквизитов документы перепечатываются.

Частые вопросы

Почему QR-код не появляется на печатной форме счёта?

Чаще всего не заполнен банковский счёт организации или в нём отсутствуют БИК и корреспондентский счёт. Также проверьте, что в настройках печатных форм включён вывод QR-кода, а релиз конфигурации поддерживает эту возможность — в старых версиях её может не быть.

Можно ли вывести QR-код на акте или УПД?

В типовых конфигурациях QR-код предусмотрен в первую очередь для счетов на оплату. Для актов и УПД код добавляется доработкой макета: в макет вставляется область с картинкой, а в модуле формирования печатной формы генерируется изображение кода.

Чем QR-код СБП отличается от кода на счёте?

Код на счёте по ГОСТ лишь переносит реквизиты в приложение банка, платёж идёт обычным поручением. Код СБП — это ссылка на мгновенный платёж через Систему быстрых платежей с подтверждением оплаты в режиме реального времени, но он требует договора с банком или платёжным сервисом.

Клиент отсканировал код, а сумма не совпадает со счётом. В чём причина?

Типовая причина — ошибка в формате суммы: по стандарту она передаётся в копейках. Если строку кода собирали вручную или доработкой, проверьте умножение на 100 и отсутствие разделителей разрядов. В типовом механизме проверьте, не изменялась ли сумма счёта после печати.

Обязательно ли тестировать код в разных банках?

Да. Банковские приложения по-разному обрабатывают необязательные поля и кодировку текста. Код, идеально работающий в одном банке, в другом может выдавать пустое назначение платежа или искажённую кириллицу. Практический минимум — проверка в двух-трёх популярных банках ваших клиентов.

Нужно ли перепечатывать счета после смены банка организации?

Да, обязательно. QR-код содержит реквизиты на момент формирования, поэтому все ранее распечатанные и отправленные счета ведут на старый счёт. Сформируйте документы заново и сообщите клиентам, которым уже ушли старые версии, о необходимости использовать новые реквизиты.