Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/baitun/ck2zm

💸 CoinKeeper to ZenMoney CSV converter
https://github.com/baitun/ck2zm

coinkeeper create-react-app papaparse zenmoney

Last synced: about 2 months ago
JSON representation

💸 CoinKeeper to ZenMoney CSV converter

Awesome Lists containing this project

README

        

# Конвертер CoinKeeper в ZenMoney
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fbaitun%2Fck2zm.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fbaitun%2Fck2zm?ref=badge_shield)

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

## Предыстория

Раньше для управления финансами и ведения личного бюджета я использовал [CoinKeeper](https://coinkeeper.me/), но в нем мне не хватало функции сканирования чеков по QR-коду, поэтому решил перейти на [Дзен-мани](https://zenmoney.ru/), купил подписку. Очень не хотелось терять накопленную за 2 года статистику, поэтому надо было найти способ экспорта и импорта данных. Формат данных у этих предложений не совпадал, и дзен-мани не могут предложить нормального импорта из coinkeeper, единственное, что у них есть на сайте - Excel шаблон, который не работает 😢.
> "Что может быть проще - распарсить CSV пересобрать новый и скачать..."

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

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

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

* https://developer.mozilla.org/en-US/docs/Web/API/FileReader

## Зависимости
* [PapaParse](https://github.com/mholt/PapaParse) - используется для парсинга CSV файла, лучшее решение для js
* [FileSaver.js](https://github.com/eligrey/FileSaver.js/) - кроссбраузерное решение для сохранения строки в файл

## License
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fbaitun%2Fck2zm.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fbaitun%2Fck2zm?ref=badge_large)