Files
poprhythm 35a6715f01 Add Firefly III data import plan
Documents FIDI + SimpleFIN approach for Capital One and Citi bank import,
including OFX Direct Connect option for Citi and the FIDI compose snippet.
2026-03-06 20:06:22 +00:00

66 lines
2.3 KiB
Markdown

# 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://<host-ip>:8383` or add to npm-network if you want a public URL