accounting

command module
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

README

Luzifer / accounting

What's this?

accounting is a server based software to keep track of my budget on all the different accounts I do have. It ensures my money is where I need it and is available when I need it.

It is stronly inspired by YNAB and uses some of the same principles but in some parts deviates from them.

Why write an own software?

There is plenty of accounting software out there (including YNAB) which doesn't really fit my use-case. Also after being a happy customer of YNAB for nearly 9 years I've seen many changes implemented into YNAB which didn't really fit my use-case anymore and some of them even broke the ways I was using the software.

This piece of software if my way to ensure I can continue to work the way I want while ditching all the features I don't need. So this is not a clone and probably not a replacement for YNAB to you but for me it is.

Should I use it?

Well, depends on whether it fits your needs. This software carries a strong API-first approach so my automation can do stuff for me. The interface is in a "first usable version" state and I wouldn't call it ready. Feature-wise this is not ready yet:

  • Manage accounts and categories
  • Manage a (monthly) budget based on the categories
  • Differentiate between budget and tracking accounts
  • Have an API to automatically enter transactions, transfer money between accounts & categories
  • Can properly calculate based on your transactions how many money you have in which category
  • Have reports telling you about your net-worth, where the money went, …
  • Have a fancy UI with keyboard-shortcuts and all the cool stuff

So back to your question: Get yourself a copy, start it (the default database is an in-memory SQLite database) and take it for a test-drive. You like it? Put a proper database under it, install it on a server and happy budgeting… You don't like it? No offence taken, just put it into the trash and use something else.

Will you accept contributions?

In short: Maybe. Longer version: This software started as a system to do my budget and furthermost needs to fit my needs. I don't want feature-creep in it, I don't want features I'll never use. If you plan to hack on it: Just create a fork, hack on it, build something cool for yourself. If you think I'd like the changes you made: Lets talk about it but keep in mind this explanation and don't be angry with me when the response is "Nah, I don't think this will fit my version…"!

How to run it?

For local testing just clone the repo, ensure you got a fairly new nodejs (including NPM) and go toolchain installed and

# make run

then go to http://localhost:5000/ and try it.

To really host it, make build it, put it on your server and let it run. (It's a binary so probably use systemd to run it and an nginx as proxy in front of it doing auth-stuff…)

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
api
Package api defines an HTTP API for the database interface
Package api defines an HTTP API for the database interface
database
Package database has a database client to access the transactions and account database together with helpers to interact with those tables
Package database has a database client to access the transactions and account database together with helpers to interact with those tables
frontend
Package frontend contains compiled frontend assets and a registration for the HTTP listeners
Package frontend contains compiled frontend assets and a registration for the HTTP listeners

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL