Family Accounting Tool
Family Accounting Tool
Familiy Accounting Tool keeps track of every transaction your family makes. Its goal is to:
Screenshot
Installation from release
conf/application.conf
in the unpacked folder:
facto
and configure it as follows:db.default {
driver = com.mysql.jdbc.Driver
url = "jdbc:mysql://localhost/facto?user=mysqluser&password=mysqlpassword"
slick.profile = "slick.jdbc.MySQLProfile$"
}
Choose secret values for play.http.secret.key
and app.setup.defaultPassword
Open a terminal in the unpacked folder
Run following commands to get the app running:
# Create database tables
bin/server -DdropAndCreateNewDb
# Create admin user
bin/server -DcreateAdminUser
# Run application
bin/server
Browse to http://localhost:9000/app/useradministration (username: "admin", password: "changeme")
Installation with Docker (discouraged)
Warning: The following works fine for launching a demo server to have a look. But if you want to run this as a service with real data and custom configuration, it is recommended to follow the "Installation from release" section instead (see this issue for the reasons why).
The following commands will launch a new server alongside a database in Docker containers:
# Get the docker-compose.yml file
wget https://raw.githubusercontent.com/nymanjens/facto/master/docker-compose.yml
Choose a unique random string here of sufficient length
export APPLICATION_SECRET="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)"
Create an empty database with a single admin user
docker-compose run web sleep 5 # Wait for the database to be ready
docker-compose run web bin/server -DdropAndCreateNewDb
docker-compose run web bin/server -DcreateAdminUser
Bring up the server
docker-compose up
When done, browse to http://localhost:9000/ (username: "admin", password: "changeme")
Configuration
conf/application.conf
:-DcreateAdminUser
flag (username: admin, password:
changeme). This account can create new users.conf/accounting-config.yml
:userLoginName
has to refer to a user that already exists in the database
(see previous point)Usage
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.
Categories
These are used to split up your expenses into categories. Every account has some special special categories:
Accounts
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 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'.
Inputting transactions
Special fields:
Using the Cash Flow overview effectively
The cash flow overview is a powerfull tool to check for unaccounted expenses.
You should:
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.