Разработчикам

«Домашние финансы» — локальная программа без облаков, поэтому и интеграция у неё локальная: ваше приложение пишет файл, человек открывает его кнопкой «Из банка…» — записи встают в базу через тот же мастер, что и банковские выписки: с предпросмотром, подбором статей и защитой от дублей.

← на страницу программы

Простой CSV — открытый формат

Текстовый файл, кодировка UTF-8 (метка BOM не важна; windows-1251 тоже понимается), разделитель — точка с запятой. Первая строка — заголовок, он обязан начинаться с Дата;Сумма — по нему программа узнаёт формат. Порядок остальных колонок любой, незнакомые колонки пропускаются.

КолонкаОбязательнаЧто в ней
Датададень операции: 21.08.2026 или 2026-08-21
Суммадасо знаком: минус — расход, плюс — доход; дробная часть через запятую или точку: -450, 85000,00, -120.50
Статьянетимя статьи словами: «Продукты», «Зарплата». Если такая статья в базе есть — запись встанет в неё; если нет — программа предложит создать её в отдельной ветке «Из выписок». Пусто — «Прочие расходы» или «Прочие поступления»
Описаниенетчто это было — попадёт в примечание записи
Времянетчч:мм — различает одинаковые покупки одного дня (см. про дубли ниже)
Счётнетметка счёта: «Карта», «Наличные». Если в файле несколько меток, программа предложит выбрать, какую загружать; связка «метка → счёт программы» запоминается
Переводнетлюбое непустое значение помечает строку как перевод между своими счетами — программа не даст посчитать его расходом дважды

Пример

Скачайте и попробуйте: заполненный пример — откройте его в программе кнопкой «Из банка…»; пустая заготовка — только строка заголовка, наполняйте своим.

Дата;Сумма;Статья;Описание;Время;Счёт;Перевод
21.08.2026;-450;Продукты;Пятёрочка у дома;18:32;Карта;
21.08.2026;-120,50;Кафе и рестораны;кофе с собой;;Карта;
22.08.2026;85000;Зарплата;аванс;;Карта;
22.08.2026;-5000;;на карту жены;;Карта;да

Что произойдёт при загрузке

Человек открывает файл в программе: Реестр → кнопка «Из банка…». Дальше работает мастер:

— статьи расставляются сами: сначала по памяти прошлых загрузок, затем по колонке «Статья»; новые имена собираются в группы, и человек одним экраном решает — принять, переименовать, выбрать свою статью или не грузить группу вовсе;

дубли не плодятся: у каждой строки считается отпечаток из даты, времени, суммы, описания и метки счёта. Повторная загрузка того же файла — или пересекающегося периода — узнаёт уже загруженное и пропускает. Поэтому ваше приложение может смело выгружать «все записи с начала месяца» каждый раз: новое добавится, старое не задвоится. Если у вас две настоящие одинаковые операции в одну минуту — они различатся порядком строк в файле, храните его постоянным;

— решения человека запоминаются: статьи, счёт для метки, «эту группу не грузить» — вторая загрузка проходит в два нажатия.

Правила хорошего файла

Пишите строки в постоянном порядке (например, по дате и времени создания). Не меняйте задним числом уже выгруженные строки — изменённая строка выглядит для программы новой операцией. Суммы — в валюте счёта, в рублях с копейками. Формат менять будем только добавлением необязательных колонок — файлы, написанные по этой странице, продолжат читаться.

Нужно больше?

У программы есть и полный формат обмена — пакет .дфп: записи со справочниками, вложениями и отчётом о конфликтах при приёме. Если вы делаете приложение и простого CSV мало — напишите на info@lab-1m.ru, расскажем и поможем. Файлы выписок банков, которых программа пока не знает, тоже присылайте — поддержка добавляется по живым образцам.