Familiy Accounting Tool keeps track of every transaction your family makes. Its goal is to:
- Extract usefull statistics from the data
E.g.: How much is spent on food each month? - Calculate internal debt
E.g.: Alice buys toilet paper for the whole family with her own money. This tool then registers that the family ows Alice the cost of the toilet paper. - Provide a way to check if no money is disappearing in unexpected expenses
E.g.: You will notice when there are hidden banking costs
-
Clone this repository or download the files
-
Run following commands to get the app running:
# refresh application secret ./activator playUpdateSecret # Build application ./activator dist # Deploy files cd /somewhere/you/want/the/files unzip .../target/universal/facto-1.0-SNAPSHOT.zip mv facto-1.0-SNAPSHOT/* . rm -d facto-1.0-SNAPSHOT/ # Create database tables bin/facto -DdropAndCreateNewDb rm RUNNING_PID # Create admin user bin/facto -DcreateAdminUser rm RUNNING_PID # Run application bin/facto
conf/application.conf
:
Setup and configure a database here.conf/accounting-config.yml
:
Edit this file to reflect your situation and preferences.- Add users:
A default user is created with the-DcreateAdminUser
flag (username: admin, password: changeme). This account can create new users.
To effectively use this tool, you must learn to input the transactions correctly. Therefore, it's important to understand the meaning of categories and accounts.
These are used to split up your expenses into categories. Every account has some special special categories:
- Accounting category:
Used for non-real income/expenses. This category will be ignored when analysing the montly surplus/deficit in terms of expenses. Use this category e.g. when the expense will be payed back by your employer - Endowment category:
Used for money transfer to the common account (see example in the next section)
An account can refer to a regular person or the common account.
Example:
A family has two members: Alice and Bob. There will be three accounts:
- Alice
- Bob
- The common account
Alice and Bob will regularly transfer money to the common account which can be used to make common expenses. This transfer to the common account is called an 'endowment'.
Special fields:
- Beneficiary:
In case of an expense: The one that will benefit from the expense
In case of an income: The one that was paid - Payed with/to:
In case of an expense: Payed with
In case of an income: Payed to - Flow:
In case of an expense: Negative number representing the price
In case of an income: Positive number
The cash flow overview is a powerfull tool to check for unaccounted expenses.
You should:
- Set the current amount of money you have for every payment method (cash, card, ...). You can do this by using the "set" button.
- Whenever you perform a transaction, the balance will be updated automatically.
- You can re-count your cash and see if it matches the calculated value. If it does, you can use the checkbox button to mark this. If it doesn't, you have made an error or lost money.
Some of Facto's caches need to be regularly cleaned up, to avoid memory leaks. You can do this by setting up following crontab:
0 2 * * * curl http://localhost/externalapi/docachemanagement/<application_secret>/