quickynab
v1.0.7
Published
Quick and easy bank transaction imports to YNAB - supports 116+ banks worldwide
Downloads
22
Maintainers
Readme
QuickYNAB
Self-hosted app to import bank transactions to YNAB. Supports 116+ banks worldwide with drag-and-drop web interface and CLI.

Why QuickYNAB?
YNAB only supports CSV imports through their web interface—you can't import transactions from their mobile apps. This means you need to be at a computer or switch to a browser every time you want to import a bank statement.
QuickYNAB solves this by providing a self-hosted solution that you can access from any device. Whether you're on mobile, tablet, or desktop, you can import your transactions through the web interface or automate imports entirely with the CLI.
Features
- 📱 Import from Anywhere - Unlike YNAB's web-only CSV import, access QuickYNAB from any device
- 🏠 Self-Hosted - Run on your own machine, your data never leaves your control
- 🔒 Privacy-Friendly - No data collection, no tracking, no external servers
- 🌐 Web App - Drag-and-drop interface with transaction preview
- 💻 CLI - Command-line tool for automation
- 🏦 116+ Banks - Auto-detects format from 25+ countries (bank2ynab)
- ✨ Smart Imports - Prevents duplicates automatically
Quick Start
Docker (Easiest)
Quick Start:
docker run -d \
-p 3000:3000 \
-e YNAB_ACCESS_TOKEN=your_token \
maiis/quickynab:latestDocker Compose:
services:
quickynab:
image: maiis/quickynab:latest
ports:
- "3000:3000"
environment:
- YNAB_ACCESS_TOKEN=your_token
- YNAB_BUDGET_ID=optional_budget_id
- YNAB_ACCOUNT_ID=optional_account_id
restart: unless-stoppedThen open http://localhost:3000
NPM
npm install -g quickynab
ynab init
ynab import statement.csv
# Preview transactions without uploading
ynab import statement.csv --dry-runConfiguration
Get your YNAB token from https://app.ynab.com/settings/developer
Docker/Web App: Set environment variables:
YNAB_ACCESS_TOKEN(required)YNAB_BUDGET_ID(optional - preselects budget)YNAB_ACCOUNT_ID(optional - preselects account)
CLI: Run ynab init (saves to ~/.quickynab/config)
- Automatically uses configured budget/account
- Override with
--budget-idand--account-idflags
Supported Banks
Auto-detects CSV format for 116+ banks including:
- 🇨🇭 Switzerland: Neon, UBS, ZKB, SwissCard
- 🇩🇪 Germany: N26, ING-DiBa, Deutsche Bank, Sparkasse
- 🇬🇧 UK: Revolut, Barclays, HSBC, Monzo
- 🇺🇸 US: Chase, Bank of America, Wells Fargo
CLI vs Web App
Use Web App if: You want a visual interface, occasional imports, select account per import
Use CLI if: You want automation, batch processing, cron jobs, scripting
Docker Details
Image: Uses official Bun 1.x Alpine base image
- Runtime: Bun for faster startup and lower memory usage
- Security: Minimal Alpine base with only required dependencies
- Health Check: Built-in HTTP health check on
/healthendpoint
Development
Requirements: Bun 1.0+
git clone https://github.com/maiis/quickynab
cd quickynab
bun install
bun run build
bun run web # Start web server
bun run dev # Development mode with hot reloadLicense
MIT
