https://github.com/zmoog/ynabkit
YNAB tools to import and analyze financial data
https://github.com/zmoog/ynabkit
Last synced: 8 months ago
JSON representation
YNAB tools to import and analyze financial data
- Host: GitHub
- URL: https://github.com/zmoog/ynabkit
- Owner: zmoog
- License: apache-2.0
- Created: 2023-07-20T05:33:17.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-04T00:02:42.000Z (over 1 year ago)
- Last Synced: 2025-06-28T06:03:18.129Z (about 1 year ago)
- Language: Python
- Size: 28.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ynabkit
[](https://pypi.org/project/ynabkit/)
[](https://github.com/zmoog/ynabkit/releases)
[](https://github.com/zmoog/ynabkit/actions?query=workflow%3ATest)
[](https://github.com/zmoog/ynabkit/blob/master/LICENSE)
YNAB Kit is a CLI tool to support data import and export from YNAB. It provides tools to convert data from Fineco, N26, and Satispay export files to YNAB CSV format.
## Installation
Install this tool using `pip`:
pip install ynabkit
## Usage
### Fineco Bank
Convert Fineco bank export files to YNAB format:
```bash
# Basic conversion
ynabkit fineco describe-transactions input.xlsx
# With payee configuration
ynabkit fineco describe-transactions input.xlsx --payees payees.yml
```
### N26 Bank
Convert N26 bank export files to YNAB format:
```bash
# Basic conversion
ynabkit n26 describe-transactions input.csv
# With payee configuration
ynabkit n26 describe-transactions input.csv --payees payees.yml
```
### Satispay
Convert Satispay export files to YNAB format:
```bash
# Basic conversion
ynabkit satispay describe-transactions input.csv
# Exclude specific transaction types
ynabkit satispay describe-transactions input.csv --exclude-kinds "Ricarica,Prelievo"
# With payee configuration
ynabkit satispay describe-transactions input.csv --payees payees.yml
```
### Payee Configuration
Create a `payees.yml` file to map transaction descriptions to specific payees:
```yaml
- name: Amazon
patterns:
- "AMAZON"
- "AMAZON.*"
- name: Spotify
patterns:
- "SPOTIFY"
- name: Local Supermarket
patterns:
- ".*SUPERMARKET.*"
- "CONAD"
- "COOP"
```
For help with any command, run:
ynabkit --help
You can also use:
python -m ynabkit --help
## Development
To contribute to this tool, first checkout the code. Then create a new virtual environment:
cd ynabkit
python -m venv venv
source venv/bin/activate
Now install the dependencies and test dependencies:
pip install -e '.[test]'
To run the tests:
pytest