Track your securities in YNAB for account types and update your balance automatically.
Go to file
Steven Polley 7284545571
All checks were successful
continuous-integration/drone/push Build is passing
abstract providers behind a common interface
2023-11-12 21:40:00 -07:00
bitcoin abstract providers behind a common interface 2023-11-12 21:40:00 -07:00
data initial commit 2023-11-12 12:04:22 -07:00
questrade abstract providers behind a common interface 2023-11-12 21:40:00 -07:00
ynab abstract providers behind a common interface 2023-11-12 21:40:00 -07:00
.drone.yml initial commit 2023-11-12 12:04:22 -07:00
.gitignore abstract providers behind a common interface 2023-11-12 21:40:00 -07:00
accountProviders.go abstract providers behind a common interface 2023-11-12 21:40:00 -07:00
Dockerfile initial commit 2023-11-12 12:04:22 -07:00
example-image.png add example image 2023-11-12 13:20:53 -07:00
go.mod remove go workspace and fix modules 2023-11-12 12:16:34 -07:00
main.go abstract providers behind a common interface 2023-11-12 21:40:00 -07:00
README.md add bitcoin configuration to readme example 2023-11-12 16:53:35 -07:00

ynab-portfolio-monitor

Build Status

Track your securities in YNAB for account types and update your balance automatically. For each configured account, it will update the balance from your broker in YNAB every 6 hours by creating / editing a transaction named "Capital Gains or Losses". On days that exchanges are closed, it will not do anything. The end result is that there will be transaction each day with payee "Capital Gains or Losses" in YNAB for each account you configure, which allows tracking your account balance over time.

It syncs your balance like magic!

alt text

Example docker-compose.yml

The values below are examples only. You can configure as many account pairings as you want using environment variables in a continuous series starting from 0 as shown below. Two example accounts are configured ending in _0 and _1 but a third can be added by adding account numbers/ID with _2.

version: '3.8'

services:    

  ynab-portfolio-monitor:
    image: registry.deadbeef.codes/ynab-portfolio-monitor:latest
    restart: always
    environment:
      - questrade_refresh_token=4dsO6652dS3cxtcctscd3ds4Df2E0
      - questrade_account_0=51000001 # TFSA
      - questrade_account_1=51000002 # RRSP
      - questrade_ynab_account_0=731af51e-cb40-4d4a-8094-8654e59e11fc # TFSA
      - questrade_ynab_account_1=78e76e45-2fbe-4ab1-84e9-64ba0996d015 # RRSP
      - ynab_budget_id=76566452-67ff-4642-99d1-47d752216fb3
      - ynab_secret=98Q_J655F_TAyGnhCCDS4uqRe4R5654DT2d-ZXdssZ
      - bitcoin_address_0=bc1qg0edu4tr7pza8qsxf576r0eulr2ygt3mhldswg
      - bitcoin_address_1=bc1qeh0dkdqvjyt646657lge0nxqj67z5xa8zxl8q3
      - bitcoin_ynab_account=1f5bec0d-f852-2fbe-bbee-02fa98ded566 # Bitcoin addresses map to single YNAB account
    volumes:
      - /data/ynab-portfolio-monitor-data:/data