No description
Find a file
Knut Ahlers 00ecb36ab8
Add "clear today" functionality
to move a transaction to today and mark it cleared in one step

Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-02-09 13:15:14 +01:00
.github/workflows CI: Add test / build / publish 2024-01-28 00:51:01 +01:00
ci CI: Add test / build / publish 2024-01-28 00:51:01 +01:00
frontend Add "clear today" functionality 2024-02-09 13:15:14 +01:00
pkg Fix: Paired transactions must be updated with negative sum 2024-02-07 15:01:48 +01:00
.dockerignore Replace fontawesome-pro with fontawesome-free for public use 2024-01-18 18:53:42 +01:00
.eslintrc.js Add basic frontend & account sidebar 2024-01-16 16:13:04 +01:00
.gitignore Add basic frontend & account sidebar 2024-01-16 16:13:04 +01:00
.golangci.yml CI: Add test / build / publish 2024-01-28 00:51:01 +01:00
Dockerfile CI: Add test / build / publish 2024-01-28 00:51:01 +01:00
go.mod Allow to bulk-move transactions to today 2024-01-20 23:08:28 +01:00
go.sum Allow to bulk-move transactions to today 2024-01-20 23:08:28 +01:00
History.md prepare release v0.5.0 2024-02-06 15:02:23 +01:00
LICENSE Add Meta files 2024-01-18 18:08:27 +01:00
main.go Add basic frontend & account sidebar 2024-01-16 16:13:04 +01:00
Makefile CI: Add test / build / publish 2024-01-28 00:51:01 +01:00
package-lock.json Add some keyboard shortcuts 2024-01-21 00:08:01 +01:00
package.json Add some keyboard shortcuts 2024-01-21 00:08:01 +01:00
README.md Replace fontawesome-pro with fontawesome-free for public use 2024-01-18 18:53:42 +01:00

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…)