Skip to content

TimeBandit/homebank-apostle

Repository files navigation


✨️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