бизнесМЕГАПОСТы

Стандарт QR-кодирования квитанции Сбербанка.

Формат данной строки регламентируется «Стандартами финансовых операций» — ГОСТ Р 56042-2014. Читать нашел тут

Сама кодируемая строчка выглядит так:

Для удобства восприятия разобьем её по разделителям:

ST00011|
Name=ООО «Три кита»|
PersonalAcc=40702810138250123017|
BankName=OAO «БAHК»|
BIC=044525225|
CorrespAcc=30101810400000000225|
PayeelNN=6200098765|
LastName=Иванов|
FirstName=Иван|
MiddleName=Иванович|
Purpose=Оплата членского взноса|
РауегАddress=г.Рязань ул.Ленина д.10, кв.15|
Sum=100000|
Phone=79101234567|
SomeNewReq=100

ВАЖНО:

Ни до, ни после палки | ни пробелы ни переносы не ставятся категорически. 

Если поставщик услуг договорной, то значения дополнительных реквизитов разбираются согласно договору (помещаются во внутренние переменные, разносятся в реестры).

Если поставщик не договорной, то:

  • дополнительные реквизиты, регулируемые [5] —  выделены в строке зеленым цветом (см. также приложение А), помещаются в соответствующие поля платежного поручения;
  • значения прочих дополнительных реквизитов (без псевдонимов) — выделены в строке синим цветом, объединяются через пробел в одну строку в порядке следования и передаются поставщику услуг в поле «Назначение платежа» платежного поручения с ограничением на количество знаков (лишние знаки обрезаются).

НЕ МЕНЕЕ ВАЖНО:

  • ST00011 — Строка стандарта. Если первые два байта не ST, то далее код не разбирается. Последний символ — признак кодировки (1 — Win1251, 2 — UTF-8, 3 — KOI8R). Для экономии символов рекомендуют использовать 1;

Таблица:  Перечень зафиксированных псевдонимов реквизитов платежа

Псевдоним

Наименование реквизита

Обязательные реквизиты (блок «Payee» УФЭБС [5])

Name Наименование получателя платежа

Макс. 160 знаков
(имя тега по [5]: Payee/Name)

PersonalAcc Номер счета получателя платежа

Макс. 20 знаков
(имя тега по [5]:
Payee/PersonalAcc)

BankName Наименование банка получателя платежа

Макс. 45 знаков
(не определен [5])

BIC БИК

Макс. 9 знаков
(имя тега по [5]:
Payee/Bank/BIC)

CorrespAcc Номер кор./сч. банка получателя платежа

Макс. 20 знаков
(имя тега по УФЭБС:
Payee/Bank/CorrespAcc)

Дополнительные реквизиты, формат значений которых определяется Альбомом [5].

Sum Сумма платежа, в копейках

Макс. 18 знаков
(имя тега по [5]: Sum)

Purpose Наименование платежа (назначение)

Макс. 210 знаков
(имя тега по [5]: Purpose)

PayeeINN ИНН получателя платежа

Макс. 12 знаков (имя тега по [5]:
Payee/INN)

PayerINN ИНН плательщика

Макс. 12 знаков
(имя тега по [5]:
Payer/INN)

DrawerStatus Статус составителя платежного документа

Макс. 2 знака
(имя тега по [5]:
Departmentallnfo/DrawerStatus)

КРР КПП получателя платежа

Макс. 9 знаков
(имя тега по [5]:
Payee/КРР)

СВС КБК

Макс. 20 знаков
(имя тега по [5]:
Departmentallnfo/CBC)

ОКТМО Общероссийский классификатор территорий муниципальных образований (ОКТМО)

Макс. 11 знаков
(имя тега по [5]:
Departmentallnfo/ОКАТО, поле 105)

PaytReason Основание налогового платежа

Макс. 2 знака
(имя тега по [5]:
Departmentallnfo/PaytReason)

TaxPeriod Налоговый период

Макс. 10 знаков
(имя тега по [5]:
Departmentallnfo/TaxPeriod)

DocNo Номер документа

Макс. 15 знаков
(имя тега по [5]:
Departmentallnfo/DocNo)

DocDate Дата документа

Макс. 10 знаков
(имя тега по [5]:
Departmentallnfo/DocDate)

TaxPaytKind Тип платежа

Макс. 2 знака
(имя тега по [5]:
Departmentallnfo/TaxPaytKind)

Прочие дополнительные реквизиты

LastName Фамилия плательщика
FirstName Имя плательщика
MiddleName Отчество плательщика
PayerAddress Адрес плательщика
PersonalAccount Лицевой счет бюджетного получателя
Docldx Индекс платежного документа
PensAcc N лицевого счета в системе персонифицированного учета в ПФР — СНИЛС
Contract Номер договора
PersAcc Номер лицевого счета плательщика в организации (в системе учета ПУ)
Flat Номер квартиры
Phone Номер телефона
PayerldType Вид ДУЛ плательщика
PayerldNum Номер ДУЛ плательщика
ChildFio Ф.И.О. ребенка/учащегося
BirthDate Дата рождения
PaymTerm Срок платежа/дата выставления счета
PaymPeriod Период оплаты
Category Вид платежа
ServiceName Код услуги/название прибора учета
Counterld Номер прибора учета
CounterVal Показание прибора учета
Quittld Номер извещения, начисления, счета
QuittDate Дата извещения/начисления/счета/постановления (для ГИБДД)
InstNum Номер учреждения (образовательного, медицинского)
ClassNum Номер группы детсада/класса школы
SpecFio ФИО преподавателя, специалиста, оказывающего услугу
AddAmount Сумма страховки/дополнительной услуги/Сумма пени (в копейках)
Ruleld Номер постановления (для ГИБДД)
Execld Номер исполнительного производства
RegType Код вида платежа (например, для платежей в адрес Росреестра)
UIN Уникальный идентификатор начисления
TechCode Технический код, рекомендуемый для заполнения поставщиком услуг. Может использоваться принимающей организацией для вызова соответствующей обрабатывающей ИТ-системы. Перечень значений кода представлен в Приложении Г.

БОНУС (чтобы совсем запутаться)

А вот как в «Руководстве разработчика», заботливо вытащенном мной из кэша Яндекса (у Гугла уже не было) по версии сбербанка выглядят эти же реквизиты (не ручаюсь за актуальность, может как всегда что-нить поменялось у Сбера):

Обязательные реквизиты:

‘NAME’ => ‘Наименование получателя платежа ООО КОМПАНИЯ’
‘BANK_NAME’ => ‘Наименование банка то-то’
‘PERSONAL_ACC’ => ‘12345678912345678912’
‘BIC’ => ‘123123123’
‘CORRESP_ACC’ => ‘56645643645656’

Вспомогательные реквизиты:

‘PURPOSE’ => ‘Назначение платежа — оплата’
‘BIRTH_DATE’ => ‘30.12.1987’
‘KPP’ => ‘111222333’
‘SUM’ => ‘100000’
‘LAST_NAME’ => ‘Иванов’
‘FIRST_NAME’ => ‘Иван’
‘ADD_AMOUNT’ => ‘1000.90’
‘CONTRACT’ => ‘109-09-23’
‘DOC_DATE’ => ‘20.08.2013’
‘PAYEE_INN’ => ‘564567867444’
‘QUITT_ID’ => ‘9839-93-03’
‘FLAT’ => ’19’
‘PERSONAL_ACCOUNT’ => ‘343-34-34’
‘PHONE’ => ‘+7 (905) 713 6060’
‘SERVICE_NAME’ => ‘название услуги такое-то’
‘COUNTER_ID’ => ’11’
‘CLASS_NUM’ => ‘5А’
‘OKATO’ => ‘12345678908’
‘DOC_IDX’ => ‘343’
‘DOC_NO’ => ‘645645645’
‘DRAWER_STATUS’ => ‘FF’
‘EXEC_ID’ => ’12-12-12′
‘INST_NUM’ => ‘343-ND’

Резюме

В общем, создавая квитанции с реквизитами согласно таблице я исправно получаю платежи от моих клиентов на расчетный счет, но, так как договор на обслуживание до сих пор не заключен, в выписке я получаю назначение платежа с кучей ненужных реквизитов. Дерзайте, кароч ))

4 комментария

  • Спасибо за статью, очень полезно. Стал сегодня разбираться, почему QR-код мосэнергосбыта в квитанции с их сайта в терминале вызвал отображение кривой кирилицы. Видимо дело в ST00012 и данные в UTF, а терминал почему-то решил, что в 1251.

    • @Павел, это, видимо, инициатива мосэнергосбыта (или ручки кривые у программеров, что тоже не исключено), которую еще не поддержал сбербанк. У них очень долго обновления проходят. И, кстати, сам Сбер настаивает на ST00011 (1251), видимо, так терминалам понятнее.

      А можно поподробнее инфу: чей терминал, ссылку на картинку с QR? Интересно разобраться с ними.

  • Коллеги, а как зашифровать в платежке, что в платеже не содержится НДС? Единственное поле, которое не нашлось. Понятно, что можно написать в назначении платежа, но хочется, что бы совсем четко было. В некоторых банках при составлении платежки есть отдельный параметр в форме, и приходится его указывать вручную после сканирования QR-кода.

    • (отвечаю поздно — что-то не пришло уведомление о Вашем комментарии)

      Такая возможность имеется, но реализована через одно место: нужно связаться с поддержкой и направить им требование в рамках договора создать под Ваши нужды необходимые поля. Например my_tax и установить его значение по умолчанию в NULL

      Возможные значения поля my_tax:

      • NULL — без НДС
      • 0 — НДС 0%
      • 10 — НДС 10% (медтехника, например)
      • 20 — НДС 20% (поздравляю с обновкой)

      Успехов!

Добавить комментарий