• Dart 99%
  • CMake 0.3%
  • C++ 0.2%
  • Just 0.1%
  • Ruby 0.1%
  • Other 0.1%
Find a file
2026-02-22 19:11:33 -05:00
.idea Upgrade Kotiln to fix version warnings 2023-09-19 21:09:09 -04:00
.kiro/steering Add steering specs for kiro 2026-01-31 14:32:11 -05:00
.vscode Add more config and testing in debug mode 2026-02-03 19:16:43 -05:00
android Replace background_fetch with workmanager 2026-01-20 10:54:21 -05:00
assets Add currencies via a json package 2025-09-11 20:18:32 -04:00
icons Update icons 2023-05-01 19:44:46 -04:00
ios v6.4.0 release 2026-02-08 20:17:31 -05:00
lib Fix currency screen layout on mobile 2026-02-22 19:11:33 -05:00
linux v6.4.0 release 2026-02-08 20:17:31 -05:00
macos v6.4.0 release 2026-02-08 20:17:31 -05:00
metadata/en-US v6.4.0 release 2026-02-08 20:17:31 -05:00
schemas/ReckonerDb v6.0.0 - bump db version to add a migration 2025-12-23 23:31:25 -05:00
test Fix currency formatter test 2026-01-31 14:31:55 -05:00
web sqlite3 2.9.4 2025-12-24 19:57:42 -05:00
.gitattributes Fix android notification setup and icon 2025-12-31 16:26:06 -05:00
.gitignore Add steering specs for kiro 2026-01-31 14:32:11 -05:00
.gitmodules Add ToDos and remove submodule 2025-05-10 13:56:30 -04:00
.metadata Fix android build 2024-11-13 21:02:34 -05:00
analysis_options.yaml Fix a few other style changes 2025-02-13 20:50:40 -05:00
app.iml Add ios and mac os support 2024-06-28 19:15:39 -04:00
build.yaml Remove managers as code is unused 2026-01-18 17:31:37 -05:00
devtools_options.yaml Update dependencies 2025-09-13 19:30:55 -04:00
flutter_launcher_icons.yaml Add ios and mac os support 2024-06-28 19:15:39 -04:00
install.sh Remove snap setup in install script 2024-06-08 05:21:22 -04:00
justfile v6.4.0 release 2026-02-08 20:17:31 -05:00
LICENSE Update dependencies and license to AGPL 2022-07-18 21:34:46 -05:00
pubspec.lock Fix error logged from pop-inc context during build 2026-02-11 19:24:43 -05:00
pubspec.yaml v6.4.0 release 2026-02-08 20:17:31 -05:00
README.md Display notifications in a dialog instead of options 2026-01-31 14:31:54 -05:00
reckoner.iml Files from basic flutter app. Includes only android and linux at the moment. 2021-07-21 18:03:56 -05:00

Reckoner

Privacy first financial tracking, with radical customizability!


Audience

This tool is designed for both average end users and powers users interested tracking their finances and keeping that information private. Most other tracking tools include the ability for the company to aggregate and use your personal data for marketing and advertisements to you. This app is for those who don't want to give these companies access to some of your most private data and want a polished and customized view of their finances.

This tool is not designed to convert people who are happy with their financial tracking solution. If you are happy with YNAB, Personal Capital, Tiller, etc. then keep on keeping on. I designed this tool when I couldn't find an open source financial tracking tool that met my need for private financial tracking and customizability for all the operating systems I use.

Demo

If you want to try this out before installing I have a demo site at demo.reckoner.finance. You can do anything in the demo except device syncing. The demo site uses an in-memory database which re-adds all data on refresh. If you setup device syncing, then every time you would start getting duplicate data every time the browser refreshed.

Features

  • Data is stored locally in a SQLite database
  • Multi-paradigm tracking support
  • Ability to add multiple user defined category groups
  • Create custom report layouts to view relevant data at a glance
  • Native support for Linux, Android, and Web
  • Multi-currency support (including custom user currencies)
  • Splitting of transactions to add tags and categories based on the split
  • Device synchronization through Pocketbase
  • Aggregator support through SimpleFin

Planned Features

These are planned features to be added to Reckoner. The order is a roughly prioritized list.

  • Add welcome screen to walk user through setting up the application
  • Make build reproducible for FDroid main repo
  • Tokenize strings and support localization
  • Rules engine for automation
  • Recurring transaction handling
  • Add dedicated cloud sync and aggregator support so users don't need to setup own services
  • Marketplace for custom designed financial tracking 'dogmas' (use of categories, tags, and reports to support a financial tracking methodology)

Installing

Reckoner is available on the following platforms.

Get it on IzzyOnDroid Launch as Web App Get it on Codeberg Download on the App Store

Google Play

You can download it now on Google Play if you become a tester. In order to release an app on Google Play, you need 12 testers to install your app in closed testing for 14 days continuously. Keep in mind that the Google Play version uses a signing key that Google controls so you must choose wheter to install from Google Play or from the Codeberg releases.

Desktop

Desktop support was removed from Reckoner. I'm just a solo dev and the desktop builds took a lot of time to maintian. With recent improvements in web with Flutter worker handling and sqlite improvements, desktop devices will be supported using the PWA.

Building

This relies on the latest release of the flutter framework. Consult the relevant installation guide for your operating system and the platforms you are trying to build. Most of the builds can be invoked by calling the relevant make command. The commands below assume a bash like shell with cmake installed.

For each build, jut invoke the relevant build command. For Linux you need to make sure the build dependencies are installed. I have a script I used for ubuntu based distributions in the base path install.sh.

There's a justfile which I use to make it easy for myself to build Reckoner for the supported platforms. You can use just all_linux to build for web/android/linux on a Linux machine and just all on a Mac to build for all supported platforms.

Credit

Before building this tool I used Firefly III for my personal finance tracking. It is a great tool and some of the user interface design for this app borrows heavily from that project. However, as James Cole states in his documentation "It's opinionated, which means it follows the mantras that I, the developer like.". That is his prerogative, but I found myself bumping into these limitations imposed by the design and wanted to build not just a tool for myself, but one which could be molded for any mantra. Thus this tool.