Code Monkey home page Code Monkey logo

obis's Introduction

OBIS: Online Banking Is Shit

A JavaScript framework for downloading bank statements

OBIS can download statements from HSBC UK Personal Banking in a variety of formats. HSBC has historically been very limiting with its download options, and since 2021 only allows PDF downloads of your statements.

That's shit. OBIS can generate a Zip of your statements in OFX, QIF, CSV, and JSON:

Screenshot of HSBC UK parser

OBIS currently supports only HSBC UK, but other parsers are possible.

How to use it

...as a Web Extension

The easiest way to use OBIS is to install it as an Extension into Google Chrome. You can either build it yourself or download it from the Chrome Web Store (coming soon, pending approval!)

To build it yourself:

  • Download the project from Github
  • Navigate to: chrome://extensions/
  • Enable Developer mode [ o ]
  • Click the [ Load unpacked ] button
  • Choose the downloaded dist/extension/ folder

You'll see the OBIS interface after logging-in to your HSBC account.

...as a bookmarklet

I use this mode when developing OBIS, but it also used to be the only way to run it:

  • Open dist/bookmarklet.js
  • Copy everything
  • Paste into a new bookmark
  • Log into your HSBC UK account
  • Click the bookmark

Due to recent security improvements to browsers it's unlikely you'll be able to do this directly from the Github master.

You'll need to build the project locally:

git clone https://github.com/shuckster/OBIS.git
cd OBIS
pnpm i
pnpm run debug:live

At this point a server should be running and a bookmarklet that points to it will have been built in dist/. Create a bookmark based on this bookmarklet and click it after logging into your HSBC UK account.

As the procedure hosts OBIS via localhost it should bypass the CORB security checks.

Is it safe?

If you're concerned about security on the Internet (and you should be) feel free to browse the code of the project right here on Github. For maximum peace of mind you can fork the project to inspect and build it yourself.

If approved by Google, you can use OBIS via the official Chrome Extension. Hopefully this will instill a little more trust as they curate the content of their Web Store.

About

OBIS was written by Conan Theobald.

Contributing

To support my efforts with this project please consider buying me a coffee. :)

Credits

Many thanks to these contributors:

  • @lesterw1
  • @masterell
  • @prisonblues

๐Ÿ™

Inspired by:

License

MIT licensed: See LICENSE

obis's People

Contributors

awsles avatar dependabot[bot] avatar shuckster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

obis's Issues

Doesn't download second page of statements

In the Statements index when you hit the checkbox to retrieve specific month's statements it will only download the first page of transactions of that particular month.

New pages are generated after 201 transactions

OBIS and HSBC move to PDF-only Statements

Until the end of 2020, there was a nice screen which OBIS would parse but that screen has been replaced and now the only way to view previous statements is to download the PDF. I noticed you've done a lot of re-writing of OBIS. Is there a better place to view statements so that OBIS can parse them? Prhaps amend the README.md to provide more detail as to where exactly to go (maybe I'm missing it).

"Midata" is now available for download (see: https://www.hsbc.co.uk/current-accounts/midata-faqs/) but for some reason, they censor half of the payment type details, so you get a CSV full of asterisks... And so Online Banking continues to be S***.

As always, appreciate your creating OBIS! ๐Ÿ˜Š

Extension hangs fetching transactions

The extension progresses nicely, fills the 'Getting transactions... (takes a moment to finish)' bar, but then doesn't seem to complete. Any easy fixes I might be missing?

Thanks.

Obfuscated code

Appreciate the rewrite for this @shuckster. Just worried that with the new code being obfuscated, it's very difficult to see what's going on. Since this scrapes bank details, it would be good to be able to see what the code does.

Also, it's not immediately clear what page one should run the bookmarklet on.

OFX Generation in Chrome Extension bug

Hi @shuckster - been testing the Chrome extension as promised. HSBC includes a comma in the transaction amount if it is >=ยฃ1000. I've found that in the OFX file generated (I can't vouch for the other formats), this comma isn't stripped out, so you end up with an OFX tag of 1,650.00 which then gets interpreted by most OFX importers as ยฃ1.65.

WOW (can close)

Sorry this not issue per say, its for feedback to authior of this OBIS app- simply HAD to say - AMAZING BRO! How cool is this - it's amazing - hoping we have CSV - just in the middle of using it - can't you do something for barclays too pls! NICE!!

Easy star - 5 if I could - yeahh!

Thanks a mil. I love it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.