Описание форматов экспорта банковских выписок

Описание форматов выписок 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).

СтатусНомер поляИмя поляСодержание/Опции
M20Референс операции16x
O21Связанный референс16x
M25Номер счетаNo letter option or P
M28CНомер выписки/Порядковый номер5n
M60aВходящий остатокF или M
--->
O61Строка движения по счету6!n[4!n]2a[1!a]15d1!a3!c16x[//16x]
[34x]
O86Информация для владельца счета6*65x
---!
M62Исходящий остаток (учтенные средства)F или M
O64Исходящий доступный остаток (доступные средства)1!a6!n3!a15d
--->
O65Будущий доступный остаток1!a6!n3!a15d
---!
O86Информация для владельца счета 6*65x

---> обозначает начало повторяющегося блока

---! обозначает конец повторяющегося блока

M = Mandatory(Обязательное), O = Optional (необязательное)

Таблица дает общее представление о сообщении.

Поле 20

формат 2!a6!n6!n

разделитель подполей отсутствует

подполеформатобязательностьзначение
12!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 42173!AДа
4 Значение входящего остатка15D [руб, коп]Да

В первом или в единственном сообщении выписки поле 60 используется с опцией F, в нем указывается начальный входящий остаток. Если выписка представлена более, чем одним сообщением, то во всех сообщениях, кроме первого, это поле используется с опцией М и содержит промежуточный входящий остаток.

Поле 61 (Строка движения по счету) (L1 - первая строка, L2 - вторая строка):

разделитель подполей отсутствует

формат 6!n[4!n]1!a15d1!a3!c16x[//16x] [34x]

СтрокаПодполеФорматОбязательностьЗначение
L11 Дата валютирования6!nДа[ГГММДД]
L12 Дата проводки4!NНетДата документа [ММДД]
L13 Дебет/Кредит1!AДа"D" или "C"
L14 Сумма проводки15DДа[руб,коп]
L15 Код типа операции1!A3!CДа[ FXXX ] или [ NXXX ]
L16 Референс для владельца счета16XДа
L17 Референс обслуживающей счет организации[//16X]Нет
L28 Дополнительная информация34XНетЗначение Условие[Выписка.Приложение: PNAR Flag] НЕ заполнено

Поле 86 (Информация для владельца счета) в формате "MT940-SEPA" (sepa по умолчанию):

разделитель подполей - константа "?", размерность поля 86 6*65X

ПодполеФорматОбязательностьЗначениеПример(константы выделены жирным)
GVC Код операции3!NДаДа020?здесь и далее последний вопросительный знак - это разделитель подполя
00 Расшифровка GVC кода27AНетКонстанта "00" + Расшифровка кода GVC из подполя 100Payment 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 Возвратные коды SEPA3!NНетКонстанта "34"34?
3527XНетЕсли есть УИП, то Константа "35" + первые 27 символов УИП350? или 3554954985423?
60 ИНН контрагента27CНетКонстанта "60" + ИНН контрагента601234567890?
61 Номер документа27CНетКонстанта "61" + Номер документа6154242?
62 SPC-код27CНетКонстанта "62" + Код SpeedUPC62?
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 Код SPC4 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 42173!AДа
4 Значение исходящего остатка15DДа[руб,коп]

Поле 64 (Исходящий доступный остаток) (формируется для выгрузки в один файл ИЛИ завершающего сообщения в серии):

разделитель подполей отсутствует

ПодполеФорматОбязательностьЗначение
1 Кредит/Дебет1!AДаКонстанта "C" - если Доступный остаток >=0, Константа D если доступный остаток <0
2 Дата исходящего остатка6!NДа[ГГММДД]
3 Валюта счета ISO 42173!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
M20Референс операции16х11
O21Связанный референс16х22
M25Номер счета35х33
M28СНомер выписки/Порядковый номер5n[/5n]44
M34FОпределение минимальной суммы по дебету или по дебету и кредиту3!a[1!a]15d55
O34FОпределение минимальной суммы по кредиту3!a[1!a]15d66
M13DУказание даты/времени6!n4!n1!x4!n77
--->
O61Строка движения по счету6!n[4!n]2a[1!a]15d1!а3!c16x[//16x]
[34x]
88
O86Информация для владельца счета6*65х99
---!
O90DКоличество и сумма проводок5n3!a15d1010
O90CКоличество и сумма проводок5n3!a15d1111
О86Информация для владельца счета6*65х1212
M (Mandatory) - обязательное, O (Optional) - необязательное

Поле 20

формат 2!a6!n6!n

разделитель подполей отсутствует

подполеформатобязательностьзначение
12!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Да+ или -
44!nДа[Z] 0300 для Москвы

Поле 61 (Строка движения по счету) (L1 - первая строка, L2 - вторая строка):

разделитель подполей отсутствует

формат 6!n[4!n]1!a15d1!a3!c16x[//16x]
[34x]

СтрокаПодполеФорматОбязательностьЗначение
L11 Дата валютирования6!nДа[ГГММДД]
L12 Дата проводки4!NНетДата документа [ММДД]
L13 Дебет/Кредит1!AДа"D" или "C"
L14 Сумма проводки15DДа[руб,коп]
L15 Код типа операции1!A3!CДа[ FXXX ] или [ NXXX ]
L16 Референс для владельца счета16XДа
L17 Референс обслуживающей счет организации[//16X]Нет
L28 Дополнительная информация34XНетЗначение Условие[Выписка.Приложение: PNAR Flag] НЕ заполнено

Поле 86 (Информация для владельца счета) в формате "MT940-SEPA" (sepa по умолчанию):

разделитель подполей - константа "?", размерность поля 86 6*65X

ПодполеФорматОбязательностьЗначениеПример(константы выделены жирным)
GVC Код операции3!NДаДа020?здесь и далее последний вопросительный знак - это разделитель подполя
00 Расшифровка GVC кода27AНетКонстанта "00" + Расшифровка кода GVC из подполя 100Payment 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 Возвратные коды SEPA3!NНетКонстанта "34"34?
3527XНетЕсли есть УИП, то Константа "35" + первые 27 символов УИП350? или 3554954985423?
60 ИНН контрагента27CНетКонстанта "60" + ИНН контрагента601234567890?
61 Номер документа27CНетКонстанта "61" + Номер документа6154242?
62 SPC-код27CНетКонстанта "62" + Код SpeedUPC62?
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С.