This extension is not affiliated with Betterment in any way.
Betterment is a wonderful brokerage service, but doesn't provide ticker-level transaction data for easy export. But, this data is available via the PDFs on the Activity page.
This extension parses those PDFs and creates ticker-level transaction download links on the Activity Page entirely in the browser using PDF.js and Web Workers.
This extension can output in both CSV and QIF formats.
- CSV/QIF output formats
- Download transactions from all the PDFs on the page as one combined file.
- All done entirely client-side. No data leaves your computer.
- Install from the Chrome Web Store here.
- Install Chrome (used for PDF tests)
- Run
sudo apt install npm node-grunt-cli
- Run
npm install
To access development releases, you'll need npm installed. Start by cloning the project locally.
Source Code: github.com/fcfort/betterment-csv-chrome
- Run
grunt build
- Open
chrome://extensions/
or select the menuWindow > Extensions
. - Enable the developer mode at top right.
- Click
Load unpacked extension...
and select thedist/app/
folder.
grunt test --testPdfDir=../relative/path/to/test/pdfs/and/csvs
grunt package --testPdfDir=../relative/path/to/test/pdfs/and/csvs
grunt upload --secretsFile=../relative/path/to/secrets.json --testPdfDir=../relative/path/to/test/pdfs/and/csvs
Accept the OAuth2 prompt that opens in your browser.
- Make code changes
- Bump version number in
package.json
- Run
grunt upload
, which will build, test, upload, and publish the new version to the Chrome Web Store. - Create a new release on GitHub and upload the zip file as a build artifact.
- PDF.js - Client-side PDF parsing.
- patch-worker.js - A workaround to allow the use of Web Workers in Chrome content scripts.
- Mutation Summary - Observe changes to the DOM.
- jQuery
- Mocha - A Javascript test framework.
I wrote a command-line version that parses PDF files and outputs CSV. See github.com/fcfort/betterment-pdf-to-csv. This project is similar but done entirely client-side as a Chrome extension.