Giter VIP home page Giter VIP logo

homebank-apostle's Introduction


✨️Homebank Apostle

A tool to help you convert csv exports into a Homebank compatible format

GitHub package.json version

Key FeaturesInstallationUsageContributingLicense

Key Features

This tool was created to convert online banking transaction files to Homebank format. There are two modes of operation. A parse only or a parse to file mode. Both modes will halt if there is an error in parsing a paticular line during convertion.

Installation

Clone the repo and cd directory into the cloned folder

foo@bar:~$ git clone https://github.com/TimeBandit/homebank-apostle.git
foo@bar:~$ cd homebank-apostle/

Install the dependencies, build the source code and run the tests

foo@bar:~$ npm i
foo@bar:~$ npm run create

Add a global command called 'hba'

foo@bar:~$ npm run local

Usage

Open a terminal window at the location of your csv files. Run hba and follow the on screen prompts. If successful the converted file will be saved to /parsed folder.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

To add support for other bank exports you must first create a strategy for it. This tell the tool how to map payment types from your bank to something Homebanks can understand.

Below are the payment types that Homebank currently supports. They correspond to the selectables of the Payment dropdown list you see when you edit a transaction in Homebank. The ordering is important

enum HomebankPaymentType {
  None = 1,
  CreditCard = 2,
  Cheque = 3,
  Cash = 4,
  BankTransfer = 5,
  DebitCard = 6,
  StandingOrder = 7,
  ElectronicPayment = 8,
  Deposit = 9,
  FiFee = 10,
  DirectDebit = 11,
}

Create a stategy for your bank that implement the BaseStrategy interface. This maps the payment types for your bank to Homebank transaction types.

Suported Banks

Bank Homepage
Smile https://www.smile.co.uk/

License

GPL v3

homebank-apostle's People

Contributors

gitter-badger avatar timebandit avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

homebank-apostle's Issues

HA12: integrate logger

i need to integrate a logger so that

  • when I can parse a transaction it is logged as as info to the terminal
  • when i transaction can't be parsed it is saved to a debug log
  • when a transaction can't be parsed it is logged as error to the terminal
  • when all transaction are parsed a success message is logged

Issue with DD in smile being translates to FI

It seems like DD's are being incorrectly translated to FI's.

  • confirm that DD for those line are actually setup as DD's
  • decide what the correct conversion value should be
  • update the tests

HA14: fix dev scripts

i need to fix the dev scripts in package.json so that:

  • In dev mode I can run the code in watch mode that runs the tests
  • In build mode I can compile the TS to JS, skipping the test file
  • In start mode I can cleanout the build folder, rebuild the TS (ignoring tests), run the newly outputted js

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.