Какую кодировку ставить в клиент-банке, чтобы 1С прочитала выписку без кракозябр

· 9 мин

Содержание

Для загрузки выписки в 1С выбирайте кодировку Windows (кодовая страница 1251). Это вариант по умолчанию для формата обмена 1CClientBankExchange. Второй допустимый вариант — DOS (866). UTF-8 стандарт обмена с клиент-банком не предусматривает, и именно файлы в UTF-8 чаще всего дают кракозябры или сообщение Не удалось прочитать файл. Возможно, неверно указана кодировка.

Главное правило одно: кодировка в настройках клиент-банка, в первой строке файла и в настройках обмена в 1С должна совпадать. Если хотя бы одно звено отличается, 1С 8.3 либо не загрузит выписку, либо загрузит её с нечитаемыми наименованиями и назначениями платежа.

Откуда берутся кракозябры при загрузке выписки в 1С

Текстовый файл — это набор байтов. Одна и та же русская буква в разных кодировках записана разными байтами. Программа, которая читает файл, должна заранее знать, по какой таблице их расшифровывать.

Формат 1CClientBankExchange хранит эту подсказку прямо в файле, в служебной строке Кодировка=. 1С сверяет её со своей настройкой и читает файл по выбранной таблице. Проблемы начинаются в трёх ситуациях:

  • 🔀 Клиент-банк сохраняет в одной кодировке, а 1С ждёт другую. Например, банк отдаёт DOS, а в 1С стоит Windows.
  • 🧾 В заголовке файла написано одно, а байты — в другой кодировке. Так бывает, когда файл пересохранили в редакторе или его сформировал сторонний сервис.
  • 🌐 Банк выгружает выписку в UTF-8. Многие интернет-банки по умолчанию сохраняют текст в UTF-8, а 1С читает такой файл по таблице 1251.
  • ✂️ Файл повреждён при передаче. Почтовый клиент или мессенджер перекодировал вложение, архиватор с неверной кодовой страницей испортил имя или содержимое.

По виду кракозябр можно угадать, что произошло. Последовательности вида Счет — это UTF-8, прочитанный как Windows-1251. Символы псевдографики вроде ‘зҐв — DOS, прочитанный как Windows. Знаки вопроса ???? значат, что русские буквы потеряны при сохранении и восстановить их из этого файла нельзя.

Форматы выписок и кодировки, которые понимает 1С 8.3

Типовые конфигурации на 8.3 работают с банком двумя способами. От способа зависит, нужно ли вообще думать о кодировке.

Файл обмена 1CClientBankExchange

Это текстовый файл, чаще всего с именем kl_to_1c.txt (выписка из банка) и 1c_to_kl.txt (платёжки в банк). Файл начинается со строки 1CClientBankExchange, а дальше идут служебные поля:

1CClientBankExchange
ВерсияФормата=1.03
Кодировка=Windows
Отправитель=Бухгалтерия предприятия
Получатель=
ДатаСоздания=15.10.2026

В поле Кодировка допустимы два значения:

Значение в файлеКодовая страницаГде встречается
Windows1251 (ANSI для русской Windows)Почти все современные клиент-банки и интернет-банки
DOS866 (OEM)Старые программы банк-клиента, отдельные выгрузки из учётных систем

Значения UTF-8 в этом поле стандарт не знает. Поэтому вопрос «UTF-8 или Windows-1251» для файлового обмена решается однозначно — Windows-1251.

Прямой обмен с банком (DirectBank)

При прямом обмене 1С сама связывается с сервером банка, без промежуточного файла. Документы ходят в формате XML, и кодировку задаёт протокол обмена. Пользователь её не выбирает и в настройках не увидит.

Выгрузки в других форматах

Некоторые интернет-банки предлагают несколько вариантов экспорта: «для 1С», Excel, PDF, собственный текстовый формат банка. Загрузить в типовую 1С обработкой «Клиент-Банк» можно только вариант «для 1С» (он же 1CClientBankExchange). Excel и PDF пригодны для просмотра и сверки, но не для загрузки.

Как выставить кодировку в 1С и в клиент-банке

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

В 1С:Бухгалтерии 3.0

  1. Откройте Банк и касса → Банковские выписки.
  2. Нажмите кнопку загрузки выписки из файла. Откроется форма обмена с банком.
  3. Откройте настройки обмена для вашего банковского счёта (кнопка с шестерёнкой или команда настройки в форме обмена).
  4. Найдите поле кодировки и выберите Windows, если банк не требует иного.
  5. Проверьте путь к файлу выписки — он должен указывать на свежий файл, а не на прошлогодний в той же папке.
  6. Сохраните настройку и повторите загрузку.

Настройка хранится для каждого банковского счёта отдельно. Если у организации два счёта в разных банках, кодировку придётся выставить в каждой настройке.

В той же форме задаётся и путь к файлу для выгрузки платёжек в банк. Кодировка там общая для обоих направлений. Если сменили её ради выписки, проверьте, что банк по-прежнему принимает платёжные поручения из 1С.

В других конфигурациях на 8.3

В УТ 11, КА 2 и ERP обмен с банком тоже вызывается из списка банковских выписок раздела казначейства. Сам механизм тот же: в настройках обмена для банковского счёта есть выбор кодировки Windows или DOS. Отличаются только названия разделов верхнего меню.

В клиент-банке или интернет-банке

Ищите раздел экспорта выписки или настроек обмена с бухгалтерскими программами. Что проверить:

  • 📤 формат экспорта — «1С:Предприятие», «1С 8» или «1CClientBankExchange»;
  • 🔤 кодировка — Windows (CP1251), если есть выбор;
  • 🗂 версия формата — подойдёт 1.02 или 1.03, актуальные релизы 1С читают обе.

Если интернет-банк не даёт выбрать кодировку, а файл приходит в UTF-8 — пишите в поддержку банка. Обычно у них есть переключатель на стороне сервера или отдельный вариант выгрузки «для 1С».

Если 1С пишет, что не удалось прочитать файл и возможно неверно указана кодировка

Сообщение Не удалось прочитать файл. Возможно, неверно указана кодировка 1С 8.3 выдаёт, когда содержимое файла не совпадает с ожидаемой таблицей символов. Решайте по порядку, от простого к сложному.

Шаг 1. Переключите кодировку в 1С

Самый быстрый тест. Поменяйте в настройках обмена Windows на DOS (или наоборот) и загрузите файл ещё раз. Если выписка прочиталась — оставьте рабочий вариант и поправьте ту же настройку в банке, чтобы не путаться.

Шаг 2. Узнайте реальную кодировку файла

Откройте файл в «Блокноте» Windows 10 или 11. В правом нижнем углу строки состояния видно кодировку: ANSI, UTF-8 или UTF-8 с BOM. ANSI на русской Windows — это 1251.

Затем посмотрите первые строки. Значение Кодировка= должно совпадать с тем, что показал «Блокнот»:

  • ANSI + Кодировка=Windows — всё правильно;
  • UTF-8 + Кодировка=Windows — файл надо перекодировать;
  • псевдографика вместо русских букв в «Блокноте» — файл, скорее всего, в DOS.

Шаг 3. Перекодируйте файл в Windows-1251

Работайте с копией файла, исходник от банка не трогайте. Он пригодится, если что-то пойдёт не так.

Вариант через «Блокнот»: Файл → Сохранить как, внизу окна в списке «Кодировка» выберите ANSI, сохраните под новым именем.

Вариант через Notepad++: меню Кодировки → Преобразовать в ANSI, затем сохранить. Пункт именно «Преобразовать», а не «Кодировать в» — второй меняет только способ отображения, а не байты.

Вариант через PowerShell — удобно, если файлов много:

$src = 'C:\Bank\kl_to_1c.txt'
$dst = 'C:\Bank\kl_to_1c_1251.txt'
$text = Get-Content -Path $src -Encoding UTF8 -Raw
[System.IO.File]::WriteAllText($dst, $text, [System.Text.Encoding]::GetEncoding(1251))

На Linux то же делает iconv:

iconv -f UTF-8 -t CP1251 kl_to_1c.txt > kl_to_1c_1251.txt

После перекодировки убедитесь, что в заголовке стоит Кодировка=Windows, и загружайте новый файл.

Шаг 4. Проверьте, что файл вообще в формате 1С

Если первая строка не 1CClientBankExchange, перекодировка не поможет. Это выгрузка в другом формате: CSV, выписка для просмотра, файл другой программы. Нужно заново выгрузить из банка вариант «для 1С».

Диагностика: выберите симптом

Кракозябры при прямом обмене с банком

При DirectBank файла нет, и выбрать кодировку негде. Если выписка пришла с нечитаемыми строками, причина почти всегда не в настройке пользователя:

  • 🔄 Устаревший релиз конфигурации. Банки обновляют формат обмена, и старый релиз может неверно разбирать новые поля. Обновите конфигурацию до актуального релиза.
  • 🏦 Сбой на стороне банка. Запросите ту же выписку файлом «для 1С» из интернет-банка. Если в файле всё читается, а через DirectBank нет — пишите в поддержку банка, приложив пример.
  • 📝 Кракозябры только в одном поле. Например, только в назначении платежа от конкретного плательщика. Так плательщик отправил данные — это видно и в интернет-банке. Исправлять нечего, разнесите платёж вручную.

Чтобы не гадать, откройте эту же выписку в интернет-банке. Совпадает испорченный текст — проблема в исходных данных. В банке всё чисто, а в 1С нет — проблема в обмене.

Кодировка файла платёжек, который 1С выгружает в банк

Обратное направление ломается так же. 1С формирует файл 1c_to_kl.txt в той кодировке, что указана в настройке обмена, и пишет её в заголовок. Если банк ждёт Windows, а получил DOS, он либо отклонит файл целиком, либо примет платёжки с нечитаемым назначением платежа.

Что сделать, если банк ругается на файл из 1С:

  1. Откройте выгруженный файл в «Блокноте» и посмотрите строку Кодировка= и кодировку в строке состояния.
  2. Сверьте их с требованием банка — обычно оно указано в справке интернет-банка в разделе импорта платёжных поручений.
  3. Поменяйте кодировку в настройке обмена для этого банковского счёта и выгрузите платёжки заново.

Не правьте выгруженный файл платёжек вручную перед отправкой в банк. Ошибка в одной цифре реквизита уводит деньги не тому получателю, а в журнале 1С останется прежний текст платёжки.

Сводная таблица: формат, кодировка, что делать

Что у васКодировкаНастройка в 1СДействие при кракозябрах
Клиент-банк с выгрузкой «для 1С»Windows-1251WindowsСверить настройку банка и 1С
Старый банк-клиент под DOSCP866DOSПереключить кодировку в 1С
Интернет-банк отдаёт UTF-8UTF-8Windows после перекодировкиПерекодировать копию в ANSI или попросить банк сменить выгрузку
UTF-8 с BOMUTF-8Windows после перекодировкиКак выше; BOM уйдёт при сохранении в ANSI
Прямой обмен DirectBankзадаёт протоколне настраиваетсяОбновить релиз, обратиться в банк
Выгрузка Excel, PDF, CSVлюбаяне загружаетсяВыгрузить файл в формате «для 1С»

Ошибки, из-за которых проблема возвращается

Кодировку исправили, а через неделю кракозябры снова. Обычно виновато одно из этого:

  1. Файл пересылают по почте или в мессенджере. Часть программ перекодирует текстовые вложения. Передавайте выписку в ZIP-архиве или кладите в общую папку.
  2. Файл открывают и сохраняют в редакторе «для проверки». Редактор может молча сохранить его в UTF-8. Смотреть можно, сохранять — нет.
  3. Банк обновил интернет-банк. После обновления настройки экспорта иногда сбрасываются на значения по умолчанию. Проверьте кодировку экспорта заново.
  4. Перекодировали уже перекодированный файл. Двойное преобразование превращает текст в мусор. Всегда начинайте с исходного файла банка.
  5. Несколько счетов — одна настройка. Исправили кодировку для одного банковского счёта, а выписку грузите по другому. Настройка обмена у каждого счёта своя.
Можно ли загрузить в 1С выписку в UTF-8 без перекодировки?
Формат 1CClientBankExchange предусматривает только кодировки Windows и DOS. Файл в UTF-8 надёжнее перекодировать в Windows-1251 или попросить банк выгружать сразу в нужной кодировке.
Что такое кодировка ANSI и чем она отличается от Windows-1251?
На компьютере с русской Windows ANSI в «Блокноте» и есть Windows-1251. На машинах с другой региональной настройкой ANSI означает другую таблицу, поэтому перекодировать файл лучше на компьютере с русской локалью.
Влияет ли кодировка на суммы и реквизиты?
Цифры, ИНН, БИК и номера счетов записаны латинскими цифрами и в обеих кодировках одинаковы. Страдают только русские буквы: наименования, назначения платежа, адреса. Поэтому выписка с кракозябрами иногда загружается, но контрагенты не находятся по наименованию.
Что делать с уже загруженной выпиской с кракозябрами?
Удалите загруженные из неё документы списания и поступления за этот день, исправьте кодировку и загрузите файл заново. Править наименования вручную в каждом документе дольше и легко ошибиться.
Нужно ли менять кодировку при переходе на другой банк?
Проверить нужно обязательно. Новый банк может выгружать в другой кодировке, а настройка обмена в 1С привязана к банковскому счёту и для нового счёта создаётся заново.