QR-коды для оплаты стали неотъемлемой частью современного бизнеса — от небольших магазинов до крупных сетей. В 1С:Предприятие реализовать эту функцию можно несколькими способами, но многие пользователи сталкиваются с трудностями: где взять сам код, как его привязать к чеку, и почему клиенты не могут просканировать платеж. Эта статья закрывает все пробелы — от генерации QR для Системы быстрых платежей (СБП) до интеграции с онлайн-кассами и банковскими эквайрингами.
Мы разберём актуальные методы для конфигураций 1С:Бухгалтерия 8.3, 1С:Управление торговлей (УТ 11) и 1С:Розница 2.3, включая нюансы работы с 54-ФЗ и требованиями налоговой. Особое внимание уделим автоматической генерации QR через встроенные механизмы 1С без сторонних сервисов — это экономит время и исключает ошибки при ручном вводе реквизитов.
Если вы используете 1С:Касса или подключены к эквайрингу через Сбербанк Бизнес Онлайн, Тинькофф или Альфа-Банк, здесь найдёте готовые решения для вашего случая. А для разработчиков приведём примеры кода на 1С:Предприятие 8.3 для кастомизации QR под специфические задачи бизнеса.
1. Какие QR-коды для оплаты поддерживает 1С
В 1С:Предприятие можно работать с тремя основными типами QR-кодов для оплаты, каждый из которых решает свои задачи:
- 📱 Статический QR — содержит фиксированные реквизиты (ИНН, расчётный счёт, сумму). Подходит для постоянных платежей (например, абонентская плата). Генерируется один раз и используется многократно.
- 💳 Динамический QR для СБП — формируется под каждый чек с уникальным идентификатором транзакции. Обязателен для соблюдения 54-ФЗ при работе с онлайн-кассами.
- 🏦 QR от банка-эквайера — предоставляется банком (Сбербанк, Тинькофф, ВТБ) и привязан к их платежным шлюзам. Требует интеграции через API или модуль обмена.
Важно понимать, что СБП-QR (Система быстрых платежей) с 2023 года стал обязательным для всех торговцев, работающих с наличными и безналичными расчётами. Его отсутствие в чеке может привести к штрафам от налоговой. В 1С:Розница и 1С:УТ поддержка СБП реализована"из коробки", но требует правильной настройки.
Банковские QR-коды (например, от Сбербанк Эквайринг) обычно предоставляются в личном кабинете банка и встраиваются в 1С через обработки обмена. Их преимущество — мгновенное зачисление средств на счёт, но за это банки берут комиссию (от 1.5% до 3% в зависимости от тарифа).
⚠️ Внимание: Требования ЦБ РФ к QR-кодам для оплаты периодически обновляются. Перед настройкой проверьте актуальные правила на сайте Налоговой службы или в личном кабинете вашего банка-эквайера.
2. Генерация статического QR-кода в 1С без программирования
Если вам нужен QR для постоянных платежей (например, для оплаты счетов от клиентов), его можно создать прямо в 1С:Бухгалтерии 8.3 или 1С:УТ без привлечения разработчиков. Для этого:
- Откройте документ
Счёт на оплату покупателю(разделПродажи → Счета). - Заполните реквизиты получателя: ИНН, расчётный счёт, банк, сумму.
- Нажмите кнопку
Печать → QR-код для оплаты(в некоторых конфигурациях пункт может называтьсяСформировать QR). - Сохраните полученный QR в формате PNG или распечатайте прямо из 1С.
В результате сформируется QR-код, который клиент сможет отсканировать через мобильный банк (Сбербанк Онлайн, Тинькофф, ВТБ и др.). В коде будет закодирована строка вида:
ST00012|Name=ООО Ромашка|PersonalAcc=40702810900000001234|BankName=ПАО СБЕРБАНК|BIC=044525225|CorrespAcc=30101810400000000225|Sum=1000.00
Этот формат соответствует стандарту ISO 11649 и поддерживается большинством российских банков. Однако у статического QR есть ограничение: если сумма платежа изменится, придётся генерировать новый код.
ИНН и КПП получателя указаны верно
Расчётный счёт соответствует договору с клиентом
Сумма в QR совпадает с суммой в счёте
Банк получателя поддерживает платежи по QR (список на сайте ЦБ РФ)-->
3. Настройка динамического QR для СБП в 1С:Розница и УТ 11
Динамический QR-код для Системы быстрых платежей (СБП) генерируется под каждый чек и содержит уникальный идентификатор транзакции. Его обязательно печатать на чеках при работе с онлайн-кассами (в соответствии с 54-ФЗ). В 1С:Розница 2.3 и 1С:Управление торговлей 11 эта функция настроена по умолчанию, но требует предварительной конфигурации.
Шаги настройки:
- Перейдите в
Администрирование → Настройки программы → Печать чеков. - Включите опцию
Печатать QR-код для оплаты через СБП. - Укажите реквизиты вашей организации: ИНН, расчётный счёт, банк.
- В разделе
Оборудованиепроверьте, что ваша онлайн-касса поддерживает печать QR (например, Атол 90Ф, Штрих-М-ФР-К). - Сохраните настройки и протестируйте печать чека — QR должен появиться в нижней части документа.
Если QR не печатается, проверьте:
- 🔄 Версию конфигурации (должна быть не ниже 1С:Розница 2.3.12 или УТ 11.5.6).
- 📶 Подключение к интернету (для генерации уникального идентификатора транзакции).
- 📄 Настройки фискального регистратора (в некоторых моделях требуется обновление прошивки).
Пример динамического QR для СБП (структура):
t=20260515T143000&s=1234.56&fn=9283749856&i=15376&fp=2349876543&n=1
Где:
t— время транзакции,s— сумма чека,fn— фискальный номер,fp— фискальный признак.
Статический QR для счетов
Динамический QR (СБП) на чеках
QR от банка-эквайера (Сбербанк, Тинькофф)
Ещё не настроил-->
4. Интеграция с банковскими эквайрингами: Сбербанк, Тинькофф, Альфа-Банк
Если вы принимаете оплаты через банковские терминалы или онлайн-кассы, QR-код может предоставляться банком. В этом случае его нужно встроить в 1С через модуль обмена. Рассмотрим процесс на примере популярных банков:
| Банк | Метод интеграции | Требуемые настройки в 1С | Комиссия |
|---|---|---|---|
| Сбербанк | Модуль"Сбербанк Эквайринг" или API | Подключение обработки SberbankAcquiring.epf, настройка токена в личном кабинете |
1.5–2.5% |
| Тинькофф | Обработка"Тинькофф Эквайринг" или REST API | Установка расширения TinkoffAcquiring.cfe, указание TerminalKey |
1.8–2.8% |
| Альфа-Банк | Модуль"Альфа-Клик" или Direct API | Настройка в Администрирование → Обмен с банками, загрузка сертификата |
1.6–2.7% |
| ВТБ | ВТБ Эквайринг (через 1С:Отчётность) | Подключение сервиса"ВТБ Интернет-Эквайринг" в разделе Банк и касса |
1.9–2.9% |
Для подключения, например, Сбербанк Эквайринг:
- Скачайте обработку
SberbankAcquiring.epfиз личного кабинета Сбербанка. - Загрузите её в 1С через
Файл → Открыть. - Введите
Токен доступаиИдентификатор терминала(их выдаёт банк). - Настройте печать QR на чеках в
Администрирование → Печать чеков → Дополнительные реквизиты.
После настройки QR от банка будет автоматически подставляться в чек и обновляться при каждом продаже. Клиент сможет оплатить покупку, отсканировав код через мобильный банк.
⚠️ Внимание: При интеграции с банковскими эквайрингами проверьте, поддерживает ли ваша версия 1С протокол TLS 1.2. Устаревшие конфигурации (ниже 8.3.18) могут не подключаться к банковским API.
Если банк предоставляет тестовый режим, сначала протестируйте интеграцию на песчанке (sandbox). Это поможет избежать ошибок при работе с реальными платежами.
5. Программная генерация QR-кода через 1С:Код
Для гибкой настройки QR-кодов (например, добавление логотипа компании или изменение размера) можно использовать встроенный язык 1С:Предприятие 8.3. Ниже приведён пример кода для генерации статического QR через библиотеку Barcode1D2D:
// Подключаем библиотеку для генерации QR
ПодключитьВнешнююКомпоненту("C:\Program Files\1Cv8\Barcode1D2D.dll","BarcodeLib", ТипВнешнейКомпоненты.Native);
// Формируем строку для QR (пример для счёта на оплату)
СтрокаQR ="ST00012|Name=ООО Пример|PersonalAcc=40702810900000001234|BankName=ПАО СБЕРБАНК|BIC=044525225|CorrespAcc=30101810400000000225|Sum=5000.00";
// Создаём объект QR-кода
QR = Новый("AddIn.BarcodeLib.QRCode");
QR.Data = СтрокаQR;
QR.ModuleSize = 5; // Размер модуля (точки) QR-кода
QR.ErrorCorrectionLevel = 2; // Уровень коррекции ошибок (0-3)
// Сохраняем QR в файл
QR.SaveToFile("C:\Temp\QR_Счёт.png","PNG", 300, 300); // 300x300 пикселей
Сообщить("QR-код сохранён в файл QR_Счёт.png");
Этот код можно вставить в обработку или отчёт для автоматической генерации QR при формировании счёта. Для динамического QR (СБП) логика будет сложнее — потребуется получать уникальный идентификатор транзакции из фискального регистратора.
Если вам нужно добавить логотип в центр QR-кода, используйте метод QR.OverlapImage:
QR.OverlapImage = Новый Картинка("C:\Logo\logo.png"); // Путь к логотипу
QR.OverlapImageSize = 20; // Размер логотипа в % от QR-кода
Для работы с кодом вам потребуется:
- 📁 Библиотека
Barcode1D2D.dll(скачать можно с сайта 1С или Инфостарт). - 🔧 Права администратора на компьютере для регистрации DLL.
- 📂 Папка для сохранения сгенерированных QR (например,
C:\Temp).
Как проверить работоспособность сгенерированного QR
Откройте сохранённый файл QR_Счёт.png любым графическим редактором.
Отсканируйте код через мобильный банк (Сбербанк Онлайн, Тинькофф и др.).
Проверьте, что реквизиты в платежном поручении совпадают с данными в 1С.
Если QR не сканируется, увеличьте параметр ModuleSize (например, до 8) или уменьшите уровень коррекции ошибок (ErrorCorrectionLevel = 1).
6. Типичные ошибки и их решения
При настройке QR-кодов в 1С пользователи часто сталкиваются с типичными проблемами. Вот самые распространённые и способы их устранения:
| Ошибка | Причина | Решение |
|---|---|---|
| QR не печатается на чеке | Не включена опция в настройках фискального регистратора | Проверьте Администрирование → Печать чеков → Печатать QR для СБП |
| QR сканируется, но платеж не проходит | Неверные реквизиты в коде (ИНН, расчётный счёт) | Обновите реквизиты организации в Справочники → Организации |
| QR от банка не обновляется | Не настроен обмен с банковским сервером | Проверьте токен доступа и соединение с интернетом |
| При сканировании QR выдаёт ошибку"Недопустимый формат" | Несоответствие стандарту СБП или ISO 11649 | Используйте шаблоны строк из этой статьи или обратитесь в поддержку банка |
| QR печатается размытым | Низкое разрешение принтера или маленький размер QR | Увеличьте параметр ModuleSize в коде или настройте DPI принтера |
Если после всех проверок QR всё равно не работает, воспользуйтесь журналом регистрации 1С (Администрирование → Журнал регистрации). Ищите ошибки с текстом QR, СБП или Barcode. Часто там указывается конкретная причина сбоя (например, Ошибка подключения к серверу СБП).
Ещё один полезный инструмент — тестовый режим СБП. Многие банки (например, Сбербанк) предоставляют песчанку (sandbox) для проверки интеграции. Это позволяет протестировать QR-коды без реальных платежей.
Перед настройкой QR в боевой базе всегда тестируйте изменения на копии информационной базы. Это убережёт от ошибок в работе с клиентами.
7. Требования 54-ФЗ и налоговой к QR-кодам в 2026 году
С 1 июля 2023 года вступили в силу изменения в 54-ФЗ, обязывающие печатать QR-коды для оплаты через СБП на всех чеках (за исключением некоторых льготных категорий). В 2026 году эти требования ужесточились: теперь QR должен:
- 📌 Содержать фискальные данные (номер чека, фискальный признак).
- 🔢 Быть машиночитаемым (размер не менее 2×2 см, контрастность не ниже 70%).
- 📱 Поддерживать сканирование любым мобильным банком (Сбербанк, Тинькофф, ВТБ, Альфа-Банк и др.).
- 🔄 Обновляться при каждой новой транзакции (динамический QR).
За несоблюдение требований предусмотрены штрафы:
- Для ИП — от 2 000 до 4 000 рублей.
- Для юридических лиц — от 20 000 до 40 000 рублей.
Чтобы избежать штрафов, проверьте:
- Включена ли печать QR в настройках фискального регистратора (
Администрирование → Оборудование). - Совпадают ли реквизиты в QR с данными, переданными в ОФД (оператор фискальных данных).
- Виден ли QR на чеке (не обрезан при печати, достаточно контрастен).
Если вы работаете с 1С:Розница и подключены к ОФД (например, Такском, Платформа ОФД), QR-код для СБП будет формироваться автоматически при пробитии чека. В противном случае потребуется ручная настройка через обработки.
⚠️ Внимание: С 2026 года налоговая начала проверять чеки не только на наличие QR, но и на его корректность. Если код ведёт на несуществующую транзакцию или содержит ошибочные реквизиты, это приравнивается к его отсутствию.
8. Альтернативные способы оплаты через QR в 1С
Помимо стандартных методов, в 1С можно реализовать дополнительные сценарии работы с QR-кодами:
- 🛒 QR для самоплаты в магазине: Клиент сканирует код на товаре, оплачивает через мобильный банк, а кассир подтверждает платеж в 1С. Реализуется через обработку
Самоплата.epf(доступна на Инфостарт). - 📱 QR в мобильном приложении: Если у вас есть мобильное приложение для клиентов, можно генерировать QR прямо в нём через API 1С. Например, для оплаты бонусными баллами.
- 🔄 QR для возвратов: При возврате товара формируется QR с отрицательной суммой, которую клиент может подтвердить через банк.
- 📊 QR для оплаты по предзаказу: Код генерируется при оформлении заказа и отправляется клиенту по email/SMS. После оплаты статус заказа в 1С меняется автоматически.
Для реализации этих сценариев потребуется:
- Разработка дополнительных обработок или доработка конфигурации.
- Интеграция с платежными системами (например, ЮKassa, Robokassa).
- Настройка уведомлений (SMS, email) для клиентов.
Пример кода для генерации QR с уникальным идентификатором заказа:
// Получаем данные заказа
Заказ = Документы.ЗаказПокупателя.НайтиПоНомеру(НомерЗаказа);
// Формируем строку для QR
СтрокаQR ="ORDER_ID=" + Заказ.Ссылка.УникальныйИдентификатор +
"&SUM=" + Заказ.СуммаДокумента +
"&DATE=" + Формат(Заказ.Дата,"ДФ=yyyyMMdd");
// Генерируем QR
QR = Новый("AddIn.BarcodeLib.QRCode");
QR.Data = СтрокаQR;
QR.SaveToFile("C:\Temp\QR_Заказ_" + НомерЗаказа +".png","PNG", 300, 300);
// Отправляем QR клиенту по email
Почта = Новый Почта;
Почта.Отправить(Заказ.Контрагент.Email,"QR для оплаты заказа №" + НомерЗаказа,
"Прикрепляем QR-код для оплаты.","C:\Temp\QR_Заказ_" + НомерЗаказа +".png");
Этот код можно встроить в обработку проведения заказа или создать отдельную команду в форме документа.
Для удобства клиентов добавьте в QR-код ссылку на инструкцию по оплате. Например:"Как оплатить: [ссылка на ваш сайт]".
FAQ: Частые вопросы по QR-кодам в 1С
Можно ли использовать один и тот же QR-код для всех чеков?
Нет, это нарушает требования 54-ФЗ. Для каждого чека должен генерироваться уникальный динамический QR с привязкой к фискальным данным (номер чека, сумма, фискальный признак). Статический QR подходит только для оплаты счетов, не привязанных к конкретной продаже.
Как проверить, что QR-код сгенерирован правильно?
Отсканируйте код через любое мобильное приложение (Сбербанк Онлайн, Тинькофф, QR-сканер). В платежном поручении должны автоматически подставиться:
- Правильный ИНН и название вашей организации.
- Сумма, соответствующая чеку.
- Назначение платежа (если оно указано в QR).
Если данные не совпадают, проверьте настройки реквизитов в 1С или шаблон строки QR.
Что делать, если банк не поддерживает СБП?
Если ваш банк не подключён к Системе быстрых платежей, вы можете:
- Сменить банк на поддерживающий СБП (список на сайте ЦБ РФ).
- Использовать QR от банка-эквайера (например, Сбербанк или Тинькофф).
- Настроить альтернативный способ оплаты (например, через ЮKassa или Robokassa).
Обратите внимание, что отсутствие СБП-QR на чеках может привести к штрафам от налоговой.
Как добавить QR-код в печатную форму счёта?
Для этого нужно доработать макет печати:
- Откройте счёт на оплату и перейдите в
Печать → Настройка печати. - Выберите макет
Счёт на оплатуи нажмитеИзменить. - Добавьте в макет поле типа
Картинкаи свяжите его с обработкой генерации QR. - Сохраните макет и обновите печатную форму.
Если не уверены в своих силах, скачайте готовые обработки для печати QR на Инфостарт.
Можно ли использовать QR-код для оплаты в иностранной валюте?
Нет, QR-коды для оплаты в 1С работают только с российскими рублями. Для валютных платежей потребуется:
- Открыть валютный счёт в банке.
- Использовать международные платежные системы (например, PayPal, Stripe).
- Настроить отдельную обработку для генерации QR в иностранной валюте (это нестандартное решение, потребуется разработчик).