Track your finances easily: categorize transaction data quickly via "smart" inverted index, then define your own charts and reports.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
forest 9d7e396c68 try to fix import per ally credit union jank csv pirms 2 mēnešiem
client try to fix import per ally credit union jank csv pirms 2 mēnešiem
electron-packager-stuff updating icon and electron-packager stuff pirms 4 gadiem
importScripts blah pirms 2 gadiem
screenshots add screenshots to readme pirms 4 gadiem
.gitignore import bug fix and add invert amounts pirms 4 gadiem
LICENSE add electron packager to do first release 0.1.0 pirms 4 gadiem
README.md fix hilarious bug that deletes a random table which coincides with the pirms 3 gadiem
main.js add txn search pirms 2 mēnešiem
notes.txt notes pirms 4 gadiem
package-lock.json fix hilarious bug that deletes a random table which coincides with the pirms 3 gadiem
package.json cleanup and temporarily force js pirms 2 gadiem
preload.js setup .lbk file format, recently opened, separate DB from file pirms 4 gadiem
settings.js add txn search pirms 2 mēnešiem
strings.js fixing bugs pirms 4 gadiem

README.md

LibreBookKeeper

You Own Your Data

Most personal finance applications are free cloud-based services. That means you pay for the service with your data. The company operating the service makes money by leveraging and/or selling your personal financial data. LibreBookKeeper is an alternative that allows the user to retain exclusive ownership of thier financial data.

Track Your Personal Finances EASILY

LibreBookKeeper was designed for ease of use. In fact, the application was born out of my frustration with how clumsy most personal finance apps felt. (Looking at you, GNUCash 😛) Migrating from one app to another, tracking spending, categorizing transactions, generating reports etc, should be easy, and the app should not get in your way.

  • Flexible, Step-by-Step Import Wizard for CSV and QIF files

    • Do you use a spreadsheet to track your finances? LibreBookKeeper can import that spreadsheet!
    • Almost all financial institutions will allow you to export your account data in a format LBK supports.
  • Human/Machine teamwork makes data entry a breeze

    • Fancy inverted index search technology predicts which category a transaction probably falls under
    • User is prompted to confirm or re-categorize and confirm
    • Require as few inputs as possible from the user, hotkey-based operation option
    • The inverted index "learns" from each transaction and gets better over time
  • Unopinionated Design

    • Flexibility to represent your data in Reports however you want.
      • Budgets
      • Account Balances
      • % Savings Rate
      • Spending by Category
      • etc..
    • Define mathematical expressions to aggregate your data using a simple drag-and-drop interface.
    • Line Chart, Pie Chart, and Single Stat reports.

Screenshots

Troubleshooting / Information For Developers

LibreBookKeeper is a local web app that is currently packaged as an Electron app.

LibreBookKeeper stores data in two difference places / two different ways:

  1. In leveldb. It opens a single leveldb instance in different places depending on the operating system: * Linux: $HOME/.local/share/LibreBookKeeper/ * Windows: %APPDATA%\LibreBookKeeper\ * Mac OS: $HOME/Library/Application Support/LibreBookKeeper/

  2. In .lbk files. It will prompt the user where they want to store thier .lbk file. * .lbk files are actually just gzipped JSON files. If you want to poke around inside one, just run cat MyBooks.lbk | gunzip > MyBooks.json.

LibreBookKeeper will automatically save the .lbk file every time anything in the database changes, but this is rate limited to once every 5 seconds. It will also attempt to save the .lbk file before quitting. If it fails to auto-save it should pop up a warning dialog. Also, the data will not be necessarily lost, because it will still be in leveldb.

LibreBookKeeper writes log messages to a file called LibreBookKeeper.log in the same folder where it stores leveldb. It prints log messages every time it loads a file, auto saves, etc. This log contains information about where in leveldb the information for a particular lbk file is stored.

There is a flag called isProduction inside settings.js. Setting this to false will enable the developer tools and re-direct logging to stdout.

Roadmap

Timeline view needs to be implemented

  • Search
  • Filter

Global error & unhandled rejected promise handler needs to be added

allow user to manually enter/create a txn

Hotkeys for selecting categories.

File association (.lbk) should be set up on first run of the app

Multiple currencies (currently hardcoded to dollars)

Support investment accounts and investment transactions

According to Mr User Extraordinaire the import script option is enough to make peoples heads fly off thier shoulders and land in a ditch when they see it

Distributed web app?