https://github.com/sa7mon/firefly-gone-plaid
A connector to add financial transactions from the Plaid API to Firefly III
https://github.com/sa7mon/firefly-gone-plaid
Last synced: 12 months ago
JSON representation
A connector to add financial transactions from the Plaid API to Firefly III
- Host: GitHub
- URL: https://github.com/sa7mon/firefly-gone-plaid
- Owner: sa7mon
- Created: 2020-05-04T22:06:17.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-12-03T02:14:03.000Z (over 5 years ago)
- Last Synced: 2025-06-18T04:49:29.155Z (12 months ago)
- Language: Go
- Homepage:
- Size: 17.6 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Firefly Gone Plaid
A connector to add financial transactions from the Plaid API to [Firefly III](https://github.com/firefly-iii/firefly-iii)

"Firefly.....it's gone Plaid!"
## Usage
**Standalone**
```
go build -o firefly-gone-plaid
./firefly-gone-plaid --config config.json --start-date 2020-06-10 --end-date 2020-06-20
```
**Docker**
```bash
docker build . -t hothamandcheese/firefly-gone-plaid:latest
docker run --rm -v $(pwd)/config:/config:ro hothamandcheese/firefly-gone-plaid:latest --config /config/config.json --start-date 2020-05-15 --end-date 2020-06-11
```
## Config
Before running the tool, you'll need to:
0. Generate a Personal Access Token in Firefly III (Options > Profile > Create new token)
1. Create Plaid account
2. Use the [Plaid Quickstart](https://github.com/plaid/quickstart) to connect your bank accounts to your Plaid account and get your Plaid `access-development-X` tokens
3. Create a `config.json` file that follows this basic schema:
```json
{
"firefly_api_base_url": "http://ip.or.hostname.of.firefly:port",
"firefly_token": "XXXXXXXXXXX",
"plaid_client_id": "XXXXXXXXXX",
"plaid_secret": "XXXXXXXXXXXXXX",
"plaid_public_key": "XXXXXXXXXXXXXX",
"connections": [
{
"token": "access-development-XXXXX-XXXXXXXX",
"institution_nickname": "US Bank",
"accounts": [
{
"firefly_account_id": 1,
"account_last_four": "1111",
"account_nickname": "US Bank Savings"
},
{
"firefly_account_id": 3,
"account_last_four": "2222",
"account_nickname": "US Bank Checking"
}
]
},
{
"token": "access-development-XXXXXXX-XXXXXXXXX",
"institution_nickname": "Discover",
"accounts": [
{
"firefly_account_id": 7,
"account_last_four": "4567",
"account_nickname": "Discover"
}
]
}
]
}
```
**Note:**
* All "*_nickname" fields can be set to anything. The names will only be used in logs.
* The `firefly_account_id` must be an ID of a Firefly asset account. Expense and revenue accounts do not currently work.