diff --git a/firefly-iii/DATA-IMPORT.md b/firefly-iii/DATA-IMPORT.md new file mode 100644 index 0000000..38678f9 --- /dev/null +++ b/firefly-iii/DATA-IMPORT.md @@ -0,0 +1,65 @@ +# 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