A free and open source personal finance manager https://firefly-iii.org/
Documentation https://docs.firefly-iii.org/
Need to setup .env
, .db.env
and .importer.env
before running docker compose.
The Importer is a separated web app (created by Firefly III) to support import of external files (CSV and other formats).
More details https://docs.firefly-iii.org/how-to/data-importer/installation/docker/
The firefly-plaid-connector-2
is an external app that can connect to Plaid in order to sync data between your financial institution and Firefly III
https://github.com/dvankley/firefly-plaid-connector-2
Need to create an account with Plaid and request for a Development token (it takes one or two days for approval).
Then, use Plaid Quickstart https://plaid.com/docs/quickstart/ app to request the tokens from your financial institution.
Get the docker-compose.yml
from https://github.com/plaid/quickstart.git and .env.example
.
Edit .env.example
with your clientId and secret, change env to development
.
Also, follow instructions to setup a Redirect.
Start one backend and the frontend.
docker compose up -d node frontend
Try to connect to your financial institution, if success, you will get an item_id (not used) and an access token.
The financial institution may have many accounts (checking, savings, loan, etc).
With your access token, find the accountId for each account type with the curl
command described at https://plaid.com/docs/api/accounts/#accountsget
Once you have the all tokens (clientId, secret, development access token and accountId), setup the aplication.yml
from firefly-plaid-connector-2
.
Create the Volume firefly_plaid_connector_2
in advance.
docker volume create firefly_plaid_connector_2
Change permissions to a+w
. This is needed by the container to create some files in the volume.
Don't worry, after the container is created the permissions are revoked.
sudo chmod a+w /var/lib/docker/volumes/firefly_plaid_connector_2/_data
Double check .env
, .db.env
, .importer.env
, application.yml
and up the services.
docker compose up -d
Apparently Plaid has some sync problem with some finantial institutions, therefore the endpoint /transactions/sync
are not enough to retrieve recently transactions, and a manual refresh is needed /transactions/refresh
.
dvankley/firefly-plaid-connector-2#69
curl -X POST https://development.plaid.com/transactions/refresh \
-H 'Content-Type: application/json' \
-d '{ "client_id": "abc", "secret": "xyz", "access_token": "access-development-abc123" }'