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

Документы и Печать · 10 мин

Счет с QR-кодом в 1С: пошаговая инструкция

Как сделать счет с QR-кодом в 1С: включение СБП, настройка шаблона печатной формы, добавление QR в макет, проверка платежа и типичные ошибки.

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

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

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

Какие способы добавить QR-код на счет существуют

Прежде чем настраивать, определитесь с вариантом реализации. От этого зависит объем работ и результат.

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

Штатная оплата через СБП (БСП)

Подходит, если нужна автоматическая сверка оплат и статусы платежей. Требует договора с банком-участником СБП и настройки подключения.

QR-код в макете печатной формы

Подходит, если достаточно показать клиенту код для перевода по реквизитам. Сверка оплат остается ручной, нужна небольшая доработка макета.

Внешняя печатная форма

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

Штатный механизм СБП работает через банк-эквайер: 1С формирует платежную ссылку, банк возвращает QR-код, а после оплаты присылает уведомление, и документ помечается оплаченным. Это самый «чистый» вариант для торговых компаний с большим потоком счетов.

Вариант с доработкой макета проще: QR-код формируется из строки по стандарту, который поддерживают банковские приложения (формат payload СБП или произвольная строка с реквизитами — зависит от банка получателя). Клиент сканирует код и переводит деньги как обычный платеж.

Как включить штатную оплату по QR-кодам (СБП)

В конфигурациях на базе БСП (БП 3.0, УТ 11, КА 2, ERP) функциональность уже встроена, но по умолчанию отключена. Порядок включения на примере типовой логики БСП:

Порядок включения СБП
  1. 1
    Откройте раздел «Администрирование» → «Интернет-поддержка и сервисы» (в некоторых конфигурациях — «Настройки электронных платежей»).
  2. 2
    Включите флажок «Оплата по QR-кодам (СБП)» / «Платежи через Систему быстрых платежей».
  3. 3
    Перейдите в настройки подключения и укажите банк-эквайер, с которым заключен договор на прием платежей СБП.
  4. 4
    Введите параметры подключения, выданные банком (идентификатор мерчанта, логин, ключи).
  5. 5
    Проверьте соединение кнопкой «Проверить подключение».
  6. 6
    Убедитесь, что в печатной форме счета появился QR-код — сформируйте тестовый счет.

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

Как добавить QR-код в макет счета вручную

Если автоматическая сверка не нужна, QR-код добавляется прямо в макет печатной формы. Это делается в конфигураторе или через внешнюю печатную форму. Общий принцип: в модуле формирования печатной формы генерируется картинка QR-кода и вставляется в область макета.

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

Строка данных для QR-кода

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

bsl
// Пример: формирование 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 см) плохо считывается камерой.

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

Типичные ошибки
01
QR-код формируется из произвольной строки без согласования с банком — приложение клиента не распознает платеж.
02
Сумма передается в рублях вместо копеек — клиенту выставляется платеж в 100 раз меньше или больше.
03
В payload попадают старые реквизиты после смены расчетного счета — деньги уходят на закрытый счет.
04
Макет доработан в рабочей базе без копии — при ошибке перестают печататься все счета.
05
QR размещается вплотную к тексту без «тихой зоны» — сканеры не считывают код.
06
Ожидается автоматическая сверка оплат при варианте «QR в макете» — а она там не предусмотрена, оплаты нужно разносить вручную.

Ещё одно ограничение: штатный механизм СБП в 1С ориентирован на платежи от физических лиц (B2C). Для платежей между юрлицами (B2B) возможности зависят от банка и версии конфигурации — уточняйте поддержку у банка-эквайера.

Что выбрать в вашей ситуации

Маршрут решения

Как выбрать действие

Много счетов физлицам и нужна автоматическая сверка оплатПодключайте штатную оплату через СБП и заключайте договор с банком
Счетов немного, бухгалтер сверяет оплаты по выпискеДобавьте QR-код в макет или внешнюю печатную форму
Конфигурация на поддержке, изменения запрещены политикой компанииИспользуйте внешнюю печатную форму (.epf)
Конфигурация старая, на обычных формах, без БСППланируйте доработку с внешней компонентой генерации QR или обновление конфигурации
Итог

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

QR-код на счете в 1С делается либо штатной оплатой через СБП (с договором с банком и автосверкой), либо доработкой макета печатной формы. Формат строки QR согласуйте с банком, сумму передавайте в копейках, а результат проверяйте сканированием из банковского приложения до отправки счетов клиентам.

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

Нужен ли договор с банком, чтобы просто вывести QR-код на счет?

Для штатного механизма СБП — да, без договора с банком-участником СБП платежная ссылка не сформируется. Для варианта «QR в макете» договор не обязателен, но формат строки все равно нужно согласовать с банком, иначе приложение клиента не распознает платеж.

QR-код сканируется, но банковское приложение показывает просто текст — что не так?

Строка payload не соответствует формату, который понимает банк. Проверьте структуру: обязательные поля (ИНН получателя, счет, БИК, назначение), разделители и кодировку. Запросите у банка актуальный шаблон payload для корпоративных QR-платежей.

Можно ли сделать QR-код без изменения конфигурации?

Да, через внешнюю печатную форму (.epf), подключенную в разделе дополнительных отчетов и обработок. Конфигурация при этом остается на поддержке и обновляется штатно.

Почему сумма в платеже по QR отличается от суммы счета?

Чаще всего сумма передана не в тех единицах: в формате ST она указывается в копейках. Также проверьте, что в payload подставляется итоговая сумма счета с НДС, а не сумма без налога или сумма одной из строк.

Будет ли 1С автоматически видеть оплату по QR-коду?

Только при использовании штатного механизма СБП с подключением к банку — тогда приходит уведомление об оплате. Если QR добавлен в макет вручную, оплата приходит обычным банковским переводом и разносится по выписке стандартным способом.

Какого размера должен быть QR-код на печатной форме?

Минимальный практический размер — около 2×2 см, оптимально 3×3 см с полями («тихой зоной») вокруг кода. Проверьте читаемость на реальной распечатке, а не только на экране: при печати мелкие коды часто размываются.