Описание форматов экспорта банковских выписок
Описание форматов выписок MT940 и MT942
Про условные обозначения символов:
ДЛИНА
| Обозначение | Описание |
|---|---|
| nn | Максимальная длина |
| nn! | Фиксированная длина |
| nn-nn | Минимальная и максимальная длина |
| nn*nn | Максимальное количество строк, умноженное на максимальную длину |
ВИДЫ СИМВОЛОВ
| Обозначение | Описание |
|---|---|
| n | Только цифры (0-9) |
| a | Только заглавные латинские буквы (A-Z) |
| c | Только заглавные буквы и цифры |
| x | Допустимые символы таблицы «Х» |
| e | Пробел |
| d | Десятичное число (разделяющий знак – запятая должна быть указана обязательно и как минимум одна цифра перед запятой; длина включает запятую). Разделитель групп разрядов, отделяющий по 3 знака не ставится. |
ДОПУСТИМЫЕ СИМВОЛЫ ТАБЛИЦЫ «Х»
a-z A-Z 0-9 - / : ( ) . , ' + ? Пробел
СКОБКИ
| Обозначение | Описание |
|---|---|
| [ ] | Необязательное подполе |
| Разделитель блоков |
КОДОВЫЕ СЛОВА И ОПРЕДЕЛИТЕЛИ
Только заглавные буквы и цифры
Про поля и подполя
Для всех полей и подполей по умолчанию(если не указано иное в конкретном случае) применяются следующее правило:
- в поле указываются ВСЕ подполя в указанной последовательности без разделяющих символов (кроме «/» и «//», где это требуется).
Про квадратные скобки:
Рассмотрим сразу на примере.
Пример формата какого-то поля: 16х[/4x]
Квадратные скобки, внутри которых указано выражение, обозначают необязательность данного подполя.
Пример выше читаем так:
должно быть 16 символов набора Х, после которых может следовать "/" c 4 символами форматами Х, а может и не следовать.
Таким образом, валидными для этого формата набор символов будут:
- abcdghskulooredf/er83
- qwer MNLK2eeeqqq
Невалидными будут:
- qwertyasdfghjklmmndddjerrrew
- abcdghskulooredf/er83sdsds
Квадратные скобки, ограничивающие формат какого-либо подполя, указывают, что оно является необязательным в этом поле. Например, если формат поля — 16х[/4x], то оно должно обязательно содержать до 16 символов набора Х, а следующие 4 символа набора Х, которым предшествует слэш «/», являются необязательными и поэтому могут отсутствовать. Формат поля может быть представлен двумя или более строками: 3!n 6!n В этом случае строки информации должны разделяться символами «CrLf». (CrLf разделитель строки по сути.)
Про формат выписки SWIFT(mt940, mt942) что за что отвечает и как оформляется
МТ 940 Выписка по счету клиента (формат SWIFT-RUR).
| Статус | Номер поля | Имя поля | Содержание/Опции |
|---|---|---|---|
| M | 20 | Референс операции | 16x |
| O | 21 | Связанный референс | 16x |
| M | 25 | Номер счета | No letter option or P |
| M | 28C | Номер выписки/Порядковый номер | 5n |
| M | 60a | Входящий остаток | F или M |
---> | |||
| O | 61 | Строка движения по счету | 6!n[4!n]2a[1!a]15d1!a3!c16x[//16x] [34x] |
| O | 86 | Информация для владельца счета | 6*65x |
| ---! | |||
| M | 62 | Исходящий остаток (учтенные средства) | F или M |
| O | 64 | Исходящий доступный остаток (доступные средства) | 1!a6!n3!a15d |
---> | |||
| O | 65 | Будущий доступный остаток | 1!a6!n3!a15d |
| ---! | |||
| O | 86 | Информация для владельца счета 6*65x |
---> обозначает начало повторяющегося блока
---! обозначает конец повторяющегося блока
M = Mandatory(Обязательное), O = Optional (необязательное)
Таблица дает общее представление о сообщении.
Поле 20
формат 2!a6!n6!n
разделитель подполей отсутствует
| подполе | формат | обязательность | значение |
|---|---|---|---|
| 1 | 2!a | да | Константа "GL" |
| 2 Дата выписки | 6!n | да | Дата выписки ГГММДД |
| 3 Порядковый номер основной выписки | 6!n | да | Номер от 000001 до 999999 в цикле (каждая выписка +1) |
Поле 25
формат [11с]/20!n/3!a
разделитель подполей - константа "/"
| Подполе | Формат | Обязательность | Значение |
|---|---|---|---|
| 1 SWIFT код Банка | 11c | Нет | Константа "RZBMRUMM" |
| 2 20-зн. номер расчетного счета | 20!n | Да | [Выписка: Счет №] |
| 3 Валюта счета ISO 4217 (буквы) | 3!a | Нет | |
| 4 БИК Банка расчетного счета | 9!n | Нет |
Поле 28C
формат 5!n
разделитель подполей отсутствует
| Подполе | Формат | Обязательность | Значение | Примечание |
|---|---|---|---|---|
| 1 Номер выписки | 5!n | Да | 5 символов, если меньше, то недостающие начальные позиции заменяются "0" |
Поле 60a
с суффиксом F при выгрузке выписки в одно сообщение
c суффиксом M при разделении выписки на несколько сообщений
формат 1!a6!n3!a15d
разделитель подполей отсутствует
| Подполе | Формат | Обязательность | Значение |
|---|---|---|---|
| 1 Дебет/Кредит | 1!A | Да | Константа "C" если Входящий остаток >=0 Константа "D" если Входящий остаток <0 |
| 2 Дата входящего остатка | 6!N | Нет | Дата выписки [ГГММДД] |
| 3 Валюта счета ISO 4217 | 3!A | Да | |
| 4 Значение входящего остатка | 15D [руб, коп] | Да |
В первом или в единственном сообщении выписки поле 60 используется с опцией F, в нем указывается начальный входящий остаток. Если выписка представлена более, чем одним сообщением, то во всех сообщениях, кроме первого, это поле используется с опцией М и содержит промежуточный входящий остаток.
Поле 61 (Строка движения по счету) (L1 - первая строка, L2 - вторая строка):
разделитель подполей отсутствует
формат 6!n[4!n]1!a15d1!a3!c16x[//16x] [34x]
| Строка | Подполе | Формат | Обязательность | Значение |
|---|---|---|---|---|
| L1 | 1 Дата валютирования | 6!n | Да | [ГГММДД] |
| L1 | 2 Дата проводки | 4!N | Нет | Дата документа [ММДД] |
| L1 | 3 Дебет/Кредит | 1!A | Да | "D" или "C" |
| L1 | 4 Сумма проводки | 15D | Да | [руб,коп] |
| L1 | 5 Код типа операции | 1!A3!C | Да | [ FXXX ] или [ NXXX ] |
| L1 | 6 Референс для владельца счета | 16X | Да | |
| L1 | 7 Референс обслуживающей счет организации | [//16X] | Нет | |
| L2 | 8 Дополнительная информация | 34X | Нет | Значение Условие[Выписка.Приложение: PNAR Flag] НЕ заполнено |
Поле 86 (Информация для владельца счета) в формате "MT940-SEPA" (sepa по умолчанию):
разделитель подполей - константа "?", размерность поля 86 6*65X
| Подполе | Формат | Обязательность | Значение | Пример(константы выделены жирным) |
|---|---|---|---|---|
| GVC Код операции | 3!N | Да | Да | 020?здесь и далее последний вопросительный знак - это разделитель подполя |
| 00 Расшифровка GVC кода | 27A | Нет | Константа "00" + Расшифровка кода GVC из подполя 1 | 00Payment order? |
| 10 Регистр ационный номер | 10N | Нет | Константа "10" | 10? |
| 20-29 Назначение платежа | 27 max. 10*27C включая подпись | Нет | Назначение платежа разбитое на (не более) 10 частей по 27 символов с константами "20"-"29" в начале и разделителем константой "?" в конце каждой части (последняя завершается разделителем между подполями) | 20оплата страховых взносов на?21 обязательное медицинского ?22 страхования за 3 кв. 2020 НД?23С не облагается ?24?25?26?27?28?29? |
| 30 SWIFT BIC банка контрагента | 12C | Нет | Константа "30" + БИК | 30987654321? |
| 31 IBAN контрагента | 34C | Нет | Константа "31" + Номер счета контрагента | 314070281000000000 0001? |
| 32-33 Наименование контрагента | 27max 2*27C | Нет | Наименование контрагента, разбитое на (не более) 2 части по 27 символов с константами "32" и "33" в начале и разделителем константой "?" в конце (последняя завершается разделителем между подполями) | 32УФК по Во ронежской области ? 33(ИФНС России по Левобережно? |
| 34 Возвратные коды SEPA | 3!N | Нет | Константа "34" | 34? |
| 35 | 27X | Нет | Если есть УИП, то Константа "35" + первые 27 символов УИП | 350? или 3554954985423? |
| 60 ИНН контрагента | 27C | Нет | Константа "60" + ИНН контрагента | 601234567890? |
| 61 Номер документа | 27C | Нет | Константа "61" + Номер документа | 6154242? |
| 62 SPC-код | 27C | Нет | Константа "62" + Код SpeedUPC | 62? |
| 63 Назначение платежа | 27C | Нет | Константа "63" + продолжение полей 20-29(если не хватило места) + константа "Код дохода" + пробел + Код дохода | Код дохода ? |
Поле 86 в режиме NZP "Старый формат (/ORD/[INN][OrderingName]/NPP/[DocNumber]/NPK/[IncomeCode]/[NZP/[Details of payment])"
размерность поля 6*65X Разделитель подполей "/"
| Подполе | Формат | Обязательность | Значение | Пример |
|---|---|---|---|---|
| 1 Информация о плательщике | 2*65X | Нет | Константа = "/ORD/" + Если есть ИНН контрагента ИЛИ Наименование контрагента: Если есть ИНН контрагента: "INN"+(пробел)+ИНН контрагента + Если есть Наименование контрагента: "INN"+(пробел)+ИНН контрагента | /ORD/INN 3663052143 УФК по Воронежской области (ИФНС России по Ле вобережному району г.Воронежа) |
| 2 Код SPC | 4 X | Нет | Константа "/SPC/" + Код SpeedUPC | |
| 3 Номер платежа | 6X | Нет | Константа "/NPP/"+Номер платежа | /NPP/393 |
| 4 УИП | 27Х | Нет | Константа /UIP/+ УИП | /UIP/0 |
| 5 Кодовое назначение платежа | 1N | Нет | Константа "/NPK/" + Код дохода | |
| 6 Назначение платежа | 4*65X | Нет | Константа "/NZP/" + Назначение Платежа | /NZP/оплата страховых взносов на обязательное медицинского страхования за 3 кв.2020 НДС не облагается |
Поле 62 (Исходящий остаток)
с суффиксом F при выгрузке выписки в одно сообщение M при разделении выписки на несколько сообщений:
разделитель подполей отсутствует
| Подполе | Формат | Обязательность | Значение |
|---|---|---|---|
| 1 Кредит/Дебет | 1!A | Да | Константа "C" если исходящий остаток >= 0 Константа "D" - если исходящий остаток < 0 |
| 2 Дата | 6!N | Да | Дата выписки[ГГММДД] |
| 3 Валюта счета ISO 4217 | 3!A | Да | |
| 4 Значение исходящего остатка | 15D | Да | [руб,коп] |
Поле 64 (Исходящий доступный остаток) (формируется для выгрузки в один файл ИЛИ завершающего сообщения в серии):
разделитель подполей отсутствует
| Подполе | Формат | Обязательность | Значение |
|---|---|---|---|
| 1 Кредит/Дебет | 1!A | Да | Константа "C" - если Доступный остаток >=0, Константа D если доступный остаток <0 |
| 2 Дата исходящего остатка | 6!N | Да | [ГГММДД] |
| 3 Валюта счета ISO 4217 | 3!A | Да | |
| 4 Значение доступного остатка | 15D | Да | [Выписка: Доступный остаток] |
Примеры mt940
Пример 1. Выписка без транслитерации SEPA
Описание:
Выписка выгружена как единая, без разделения на части.
Дата выписки - 21.10.14(ГГ.ММ.ДД)
Рублевый счет какого-нибудь ООО
Входящий остаток - 0 рублей
В выписке находятся 3 рублевых платежных поручения(GVC 020, SWIFT NTRF):
:20:GL211014000001
:25:RZBMRUMM/4070281000000XXXXXXX
:28C:00222
:60F:C211014RUB0,00
:61:2101410142D1000,00NTRF3ce-9553e9871837//190321PCIN044330
P/O 223,4070281000000XXXXXY
:86:020?00Payment Order?10?20НДС 12%?21?22?23?24?25?26?27?28?29?30044 525700?314070281000000XXXXXY?32ООО ХХХХХХХХ?33?34?35?60123 4567890?61705?62?63Код дохода ?
:61:2009220922D1000,00NTRF3ce-9553e9871837//190321PCIN044335
P/O 223,4070281000000XXXXXY
:86:020?00Payment Order?10?20НДС 12%?21?22?23?24?25?26?27?28?29?30044 525700?3140702810700001470239?32ООО ХХХХХХХХ?33?34?35?60123 4567890?61705?62?63Код дохода ?
:61:2009220922C1000,00NTRF3ce-9553e9871837//190321PCIN046130
P/O 223,40702810000001459280
:86:020?00Payment Order?10?20НДС 12%?21?22?23?24?25?26?27?28?29?30044 525700?3140702810700001470239?32ООО ХХХХХХХХ?33?34?35?60123 4567890?61705?62?63Код дохода ?
:62F:D200922RUB3000,00
:64:C200922RUB11005,77
Пример 2. Выписка без транслитерации старый формат(nzp)
Описание:
обслуживающийся счет 4070281000000XXXXXX
Выписка выгружена как единая, без разделения на части.
Дата выписки - 21.10.14(ГГ.ММ.ДД)
Рублевый счет какого-нибудь ООО
Входящий остаток - 0 рублей
В выписке находятся 3 рублевых платежных поручения(GVC 020, SWIFT NTRF):
:20:GL211014000001
:25:RZBMRUMM/4070281000000XXXXXXX
:28C:00222
:60F:C211014RUB0,00
:61:2101410142D1000,00NTRF3ce-9553e9871837//190321PCIN044323
P/O 223,4070281000000XXXXXXY
:86:/ORD/INN 1234567890 УФК по Воронежской области (ИФНС России по Ле вобережному району г.Воронежа)/NPP/706/UIP/0/NZP/оплата УСН за 4 квартал 2020 г. НДС не облагается
:61:2009220922D1000,00NTRF3ce-9553e9871837//190321PCIN044345
P/O 223,4070281000000XXXXXXY
:86:/ORD/INN 1234567890 УФК по Воронежской области (ИФНС России по Ле вобережному району г.Воронежа)/NPP/706/UIP/0/NZP/оплата УСН за 4 квартал 2020 г. НДС не облагается
:61:2009220922C1000,00NTRF3ce-9553e9871837//190321PCIN044227
P/O 223,4070281000000XXXXXXY
:86:/ORD/INN 1234567890 УФК по Воронежской области (ИФНС России по Ле вобережному району г.Воронежа)/NPP/706/UIP/0/NZP/оплата УСН за 4 квартал 2020 г. НДС не облагается
6804648?61706?62?63Код дохода ?
:62F:D200922RUB3000,00
:64:C200922RUB11005,77
МТ 942 Промежуточный отчет об операциях (формат SWIFT-RUR).
| Статус | Номер поля | Название поля | Содержание/ Опции | № | № в SWIFT UHB |
|---|---|---|---|---|---|
| M | 20 | Референс операции | 16х | 1 | 1 |
| O | 21 | Связанный референс | 16х | 2 | 2 |
| M | 25 | Номер счета | 35х | 3 | 3 |
| M | 28С | Номер выписки/Порядковый номер | 5n[/5n] | 4 | 4 |
| M | 34F | Определение минимальной суммы по дебету или по дебету и кредиту | 3!a[1!a]15d | 5 | 5 |
| O | 34F | Определение минимальной суммы по кредиту | 3!a[1!a]15d | 6 | 6 |
| M | 13D | Указание даты/времени | 6!n4!n1!x4!n | 7 | 7 |
---> | |||||
| O | 61 | Строка движения по счету | 6!n[4!n]2a[1!a]15d1!а3!c16x[//16x] [34x] | 8 | 8 |
| O | 86 | Информация для владельца счета | 6*65х | 9 | 9 |
| ---! | |||||
| O | 90D | Количество и сумма проводок | 5n3!a15d | 10 | 10 |
| O | 90C | Количество и сумма проводок | 5n3!a15d | 11 | 11 |
| О | 86 | Информация для владельца счета | 6*65х | 12 | 12 |
| M (Mandatory) - обязательное, O (Optional) - необязательное |
Поле 20
формат 2!a6!n6!n
разделитель подполей отсутствует
| подполе | формат | обязательность | значение |
|---|---|---|---|
| 1 | 2!a | да | Константа "GL" |
| 2 Дата выписки | 6!n | да | Дата выписки ГГММДД |
| 3 Порядковый номер основной выписки | 6!n | да | Номер от 000001 до 999999 в цикле (каждая выписка +1) |
Поле 25
формат [11с]/20!n/3!a
разделитель подполей - константа "/"
| Подполе | Формат | Обязательность | Значение |
|---|---|---|---|
| 1 SWIFT код Банка | 11c | Нет | Константа "RZBMRUMM" |
| 2 номер расчетного счета | 20!n | Да | |
| 3 Валюта счета ISO 4217 (буквы) | 3!a | Нет | |
| 4 БИК Банка расчетного счета | 9!n | Нет |
Поле 28C
формат 5!n
разделитель подполей отсутствует
| Подполе | Формат | Обязательность | Значение | Примечание |
|---|---|---|---|---|
| 1 Номер выписки | 5!n | Да | 5 символов, если меньше, то недостающие начальные позиции заменяются "0" |
Поле 34F
формат 3!a[1!a]15d
разделитель подполей отсутствует
| Подполе | Формат | Обязательность | Значение | Примечание |
|---|---|---|---|---|
| 1 Валюта | 3!a | Да | 5 символов, если меньше, то недостающие начальные позиции заменяются "0" | |
| 1 Дебет или кредит | 5!n | Нет | D - дебет, С- кредит | |
| 1 Сумма | 5!n | Да |
Поле 13D
Текущее дата/время
формат 6!n4!n1!x4!n
разделитель подполей отсутствует
| Подполе | Формат | Обязательность | Значение |
|---|---|---|---|
| 1 Дата | 6!n | Да | [YYMMDD] |
| 2 Время | 4!n | Да | Время [HH:mm] |
| 3 Разделитель для часового пояса | 1!x | Да | + или - |
| 4 | 4!n | Да | [Z] 0300 для Москвы |
Поле 61 (Строка движения по счету) (L1 - первая строка, L2 - вторая строка):
разделитель подполей отсутствует
формат 6!n[4!n]1!a15d1!a3!c16x[//16x]
[34x]
| Строка | Подполе | Формат | Обязательность | Значение |
|---|---|---|---|---|
| L1 | 1 Дата валютирования | 6!n | Да | [ГГММДД] |
| L1 | 2 Дата проводки | 4!N | Нет | Дата документа [ММДД] |
| L1 | 3 Дебет/Кредит | 1!A | Да | "D" или "C" |
| L1 | 4 Сумма проводки | 15D | Да | [руб,коп] |
| L1 | 5 Код типа операции | 1!A3!C | Да | [ FXXX ] или [ NXXX ] |
| L1 | 6 Референс для владельца счета | 16X | Да | |
| L1 | 7 Референс обслуживающей счет организации | [//16X] | Нет | |
| L2 | 8 Дополнительная информация | 34X | Нет | Значение Условие[Выписка.Приложение: PNAR Flag] НЕ заполнено |
Поле 86 (Информация для владельца счета) в формате "MT940-SEPA" (sepa по умолчанию):
разделитель подполей - константа "?", размерность поля 86 6*65X
| Подполе | Формат | Обязательность | Значение | Пример(константы выделены жирным) |
|---|---|---|---|---|
| GVC Код операции | 3!N | Да | Да | 020?здесь и далее последний вопросительный знак - это разделитель подполя |
| 00 Расшифровка GVC кода | 27A | Нет | Константа "00" + Расшифровка кода GVC из подполя 1 | 00Payment order? |
| 10 Регистр ационный номер | 10N | Нет | Константа "10" | 10? |
| 20-29 Назначение платежа | 27 max. 10*27C включая подпись | Нет | Назначение платежа разбитое на (не более) 10 частей по 27 символов с константами "20"-"29" в начале и разделителем константой "?" в конце каждой части (последняя завершается разделителем между подполями) | 20оплата страховых взносов на?21 обязательное медицинского ?22 страхования за 3 кв. 2020 НД?23С не облагается ?24?25?26?27?28?29? |
| 30 SWIFT BIC банка контрагента | 12C | Нет | Константа "30" + БИК | 30987654321? |
| 31 IBAN контрагента | 34C | Нет | Константа "31" + Номер счета контрагента | 314070281000000000 0001? |
| 32-33 Наименование контрагента | 27max 2*27C | Нет | Наименование контрагента, разбитое на (не более) 2 части по 27 символов с константами "32" и "33" в начале и разделителем константой "?" в конце (последняя завершается разделителем между подполями) | 32УФК по Во ронежской области ? 33(ИФНС России по Левобережно? |
| 34 Возвратные коды SEPA | 3!N | Нет | Константа "34" | 34? |
| 35 | 27X | Нет | Если есть УИП, то Константа "35" + первые 27 символов УИП | 350? или 3554954985423? |
| 60 ИНН контрагента | 27C | Нет | Константа "60" + ИНН контрагента | 601234567890? |
| 61 Номер документа | 27C | Нет | Константа "61" + Номер документа | 6154242? |
| 62 SPC-код | 27C | Нет | Константа "62" + Код SpeedUPC | 62? |
| 63 Назначение платежа | 27C | Нет | Константа "63" + продолжение полей 20-29(если не хватило места) + константа "Код дохода" + пробел + Код дохода | Код дохода ? |
Поле 90D Количество и сумма проводок
Количество и сумма дебетовых проводок
разделитель подполей отстуствует
формат 5n3!a15d
| подполе | формат | обязательность | значение |
|---|---|---|---|
| 1 количество | 5n | да | Количество дебетовых проводок |
| 2 Валюта | 3!a | да | пример: 0RUB0,00 |
| 3 сумма | 15d | да | 1RUB1000,00 |
Поле 90C Количество и сумма проводок
Количество и сумма кредитных проводок
разделитель подполей отстуствует
формат 5n3!a15d
| подполе | формат | обязательность | значение |
|---|---|---|---|
| 1 количество | 5n | да | Количество кредитных проводок |
| 2 Валюта | 3!a | да | пример: 0RUB0,00 |
| 3 сумма | 15d | да | 1RUB1000,00 |
Описание формата выписки 1C
Для выписок в формате 1С используется формат КлиентБанк.
Актуальная информация описания спецификации представлена на официальном сайте 1С.