A powerful CLI tool for converting bank export files to YNAB-compatible CSV format with interactive preset management
Project description
YNAB Import Tool
A command-line tool for converting bank export files (CSV, Excel) to YNAB-compatible CSV format.
What it does
- Converts bank transaction files to YNAB's required CSV format
- Supports CSV and Excel files (.csv, .xlsx, .xls)
- Interactive terminal interface for file conversion
- Saves conversion settings as reusable presets
- Preview data before conversion
Installation
pip install ynab-converter
Quick Start
-
Run the tool:
ynab-converter
-
Create a preset using a sample file from your bank
-
Convert your bank files using the preset
-
Import the generated CSV into YNAB
How it works
Creating a preset
When you first run the tool, you'll create a preset for your bank's file format:
- Select a sample file - Choose a transaction file from your bank
- Preview the data - See how your file looks
- Clean up data - Remove header/footer rows if needed
- Map columns - Tell the tool which columns contain:
- Date
- Payee/Description
- Amount (or separate Inflow/Outflow columns)
- Memo (optional)
Converting files
Once you have a preset:
- Select "Convert File"
- Choose your transaction file
- The tool generates a YNAB-ready CSV file
File Support
| Format | Extensions | Notes |
|---|---|---|
| CSV | .csv |
Auto-detects separators |
| Excel | .xlsx, .xls |
Reads first sheet |
Platform Compatibility
Supported platforms:
- macOS (tested on macOS 15)
- Linux (tested on Ubuntu and other distributions)
Not supported:
- Windows (not tested, may have compatibility issues)
Requirements
- Python 3.12+
Configuration
Settings and presets are saved in:
- Config:
~/.config/ynab-converter/config.toml - Presets:
~/.config/ynab-converter/presets/presets.json - Output:
~/Downloads/ynab-exports/(default)
Development
git clone https://github.com/pavelapekhtin/ynab-import.git
cd ynab-import
uv sync --dev
Run tests:
uv run pytest
License
MIT License - see LICENSE file for details.
Support
- 🐛 Issues: GitHub Issues
- 📖 Documentation: This README
Note: This tool is not affiliated with YNAB (You Need A Budget). It's an independent utility to help convert bank files to YNAB's CSV format.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ynab_converter-0.6.2.tar.gz.
File metadata
- Download URL: ynab_converter-0.6.2.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ea3f1cdd38443d6bc13ee14d949aca2905d3ac92e1db88a7c8332f9dde03650
|
|
| MD5 |
f028beeea08640f61f3aecc72b37eed3
|
|
| BLAKE2b-256 |
cf201125fd203032fd7783e6282d05c6f847018999be588ac0c1c63d9233ad6a
|
File details
Details for the file ynab_converter-0.6.2-py3-none-any.whl.
File metadata
- Download URL: ynab_converter-0.6.2-py3-none-any.whl
- Upload date:
- Size: 22.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9ee4d8c7ef85c2f33707abc7037189f28bac5532cf663eb5e013293ec88bb20
|
|
| MD5 |
8dac00890e9e3a6c9c2679b967a5ac78
|
|
| BLAKE2b-256 |
30b172728aff76bddbab08897fd0835f709a3d2b3a797827f81015cde9877155
|