Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/baitun/ck2zm
- Owner: baitun
- License: mit
- Created: 2019-01-28T18:26:47.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-11-27T14:14:39.000Z (about 1 year ago)
- Last Synced: 2023-11-27T15:32:58.734Z (about 1 year ago)
- Topics: coinkeeper, create-react-app, papaparse, zenmoney
- Language: TypeScript
- Homepage: https://baitun.github.io/ck2zm
- Size: 1.67 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)