Skip to content

Commit

Permalink
Add a navigation section to the README
Browse files Browse the repository at this point in the history
  • Loading branch information
samjmck committed Sep 12, 2023
1 parent cbec3c6 commit 94a4913
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 29 deletions.
51 changes: 22 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,27 @@ https://user-images.githubusercontent.com/25828757/161982707-3b84b8e1-cae3-4ec0-

tobcalc is a project that calculates the Belgian transaction tax on securities for various brokers and fills in the PDF form associated with these taxes.

## Navigation

### FAQ

1. [Why does this project exist?](#why-does-this-project-exist)
2. [Which brokers are currently supported?](#which-brokers-are-currently-supported)
3. [How does it work?](#how-does-it-work)
4. [Is it secure?](#is-it-secure)

### Using tobcalc with different brokers

- [Interactive Brokers](docs/brokers/interactive-brokers-guide.md)
- [DEGIRO](docs/brokers/degiro-guide.md)
- [Boursorama](docs/brokers/boursorama-guide.md)

#### Development

- [Project design](docs/design.md)
- [Local development](docs/local-development.md)
- [How to add support for a broker](docs/add-broker.md)

## Why does this project exist?

Belgian brokers pay the transaction tax, also known as the TOB, automatically for you. However, if you use a foreign broker, such as Interactive Brokers or tastyworks, you will have to calculate, pay and file this tax manually for every transaction you made in the period of 2 months. This process can be time-consuming and frustrating, which is why many Belgian investors decide not to use foreign brokers despite them possibly fitting their needs better than domestic brokers.
Expand Down Expand Up @@ -33,33 +54,5 @@ The transactions file gets processed locally. For transactions in a foreign curr

## Known issues and bugs

- CORS proxy cookies giving warnings in some browsers
- PDF viewer in Firefox glitches out sometimes
- PDF viewer in Safari does not refresh

## To do (order of high to low priority)

- [ ] Look at OpenFIGI for more reliable ISIN numbers
- [x] Create development branch with subdomain for development deployments
- [ ] Only deploy code to site if all Deno tests succeed
- [ ] Add tests for scripts such as `fetch_registered_funds.ts`, better errors
- [ ] Test proxies periodically
- [ ] Fix site caching
- [ ] Explain in docs how floating point errors and rounding errors are handled
- [x] Check if fund is registered in Belgium
- [x] Use Web Worker to run CPU intensive code such as PDF generation on a different thread to keep UI smooth
- [x] Write tests
- [x] Add error handling in important and critical parts of code
- [x] Fix PDF forms
- [x] Add checks for errors/throws in tests
- [x] Change layout of web page so services are new column next to input boxes
- [x] Finish `README.md`
- [x] Write documentation on how contributors can help with adding brokers
- [x] Add basic tests within browser to check if security data is correct for popular funds
- [ ] Reduce browser bundle size
- [ ] Use more advanced package bundler such as webpack instead of `deno bundle`
- [ ] Improve bundling and site generation workflow
- [ ] Figure out how to do automatic type exports
- [ ] Add tastyworks
- [x] Add Trading 212
- [ ] See if SvelteKit can be used for improved loading times and SEO
- PDF viewer in Safari does not refresh
2 changes: 2 additions & 0 deletions docs/local-development.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ For developing the website you will need:
For developing the core tobcalc library you will need:
- Deno

**Note:** this project makes use of `deno bundle` which is a built-in bundler to export the library as one file that can be imported in a browser. While this functionality still works as intended for this project, `deno bundle` has been deprecated as is planned to be removed from Deno in the future. As of now, Deno version `1.36.4` still supports `deno bundle`. If you are using a newer version and `deno bundle` is no longer available, consider downgrading to `1.36.4`.

## Directory structure

- `.github/workflows` contains the GitHub Actions workflows that run on push and pull. These actions also run daily to ensure the data source (Yahoo Finance, Investing.com or a different source) for fetching security names and types is still functioning.
Expand Down

0 comments on commit 94a4913

Please sign in to comment.