/ck2zm

💸 CoinKeeper to ZenMoney CSV converter

Primary LanguageTypeScriptMIT LicenseMIT

Конвертер CoinKeeper в ZenMoney

FOSSA Status

🚧 This project is under development. It's not ready yet.

Предыстория

Раньше для управления финансами и ведения личного бюджета я использовал CoinKeeper, но в нем мне не хватало функции сканирования чеков по QR-коду, поэтому решил перейти на Дзен-мани, купил подписку. Очень не хотелось терять накопленную за 2 года статистику, поэтому надо было найти способ экспорта и импорта данных. Формат данных у этих предложений не совпадал, и дзен-мани не могут предложить нормального импорта из coinkeeper, единственное, что у них есть на сайте - Excel шаблон, который не работает 😢.

"Что может быть проще - распарсить CSV пересобрать новый и скачать..."

подумал я и решил запилить этот конвертер.

Основные моменты, которые нужно знать для импорта данных

  1. Каждая строка файла - это одна загружаемая операция. Важно, чтобы в комментариях операций не было переноса строк, иначе каждая новая строка будет расцениваться как новая операция.
  2. Все счета должны быть уже созданы и названы точно так, как указаны в файле.
  3. В качестве десятичного разделителя в суммах должна быть запятая.
  4. Все новые категории будут созданы автоматически. Многоуровневые категории со слешем сейчас не поддерживаются и будут созданы как новые (их можно потом переименовать или объединить с существующими).
  5. Необходимо правильно указать все необходимые типы данных в колонках импортируемых данных, иначе импорт не запустится или пройдёт не корректно.
  6. Возможно, понадобится разбить импортируемый файл на несколько небольших файлов по 2 тыс строк, если он окажется слишком большим и за один раз импортировать его не удастся.
  7. Если возникают ошибки импорта, имеет смысл разбить файл на небольшие кусочки и импортировать их по очереди, чтобы обнаружить ошибочный кусок данных и поправить его. Если ошибок не много, то они будут указаны списком и их можно будет поправить или пропустить.
  8. Перед импортом из файла нужно удалить пустые строки (в некоторых случаях они могут попадать в файл, но не дадут загрузиться данным на сайте).
  9. Загрузка данных не загружает подкатегории. Они загрузятся в виде новой категории "Продукты / Молоко". После окончания загрузки их можно переименовать вручную в "Молоко" и указать родительскую категорию "Продукты". Сделать это можно в разделе Категории.

Используемые функции

Зависимости

  • PapaParse - используется для парсинга CSV файла, лучшее решение для js
  • FileSaver.js - кроссбраузерное решение для сохранения строки в файл

License

FOSSA Status