Раньше для управления финансами и ведения личного бюджета я использовал CoinKeeper, но в нем мне не хватало функции сканирования чеков по QR-коду, поэтому решил перейти на Дзен-мани, купил подписку. Очень не хотелось терять накопленную за 2 года статистику, поэтому надо было найти способ экспорта и импорта данных. Формат данных у этих предложений не совпадал, и дзен-мани не могут предложить нормального импорта из coinkeeper, единственное, что у них есть на сайте - Excel шаблон, который не работает 😢.
"Что может быть проще - распарсить CSV пересобрать новый и скачать..."
подумал я и решил запилить этот конвертер.
- Каждая строка файла - это одна загружаемая операция. Важно, чтобы в комментариях операций не было переноса строк, иначе каждая новая строка будет расцениваться как новая операция.
- Все счета должны быть уже созданы и названы точно так, как указаны в файле.
- В качестве десятичного разделителя в суммах должна быть запятая.
- Все новые категории будут созданы автоматически. Многоуровневые категории со слешем сейчас не поддерживаются и будут созданы как новые (их можно потом переименовать или объединить с существующими).
- Необходимо правильно указать все необходимые типы данных в колонках импортируемых данных, иначе импорт не запустится или пройдёт не корректно.
- Возможно, понадобится разбить импортируемый файл на несколько небольших файлов по 2 тыс строк, если он окажется слишком большим и за один раз импортировать его не удастся.
- Если возникают ошибки импорта, имеет смысл разбить файл на небольшие кусочки и импортировать их по очереди, чтобы обнаружить ошибочный кусок данных и поправить его. Если ошибок не много, то они будут указаны списком и их можно будет поправить или пропустить.
- Перед импортом из файла нужно удалить пустые строки (в некоторых случаях они могут попадать в файл, но не дадут загрузиться данным на сайте).
- Загрузка данных не загружает подкатегории. Они загрузятся в виде новой категории "Продукты / Молоко". После окончания загрузки их можно переименовать вручную в "Молоко" и указать родительскую категорию "Продукты". Сделать это можно в разделе Категории.
- PapaParse - используется для парсинга CSV файла, лучшее решение для js
- FileSaver.js - кроссбраузерное решение для сохранения строки в файл