MaxVRAM / UpBankFFImporter

A program designed to merge banking data from UP Bank Australia into Firefly III

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UP Bank to FireFly III Data Importer

This is still a work in progress

This program is designed to import transaction from Up bank into Firefly III. It is able to import transactions from Up Bank into Firefly III either as a once off or continuously. It is also able to detect if a transaction has been updated such as a new tag is added or category change in the Up Bank portal which will then update the transaction in Firefly to reflect this change.


Build from Source

Building is simple, just ensure you have rust and cargo installed on your system:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Then clone the repository and build:

cargo build

or

cargo build --release

Setup

Step 1: Config File

  1. Duplicate settings-template.yaml as settings.yaml in the same directory.

  2. Modify the settings.yaml file with your details:

    • Add your Up personal access token. Generate a token here: https://api.up.com.au
    • Add your Firefly personal access token. Go to Options -> Profile -> OAuth -> Create new token.
    • Add the URL to your Firefly instance (eg 192.168.0.2:8083)
    • (optional) Import period in hours (for "periodic import" mode)

Step 2: Firefly III Setup

Note: You'll need a list of the Up IDs for each account. You can get these by:

  • Running up_bank_fidi get-account-information, or
  • Using the Up API directly, for example, using Postman with your personal access token.

Then set up and link Firefly accounts for your Up accounts:

  1. Create a Firefly account for each of your Up accounts ("Spending" account, plus each "Saver").
  2. Set the Firefly account number field to the associated Up account's unique ID.
  3. Add the Up ID into the accounts section in the settings.yaml, this tells the importer to only import this data.

CLI Usage

Ensure you have setup your settings.yaml file before continuing. Run the CLI tool using up_bank_fidi (or up_bank_fidi.exe on Windows).

  • Command help:
    up_bank_fidi -h
  • Getting Up bank account details:
    up_bank_fidi get-account-information
  • Manually run an import (useful for testing):
    up_bank_fidi import
  • Running the migrator tool:
    up_bank_fidi

Docker

  • This program is best used from a docker container.
  • Provided is both a Dockerfile and a template compose.yml file.
  • Docker compose is setup to be built from a repo clone.
  • You may also point your host volumes elsewhere if required.

Example compose.yml file:

services:
  up_fidi:
    build: .
    container_name: up_fidi
    restart: unless-stopped
    environment:
      - RUST_LOG=info
      - ACTION=periodic-import
    volumes:
      - ./config/settings.yaml:/config/settings.yaml
      - ./logs:/logs
      - /etc/localtime:/etc/localtime:ro

About

A program designed to merge banking data from UP Bank Australia into Firefly III

License:GNU General Public License v3.0


Languages

Language:Rust 99.6%Language:Dockerfile 0.4%