extmoney
Zurück zur Hilfe

Daten importieren

Импорт из файла

Diesen Artikel gibt es noch nicht in Ihrer Sprache, deshalb lesen Sie ihn in einer anderen.

Перенесите историю операций в ExtMoney из выгрузок других сервисов — Mint, YNAB, Monarch, Wallet (BudgetBakers), Copilot, Quicken Simplifi, Finanzguru, Spendee и любого банка, который отдаёт CSV.

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

Как это работает:

  1. Загрузка файла. Откройте «Импорт · экспорт» в левом меню и выберите CSV-файл. Можно выбрать готовый шаблон («Mint», «YNAB register», «Monarch», «Wallet») или вручную сопоставить колонки файла с полями: дата, сумма (или приход/расход), описание, контрагент, категория, счёт, валюта. Своё сопоставление можно сохранить как шаблон («Сохранить шаблон») — в следующий раз он появится в списке готовых.

    Если приход и расход в разных колонках (так выгружают многие банки), переключите «Колонки суммы» в режим «Приход / расход» — тогда вместо одного поля «Сумма» появятся два, и можно указать обе колонки.

    Если в файле нет строки заголовка и первая строка — уже операция, переключите «Первая строка» в положение «Уже операция». ExtMoney обычно определяет это сам при выборе файла; в списке колонок они тогда называются «column_1», «column_2» и так далее, и рядом с каждой показано значение из первой строки — по нему видно, где какая. Без этого первая операция пропала бы: она была бы прочитана как названия колонок.

  2. Предпросмотр. Сервер разбирает файл и показывает сводку: сколько строк новых, сколько дубликатов, сколько с ошибками (непарсящаяся дата/сумма), диапазон дат, валюты и контрольную сумму. Ничего ещё не сохранено.

    «С ошибками» и «Пропущено намеренно» — это разные вещи. Первое означает, что строку не удалось прочитать. Второе — что ExtMoney решил её не импортировать, и объяснение всегда рядом: так, в выписке по кредитной карте не импортируются платежи в её погашение, потому что они уже есть на счёте, с которого их платили (иначе деньги посчитались бы дважды).

    Под сводкой есть раскрывающийся блок «Строки, которые не будут импортированы» — в нём перечислены сами строки, а не только их количество. У каждой видно описание, дата, сумма и причина, а если не удалось прочитать именно ячейку (например, дату 31/02/2026), она показана дословно — так понятно, что править в файле. Дубликаты сюда не попадают: они считаются отдельно, выше, и делать с ними ничего не нужно.

  3. Категории (необязательно). В предпросмотре под сводкой появляется список категорий из файла — назначьте каждой свой тег и нажмите «Сохранить и пересобрать», чтобы обновить предпросмотр. Несопоставленные операции попадут без тега; сопоставления сохраняются и применяются к будущим импортам.

  4. Подтверждение. Кнопка подтверждения добавляет только новые строки в учёт. Загруженный файл после успешного импорта удаляется.

Что важно знать:

  • Дубликаты не задваиваются. Повторная загрузка того же или пересекающегося файла не создаёт повторных операций — совпадающие строки помечаются как дубликаты и пропускаются.
  • Счета. Если в файле есть колонка счёта, ExtMoney найдёт существующий счёт по имени или создаст новый наличный счёт (вы увидите его в предпросмотре).
  • Валюта. Берётся из колонки валюты, иначе — валюта вашего первого счёта. Операция в валюте, не совпадающей с валютой счёта, помечается ошибкой и не импортируется (автоконвертации при импорте нет).
  • Переводы между счетами в этой версии импортируются как обычные доход/расход (парные переводы появятся позже).
  • Тариф. Бесплатный план разрешает 1 импорт в месяц до 1000 строк; на платных — без ограничений.

История импортов и отмена

Под формой импорта (а также сразу после успешного импорта) показывается «История импортов» — список ваших прошлых загрузок: имя файла, дата и сколько операций добавлено.

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

Отмена работает на сайте и в мобильном приложении одинаково. Учтите: отмена убирает только то, что импорт добавил, — она не восстановит данные, стёртые опцией «Стереть все данные перед импортом» (см. ниже).

Уборка истории. В списке видны все завершённые загрузки, включая прерванные и неудачные, и каждую строку можно убрать корзинкой справа. Кнопка «Очистить» в заголовке списка убирает разом все отменённые, прерванные и неудачные записи — успешные импорты она не трогает.

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

Стереть все данные перед импортом (режим замены)

Если нужно полностью заменить содержимое пространства данными из файла (а не дополнить его), отметьте перед загрузкой галочку «Стереть все данные перед импортом». Появится поле подтверждения — введите точную фразу ERASE ALL DATA, и только тогда кнопка загрузки станет активной.

⚠️ Это безвозвратно удаляет все ваши счета, операции, теги, планы и цели, а затем импортирует файл в пустое пространство. Отменить это нельзя (для такого импорта отмена недоступна). Если есть сомнения — сначала сделайте резервную копию (раздел «Резервные копии») или экспорт данных.

Подсказка категорий через ИИ

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

  • Функция требует вашего согласия на AI-аналитику (раздел «Приватность и AI»). Без согласия кнопка подскажет включить его.
  • Расходуется отдельная месячная квота подсказок (зависит от тарифа); обычный лимит импорта она не трогает.
  • Если ИИ недоступен, ничего страшного — категории просто останутся без сопоставления, и вы зададите их вручную.

Сверка после импорта

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

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

Банковские выписки (OFX/QFX, CAMT.053, MT940)

Помимо CSV ExtMoney понимает стандартные форматы банковских выписок — OFX/QFX (Quicken и многие банки США), CAMT.053 (ISO 20022, выписки европейских банков) и MT940 (классический банковский формат, в т.ч. Германия; MoneyMoney умеет выгружать все три).

Загружаются они на той же странице «Импорт · экспорт». Такие файлы не нужно сопоставлять по колонкам — как только вы выбрали файл, ExtMoney распознаёт формат и показывает плашку «Распознана выписка …»; шаг сопоставления колонок при этом пропускается, потому что формат сам несёт дату, сумму со знаком, валюту, счёт и назначение платежа. Дальше — обычный предпросмотр и подтверждение. Дата проводки и дата валютирования сохраняются (вторая попадает в описание, если отличается), а повторная загрузка той же выписки так же не задваивает операции.

Импорт выписок включается флагом IMPORT_BANK_FORMATS на стороне сервера. Если он выключен, при выборе такого файла появится пояснение, а кнопка загрузки будет недоступна.

Если банк предлагает выбрать программу, а не формат. На странице выгрузки часто стоит список вида «Quicken (.qfx)», «QuickBooks (.qbo)», «Microsoft Money (.ofx)», «Simply Accounting (.aso)» — это один и тот же файл под четырьмя расширениями, подходит любой. ExtMoney определяет формат по содержимому, а не по расширению.

Такой файл лучше CSV из того же банка: он несёт валюту, номер счёта и собственный идентификатор у каждой операции — значит и счёт создастся сразу правильный, и повторная загрузка гарантированно ничего не задвоит.

Выписка банка в PDF (Альфа-Банк, Озон Банк, Сбербанк, CIBC, TD)

Многие банки не отдают ни OFX, ни CSV — только PDF-выписку. ExtMoney разбирает её так же, как любой самоописывающийся формат: колонки сопоставлять не нужно, банк определяется сам. Поддерживаются:

  • Альфа-Банк — «Выписка по счету»;
  • Озон Банк — «Справка о движении средств»;
  • Сбербанк — «Выписка по платёжному счёту» (из СберБанк Онлайн);
  • CIBC — кредитная карта, чековый и сберегательный счёт;
  • TD — кредитная карта.

Страница импорта заранее предупреждает, что PDF-выписка распознаётся сама; какой именно это банк, приложение сообщает после загрузки файла — вместе с маской счёта и периодом. Если разметка выписки не поддерживается, вы узнаете об этом сразу при загрузке: ничего не угадывается.

У российских выписок описание операции приводится к читаемому виду: из покупки по карте у Альфа-Банка остаётся сам магазин, а код MCC переносится в категорию операции — его можно один раз сопоставить со своей категорией, и дальше это будет происходить само. Сбербанк печатает категорию словами («Прочие расходы», «Перевод СБП»), и она подхватывается так же.

Выписку без единой операции (счёт простоял месяц без движения) загружать имеет смысл: операций она не добавит, но счёт будет создан с правильным остатком, и следующие выписки того же счёта привяжутся к нему сами.

Разбор полностью офлайн — никакого распознавания текста и никакого ИИ. Файл никуда не отправляется, а на скан (картинку без текстового слоя), запароленный PDF или выписку незнакомого банка вы получите понятное сообщение о причине, а не молчаливо неверный результат.

Что показывает предпросмотр. Помимо обычной сводки появляется блок выписки:

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

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

Переводы между своими счетами. Выписка охватывает один счёт, поэтому перевод с чекового на сберегательный вы увидите в двух разных выписках. Если встречная запись уже импортирована, предпросмотр скажет об этом: «N операций похожи на вторую половину перевода». Они всё равно импортируются как обычные расход и доход — на итоговый капитал это не влияет, но в суммах доходов/расходов и в отчётах по категориям такая пара выглядит лишней. Хотите видеть её одним движением — превратите операцию в перевод (обычное редактирование операции).

Импорт PDF-выписок включается флагом IMPORT_PDF_STATEMENTS на стороне сервера. Доступно только в веб-версии.

Перенос из YNAB (с переводами между счетами)

ExtMoney умеет импортировать бюджет YNAB (JSON — выгрузка YNAB API GET /budgets/{id}). В отличие от плоского CSV здесь сохраняется структура: счета, категории и — главное — переводы между счетами. Перевод в YNAB (две связанные записи) переносится как один перевод в ExtMoney (пара списание/зачисление в едином объекте Exchange), а не как две independent операции. Дубликаты не задваиваются: повторная загрузка того же бюджета не создаёт повторных операций и переводов (YNAB-идентификаторы стабильны).

Загружается на той же странице «Импорт · экспорт» двумя способами:

  1. Файлом — выберите JSON-файл (выгрузка YNAB API GET /budgets/{id}). ExtMoney распознаёт его как бюджет YNAB, плашка «Распознан формат …» подтверждает это, шаг сопоставления колонок пропускается.
  2. Напрямую из YNAB — переключатель «Источник» → «Загрузить из YNAB». Вставьте персональный токен доступа YNAB (создаётся в YNAB: Account Settings → Developer Settings → New Token), при желании нажмите «Загрузить мои бюджеты» и выберите нужный, затем — «Загрузить из YNAB». Токен используется только для разовой загрузки бюджета и нигде не сохраняется.

Дальше в обоих случаях — обычные предпросмотр и подтверждение.

Включается флагом IMPORT_NATIVE_APPS на стороне сервера. Ограничение текущей версии: дробления операций (split) переносятся одной общей строкой; импорт Actual Budget и прямое подключение к YNAB по токену появятся позже.

Собрать JSON для импорта вручную (свой файл)

Если вы ведёте учёт где-то ещё (в таблице, в самописном скрипте) и хотите перенести данные в ExtMoney, вам не нужен отдельный «свой» формат: ExtMoney читает из файла только JSON-структуру бюджета YNAB, и её легко собрать руками. Достаточно составить минимальный JSON по образцу ниже, сохранить его с расширением .json (кодировка UTF-8) и загрузить на странице «Импорт · экспорт» как обычный файл — он распознается как бюджет YNAB, шаг сопоставления колонок пропускается, дальше обычные предпросмотр и подтверждение.

Минимальный пример (расход, доход и перевод между счетами):

{
  "currency_format": { "iso_code": "USD" },
  "accounts": [
    { "id": "acc-cash",     "name": "Наличные" },
    { "id": "acc-checking", "name": "Основной счёт" }
  ],
  "transactions": [
    {
      "id": "tx-0001",
      "date": "2026-06-30",
      "amount": -12340,
      "account_id": "acc-checking",
      "payee_name": "Кофейня",
      "memo": "латте",
      "category_name": "Кафе и рестораны"
    },
    {
      "id": "tx-0002",
      "date": "2026-07-01",
      "amount": 5000000,
      "account_id": "acc-checking",
      "payee_name": "Зарплата",
      "category_name": "Доход"
    },
    {
      "id": "tx-0003",
      "date": "2026-07-02",
      "amount": -100000,
      "account_id": "acc-checking",
      "transfer_account_id": "acc-cash",
      "transfer_transaction_id": "tx-0003b"
    }
  ]
}

Этот файл создаёт расход 12,34, доход 5000,00 и перевод 100,00 с «Основного счёта» на «Наличные».

Поля файла

Верхний уровень:

КлючОбяз.Что это
currency_format.iso_codeдаВалюта всего файла (ISO-код: USD, RUB, EUR…). Одна на весь файл — YNAB-бюджет одновалютный. Также по этому ключу файл распознаётся как JSON-бюджет.
accounts[]желательноВаши счета: id (любая уникальная строка) + name (как счёт будет назван в ExtMoney). Если счёта в этом списке нет — имя берётся из account_name операции, иначе из её account_id.
transactions[]даМассив операций (см. ниже).

Каждая операция в transactions:

КлючОбяз.Что это
idдаУникальный идентификатор операции (любая строка). По нему работает защита от дублей: повторная загрузка того же файла не задвоит операции. У каждой операции — свой уникальный id.
dateдаДата в формате ГГГГ-ММ-ДД.
amountдаСумма в миллиединицах — то есть значение × 1000, целым числом. Минус = расход, плюс = доход. Ноль недопустим. Примеры: расход 12,34 → -12340; доход 5000,00 → 5000000.
account_idдаСсылка на id из accounts.
account_nameнетИмя счёта — как запасной вариант, если вы не описываете блок accounts.
payee_nameнетКонтрагент / место. Попадает в описание операции.
memoнетКомментарий. Склеивается с payee_name через « — ».
category_nameнетКатегория. Сопоставляется с уже существующими категориями вашей команды (новые категории импорт не создаёт). Пусто → операция без категории.
transfer_account_idнетТолько для перевода — id счёта-получателя (см. ниже).
transfer_transaction_idнетТолько для перевода — любая уникальная строка (нужна для защиты от дублей).
deletedнетtrue — операцию пропустить. По умолчанию операция активна.

Переводы между своими счетами. Добавьте одну операцию со стороны списания: отрицательный amount, account_id — счёт-источник, transfer_account_idid счёта-получателя, transfer_transaction_id — любая уникальная строка. Вторую (зеркальную) запись добавлять не нужно — пара списание/зачисление создаётся из одной строки как единый перевод (Exchange).

Ограничения. Одна валюта на весь файл (обе стороны перевода — в ней же); дробления одной операции по нескольким категориям не поддерживаются (одна строка = одна операция). Как и для импорта YNAB, эта загрузка включается флагом IMPORT_NATIVE_APPS на стороне сервера.

В мобильном приложении импорта нет

Импорт истории из файла (CSV, банковские выписки OFX/QFX/CAMT.053/MT940, выгрузки YNAB) доступен только в веб-версии ExtMoney. В мобильном приложении раздел Меню → Импорт показывает напоминание открыть веб-версию.

Чтобы импортировать данные, откройте ExtMoney в браузере (на компьютере или в мобильном браузере) и перейдите в раздел Импорт — там есть загрузка файла, предпросмотр перед записью, подбор формата CSV, история и отмена импорта, а также режим замены данных. Все импортированные операции сразу появятся и в мобильном приложении.

War das hilfreich?
Zurück zur Hilfe