Skip to content

voidranjer/openbanker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenBanker – Finance Data Importer

A local-first browser extension that captures transactions from online banking sessions and exports them to CSV or ActualBudget.

Preview

Self-host your financial data! Nobody else needs access to your banking information.

🔗 Supported banks

🚨 IMPORTANT: The goal is to enable anyone to write their own modules for any bank with basic Javascript and minimal effort.

See this page on making your own bank module.

These are some banks that are officially supported by the maintainers.

  • Royal Bank of Canada (RBC): Chequing
  • Scotiabank: Chequing, Credit Card
  • Wealthsimple: Chequing
  • Rogers Bank: Credit Card
  • NGPF Bank Simulator: Demo website that works out the box. Navigate to Accounts >> Account Activity first, then click on the OpenBanker extension icon to show the popup.

⭐ Key Features

Export to CSV

OpenBanker can export to CSV files. Columns are formatted specifically to be a one-click upload to ActualBudget, no field-mapping required.

Export to ActualBudget

This fork of ActualBudget is customized to communicate directly with OpenBanker.

Using this fork, you can import transactions directly into ActualBudget without downloading and uploading CSV files, which is convenient for high-frequency import workflows.

Import using URL params

You can check out the deployed version of this fork, running in "Local Browser Mode" here: 🔗 demo.openbanker.org.

If you prefer to self-host the OpenBanker fork of ActualBudget, you can clone the fork and build it just like you would with ActualBudget. Then, follow these special build steps to configure the OpenBanker browser extension to use the URL where your custom ActualBudget fork is running.

Export to ActualBudget

📦 Installation

While we work on getting OpenBanker published to the Firefox and Chrome Web Store, you must build this project to install it, for now.

Only Chrome (and Chrome-based browsers like Edge, Brave, Opera, Vivaldi) is supported. We are working on a Firefox port.

  1. Install the build dependencies: Node.js, bun.

  2. From the root directory, run bun install (npm i is likely to work too, but is untested).

  3. Run npm run build from the root directory.

  4. Load the generated folder at "packages/chrome/dist" as an unpacked extension, following these instructions.

  5. Write your own bank module, rebuild the project, and reload the extension in the browser.

🗺️ Roadmap

See ROADMAP.md.

⌨️ Developer

Bundler configuration

[Notes on Vite/Rollup config here]

Running in the Vite development server

background.ts contains code for a service worker that runs in the background. If your work does not involve this service worker, you can run the frontend only (with HMR) by launching the Vite dev server using npm run dev.

Some functionality requiring the chrome API that only exists within the context of a Chrome extension environment will not work. chrome.storage is an example of this.

Search for feature guards like getChromeContext() !== 'extension' across the codebase.

👏 Acknowledgements

About

An offline financial data importer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •