Stash

Stash is a fast and simple personal finance native GUI application.

Its core data-storage and serialisation files are written in C++, and there is an existing (but somewhat old) native Mac OS interface written in Objective-C++ / Cocoa, as well as a much more recent Qt interface/port which now exists (for Linux).

Supported platforms: MacOS (Cocoa Interface) and Linux (Qt Interface).

Features

  • Easy-to-use interface to view and edit transactions
  • Localised Dates and Currency formatting
  • Multiple Accounts
  • Split Transactions
  • OFX Import/Export (1.0 and 2.0 versions)
  • QIF Import/Export
  • Scheduled Transactions
  • Pie Chart Graphs
  • Area Chart Graphs over time
  • Overview Chart Graphs



Source code is available here: https://github.com/ppearson/stash.

Implementations

There are two full implementations of Stash now, in different subdirectories of the main checkout. Both implementations are native wrappers around the core C++ storage files:

  • mac/: the original OS X / MacOS interface wrapper, written in Objective C++ against native Cocoa bindings, which was written in 2009-2010.
  • qt/: a much newer (written in 2020-2021) Qt (4/5) interface wrapper, predominantly for native Linux support.

The Qt port is now feature-complete to the original MacOS version, and it's likely any future development I do will be against the Qt version. There's also a very incomplete and WIP CLI version of Stash which is only really for testing file format and core infrastructure experiments, as I don't really see the use in having a fully-featured command line interface to Stash (I much prefer using a GUI), however it could be worthwhile adding export functionality in the future to this version, however I have no need for that currently, and otherwise this CLI is very unlikely to be worked on by me.