Import your PayPal transactions into Firefly III
"Firefly III" is a (self-hosted) manager for your personal finances. It can help you keep track of your expenses and income, so you can spend less and save more. More info at the website.
This importer retrieves all your transactions via the PayPal API and loads them into your Firefly instance.
To start importing data you'll need a couple of things:
ClientID
and ClientSecret
. These can be generated at the PayPal Developer Dashboard. Make sure to generate a client for live transactions. Under LIVE APP SETTINGS
the only required App feature options
is Transaction Search
.Accounts > Asset Accounts
and click on your PayPal account (or make a PayPal account). In the account overview the ID of the account will be in the URL. Something like: http://firefly.box/accounts/show/xxx
. Where xxx
will be the account id.You can run the importer in a docker container. This is the easiest and fastest way to get up and running. Don't forget to enter the correct env
values.
docker run \
--volume=$PWD/data:/data \
--publish=8080:80 \
--env=FIREFLY_TOKEN= \
--env=FIREFLY_URI=firefly:8080 \
--env=FIREFLY_PAYPAL_ACCOUNT_ID=1 \
--env=PAYPAL_CLIENT_ID= \
--env=PAYPAL_CLIENT_SECRET= \
--env=CURRENCY=EUR \
--restart=always \
--detach=true \
--name=firefly-iii-paypal-importer \
robvankeilegom/firefly-iii-paypal-importer:latest
Set the CURRENCY
env variable to the default currency of your country. This should match the default currency in PayPal and Firefly.
Run the sync in the container (or you can wait until midnight).
docker exec firefly-iii-paypal-importer php artisan sync
cd
into the new projecttouch database/database.sqlite
: Creates an empty database file.cp .env.example .env
: Creates the environment file with default values..env
file.php artisan sync
.By default the application uses SQLite to store its local data. If you want to use MySQL
set the following env variables: