# Firefly III Data Import Plan ## Bank Accounts | Institution | Type | Export Format | Automation | |-------------|------|---------------|------------| | Capital One | Bank/Credit Card | CSV only (dropped OFX) | SimpleFIN | | Citibank | Credit Card | CSV + QFX/OFX Direct Connect | SimpleFIN or OFX | ## Phase 1: Manual Import via FIDI (Free) **Deploy FIDI** as a companion container to Firefly III. - Image: `fireflyiii/data-importer:latest` - Needs: `FIREFLY_III_URL`, `FIREFLY_III_ACCESS_TOKEN` (generate in Firefly UI under Profile → OAuth) - Port: 8383 (internal, no need to expose publicly) - Add to `firefly-iii/docker-compose.yaml` as a second service on the internal network **Workflow:** 1. Log into Capital One → Account → Download transactions → CSV 2. Log into Citi → Account → Download transactions → QFX or CSV 3. Go to FIDI UI → upload file → map columns → import **Citi OFX Direct Connect** (optional, skips manual download): - Server: `https://www.citi.com/ofxdirect` - Requires Quicken-compatible credentials (may need to call Citi to enable) - FIDI supports OFX connections natively ## Phase 2: Automation via SimpleFIN (Optional, ~$1.50/mo) SimpleFIN Bridge aggregates US bank data including Capital One and Citi. **Setup:** 1. Sign up at https://bridge.simplefin.org/ 2. Get a SimpleFIN token 3. Deploy a bridge script (e.g. `simplefin-to-firefly` community tool) as a cron container 4. Script polls SimpleFIN → pushes new transactions to Firefly III API **Firefly III API base URL:** `https://firefly.kolpacksoftware.com/api/v1` **Auth:** Personal Access Token (Profile → OAuth → Personal Access Tokens) ## FIDI Compose Addition Add to `firefly-iii/docker-compose.yaml`: ```yaml fidi: image: fireflyiii/data-importer:latest container_name: firefly-iii-fidi restart: unless-stopped depends_on: - app environment: - FIREFLY_III_URL=http://app:8080 - VANITY_URL=https://firefly.kolpacksoftware.com - FIREFLY_III_ACCESS_TOKEN=${FIDI_ACCESS_TOKEN} - TZ=America/New_York ports: - 8383:8080 networks: - internal ``` - `FIDI_ACCESS_TOKEN`: Generate in Firefly III UI → Profile → OAuth → Personal Access Tokens - FIDI runs on internal network only — access via `http://:8383` or add to npm-network if you want a public URL