Skip to main content

A powerful CLI tool for converting bank export files to YNAB-compatible CSV format with interactive preset management

Project description

YNAB Import Tool

PyPI version Python versions License: MIT PyPI Downloads

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

  1. Run the tool:

    ynab-converter
    
  2. Create a preset using a sample file from your bank

  3. Convert your bank files using the preset

  4. 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:

  1. Select a sample file - Choose a transaction file from your bank
  2. Preview the data - See how your file looks
  3. Clean up data - Remove header/footer rows if needed
  4. 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:

  1. Select "Convert File"
  2. Choose your transaction file
  3. 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


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

ynab_converter-0.6.0.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ynab_converter-0.6.0-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file ynab_converter-0.6.0.tar.gz.

File metadata

  • Download URL: ynab_converter-0.6.0.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ynab_converter-0.6.0.tar.gz
Algorithm Hash digest
SHA256 0bd4db48456ecc8a7c93b3f5081619f7e9574ddf44ec095b014bc3ee5f67bfab
MD5 be5da0a6bd98e7d029da9c74d1c62cf6
BLAKE2b-256 f6c047cddd4a2c85f1fbc2aa0e1ba7b0480ee3c0ff641f70afd8f729ce49dd63

See more details on using hashes here.

File details

Details for the file ynab_converter-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: ynab_converter-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ynab_converter-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9fc6a4888b68cabfeb8e023339e7985f8ab3d89aab186a8cfdf9c4cee4b7e1ea
MD5 ece7ce12983e3447c9173c9ffebe7ed4
BLAKE2b-256 af931c45cb8f84e378e84be60e8eb35f90ae96cb9e7334135a3cadfe3fdf60e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page