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