Импорт банковской выписки из CSV-файла в 1С
Содержание
Штатная загрузка выписки в 1С 8.3 ждёт текстовый файл формата 1CClientBankExchange (обычно это kl_to_1c.txt), а не CSV. Поэтому выписку из банка
в формате CSV напрямую кнопкой «Загрузить» в разделе Банк и касса → Банковские выписки принять не получится — сначала файл нужно либо преобразовать в формат банковского обмена, либо разобрать внешней обработкой.
Ниже — три рабочих пути: конвертация CSV в формат обмена, прямой обмен без файла (1С:ДиректБанк) и загрузка через внешнюю обработку
. Плюс разбор того, на чём CSV чаще всего спотыкается: разделители, кодировка и сопоставление колонок с полями документа.
Что именно умеет принимать 1С
В типовых конфигурациях (Бухгалтерия предприятия 3.0, Управление торговлей 11, ERP) механизм «Клиент-банк» работает с текстовым форматом 1CClientBankExchange. Это согласованная структура: строки вида Дата=…, Сумма=…, ПлательщикСчет=…, разделённые секциями СекцияДокумент.
CSV — это просто таблица со значениями через разделитель. 1С не знает, в какой колонке дата, в какой сумма и где назначение платежа. Отсюда вывод:
- 💡 CSV — промежуточный формат. Его либо приводят к
1CClientBankExchange, либо парсят программно. - Если банк умеет выгружать выписку сразу в «1С» (формат клиент-банка) — берите этот вариант, а CSV не трогайте вовсе.
- CSV оправдан, когда банк отдаёт только его: небольшие банки, зарубежные счета, выгрузки из личного кабинета.
Проверьте в интернет-банке раздел выгрузки. Часто рядом с «Экспорт в CSV» есть «Экспорт в 1С» или «Экспорт для бухгалтерии» — это и есть нужный 1CClientBankExchange.
Подготовка CSV-файла перед загрузкой
Прежде чем что-то загружать, откройте файл в текстовом редакторе (не в Excel — он скрывает исходный вид) и посмотрите на сырые данные. Проверить нужно четыре вещи.
- Разделитель колонок. Российские банки чаще используют
;, реже,или табуляцию. Если в суммах стоит запятая-разделитель дробной части (1500,50), то разделителем колонок точно будет;. - Разделитель дробной части в суммах.
1500,50или1500.50. 1С при разборе ждёт определённый символ — запомните, какой у вас. - Заголовок таблицы. Есть ли первая строка с названиями колонок (
Дата;Сумма;Назначение). Её при загрузке нужно пропустить. - Кодировка файла. Windows-1251 или UTF-8 (об этом — отдельный раздел ниже).
Типичная строка CSV выглядит так:
05.03;142;-15000,00;7701234567;40702810900000012345;Оплата по счету 12 в т.ч. НДС 20%
Здесь по порядку: дата, номер платёжного документа, сумма со знаком (минус — списание), ИНН получателя, его расчётный счёт и назначение платежа. У вашего банка порядок и состав колонок будут другими — именно его и нужно разобрать перед загрузкой.
Отдельно проверьте, что в одной выгрузке только один расчётный счёт. Если банк свалил несколько счетов в один CSV, разнесите их по файлам — иначе документы привяжутся не к тому счёту в 1С.
Способ 1. Преобразовать CSV в формат банковского обмена
Самый надёжный путь — привести CSV к 1CClientBankExchange и загрузить штатно. Тогда работает вся типовая логика: распознавание контрагента по ИНН и счёту, зачёт авансов, подстановка статей движения денежных средств.
Как это делается:
- Откройте CSV в Excel или Google Таблицах, приведите колонки к нужному порядку: дата, номер документа, сумма, счёт и ИНН плательщика/получателя, назначение платежа.
- По структуре
1CClientBankExchangeсоберите текстовый файл: шапка с номером счёта и периодом, затем по каждой операции секцияСекцияДокумент … КонецДокументас полямиДата=,Сумма=,Плательщик=,Получатель=,НазначениеПлатежа=. - Сохраните результат в текстовый файл в той кодировке, которую ждёт ваша конфигурация (обычно Windows-1251).
- В 1С откройте
Банк и касса → Банковские выписки, нажмитеЗагрузитьи укажите полученный файл.
Собирать формат обмена вручную для каждой выписки долго и легко ошибиться. Разовую выписку так загрузить можно, но для регулярной работы это не вариант — переходите к способу 2 или 3.
Перед первой загрузкой проверьте настройки обмена: в списке банковских выписок есть команда настройки обмена с клиентами банка, где задаются имена файлов загрузки и выгрузки и расчётный счёт организации.
Способ 2. Прямой обмен с банком без файла
Если ваш банк поддерживает технологию 1С:ДиректБанк, формат файла вообще не нужен — выписка подтягивается в базу по защищённому каналу одним нажатием. Это снимает сразу все проблемы CSV: ни кодировок, ни разделителей, ни маппинга.
Подключение настраивается из карточки банковского счёта:
- Откройте
Банк и касса → Банковские счета(или карточку счёта в сведениях об организации). - В карточке счёта найдите команду подключения прямого обмена с банком.
- Пройдите мастер: он запросит данные из интернет-банка (логин, иногда отдельный идентификатор от банка).
- После подключения выписка загружается кнопкой получения из банка прямо в журнале банковских выписок.
Поддержку 1С:ДиректБанк уточните у банка: список подключённых банков периодически расширяется. Если банк в нём есть — это лучший вариант, и возня с CSV не нужна.
Способ 3. Загрузка CSV через внешнюю обработку
Когда банк отдаёт только CSV, а делать это регулярно, пишут (или берут готовую) внешнюю обработку. Она читает CSV построчно и создаёт документы Поступление на расчётный счёт и Списание с расчётного счёта.
Логика обработки:
- читает файл с указанием кодировки и разделителя;
- пропускает строку заголовка;
- по каждой строке определяет направление (приход/расход) — по знаку суммы или по отдельной колонке дебет/кредит;
- ищет контрагента по ИНН или номеру счёта, при отсутствии — создаёт или оставляет для ручного выбора;
- заполняет дату, сумму, назначение платежа и создаёт документ.
Чтение CSV в коде опирается на объект ЧтениеТекста с явным указанием кодировки, а каждую строку разбирают через СтрРазделить(Строка, ";"). Готовую обработку подключают через Файл → Открыть или публикуют в базе как дополнительную обработку в разделе администрирования.
Не пишите обработку с нуля, если нужен разовый импорт. Для одной выписки дешевле вручную преобразовать файл (способ 1) или ввести операции руками.
Для регулярной загрузки обработку ставят на расписание через регламентное задание: оно забирает CSV из заданной папки, разбирает его и создаёт документы без участия бухгалтера. Файлы банк кладёт в папку по расписанию выгрузки, 1С подхватывает их раз в день. Такой конвейер окупается, только когда выписки приходят каждый день и объёмом в десятки операций.
Какой способ выбрать. Все три пути ведут к одному результату — документам поступления и списания в журнале. Разница в трудозатратах и в том, что доступно по вашему банку.
| Способ | Когда подходит | Минусы |
|---|---|---|
1С:ДиректБанк | Банк поддерживает технологию | Нужна поддержка со стороны банка |
| Преобразование в формат обмена | Разовая или редкая выписка | Ручная сборка файла, легко ошибиться |
| Внешняя обработка | Регулярный поток только в CSV | Нужна разработка или готовое решение |
Логика выбора простая: сначала проверьте 1С:ДиректБанк — если банк в списке, остальное не нужно. Нет прямого обмена, но CSV разовый — преобразуйте файл вручную. CSV приходит постоянно — вкладывайтесь во внешнюю обработку.
Сопоставление колонок CSV с полями документа
Ключевой момент при любом способе — какая колонка CSV во что ложится в 1С. Минимальный набор полей, без которых документ не проведётся корректно:
Несколько практических правил сопоставления:
- Направление операции. Если в CSV одна колонка суммы со знаком — минус обычно означает списание. Если колонок две (дебет и кредит) — заполненной оказывается только одна из них.
- Контрагент. Надёжнее искать по ИНН: названия в выписке пишутся как попало. Если ИНН в CSV нет — остаётся поиск по расчётному счёту.
- Назначение платежа. Из него 1С вытягивает ставку и сумму НДС по тексту вида
в т.ч. НДС 20%. Берегите это поле от обрезки.
Если в CSV нет ИНН контрагента, автоматический зачёт по договорам работать не будет — контрагента придётся сопоставлять вручную в каждом документе.
Проблемы с кодировкой и разделителями
CSV чаще всего ломается на кодировке и спецсимволах. Симптомы и решения:
;, , или табуляцией — и укажите тот же символ при загрузке.1500,50 прочиталось как 150050. Приведите все суммы к одному формату (точка или запятая) до загрузки.Общий приём: если 1С упорно не читает файл, откройте CSV в «Блокноте», сохраните как обычный текст в кодировке ANSI (это и есть Windows-1251) и повторите загрузку. Большинство типовых механизмов 1С ждут именно её.
Проверка и проведение загруженных документов
После загрузки документы появляются в журнале банковских выписок, как правило, непроведёнными. Не проводите их пачкой, не проверив — сверьте три вещи:
- Итоги выписки. Сумма поступлений и списаний в 1С должна совпасть с остатками и оборотами в банковской выписке на бумаге или в PDF.
- Распознавание контрагентов. Пройдите по документам, где контрагент не определился (поле пустое или подсвечено) — подставьте вручную. Обычно это новые контрагенты, которых ещё нет в базе.
- Статьи движения денежных средств. Если ведёте управленческий учёт по статьям ДДС, проверьте, что они проставились.
Проведённые документы формируют движения по счёту 51: поступление — проводкой Дт 51 Кт 62 (или 60, 76), списание — Дт 60 (62, 68, 69) Кт 51. Если контрагент и договор определились верно, аванс зачтётся автоматически.
Прежде чем проводить всю выписку, откройте 2–3 документа и убедитесь, что суммы, счета и контрагенты встали правильно. Исправлять одну настройку маппинга проще, чем перепроводить сотню документов.
Последний контроль — отчёт по счёту 51 за период выписки: обороты и конечный остаток должны сойтись с банком до копейки.
Частые вопросы
Почему 1С не видит мой CSV-файл в окне загрузки?
1CClientBankExchange. CSV в этом окне и не должен открываться — его либо преобразуют в формат обмена, либо грузят через внешнюю обработку.