Easily link, download, merge, and sync transactions from your financial accounts to your ledger CLI file.
If you maintain a ledger cli file and wish that you had an easy way to setup automatic synchronization with your financial accounts, this is for you.
Clone this repository, install Python dependencies in virtual environment, and build it into an executable.
git clone https://github.com/aayc/fledge
cd fledge
python3 -m venv env
source env/bin/activate
pip3 install -r requirements.txt
sh build.sh
Now the fledge
executable is located in the dist/
folder.
Sign up or log in to Plaid (an API to connect with financial institutions). Find your development credentials.
Create a file (e.g. credentials.json
) that looks like this:
{
"client_id" : "your Plaid client id",
"public_key" : "your Plaid public key",
"secret" : "your Plaid development secret"
}
All of this information should be available in the Plaid dashboard for development credentials.
Fledge comes with an easy to use web UI to link your financial institutions to your Plaid account and download institution credential files. It looks like this:
To link an institution and get credentials for that institution, run:
fledge link <your_credentials_file> --out <institution_credentials_file>
Make sure to put the generated institution credentials file in a safe place; you'll need it when you download transactions.
To download transactions from financial institutions, run:
fledge download <your_credentials_file> ... ...
Then to interactively merge your downloaded transactions file with your ledger, run:
fledge merge <credentials_file> <ledger_file> <transactions_file>
Note: Your original ledger file will not be modified. An entirely new ledger file will be created.
If you are comfortable streamlining the process, run:
fledge sync <credentials_file> <ledger_file> <institution_file>
This is functionally the same as downloading and merging, but without any intermediate files.