Install Akaunting
Invoice and track the numbers in a program with a Swedish interface, and what it cannot do when it comes to Swedish accounting rules.
Last reviewed:
What Akaunting is
An accounting program. You set up customers and suppliers, send invoices, record what you pay, and then see in a report what has come in and what has gone out. The interface is available in Swedish.
For a company, the interesting part is not the bookkeeping itself but that the numbers add up. An invoice you send automatically becomes an entry that is unpaid until you mark it as paid. At year-end closing you get the result without anyone sitting through a weekend adding up receipts in a spreadsheet.
One thing should be said straight out: Akaunting is not built for Swedish accounting legislation. The chart of accounts is general, and the program knows nothing about the BAS chart of accounts or the requirements of the Swedish Tax Agency (Skatteverket). Always check with the person who handles your bookkeeping what your particular business should report and how. Akaunting keeps track of your numbers, but the accounting rules determine what that order should look like.
This is a server program
Akaunting needs a web server and a database. Docker gives you both in one file. If you do not have Docker, start with Install Docker.
Akaunting also runs a cloud service with paid tiers, and some features in the program are sold as plugins in their own store. The basic version you install here is enough for invoicing and ongoing bookkeeping. What costs money is listed at akaunting.com.
Windows and Linux Mint
The same file on both. Create a folder called akaunting in the home folder, that is in C:\Users\ert-namn on Windows and in /home/ert-namn on Linux Mint. Put a text file in the folder called compose.yaml:
services:
db:
image: mariadb:11
environment:
MARIADB_ROOT_PASSWORD: BYT_UT_MIG_1
MARIADB_DATABASE: akaunting
MARIADB_USER: akaunting
MARIADB_PASSWORD: BYT_UT_MIG_2
volumes:
- dbdata:/var/lib/mysql
restart: unless-stopped
akaunting:
image: akaunting/akaunting:latest
depends_on:
- db
ports:
- "8080:80"
environment:
AKAUNTING_SETUP: "true"
DB_HOST: db
DB_PORT: "3306"
DB_NAME: akaunting
DB_USERNAME: akaunting
DB_PASSWORD: BYT_UT_MIG_2
DB_PREFIX: akn_
APP_URL: http://localhost:8080
LOCALE: sv-SE
COMPANY_NAME: Ert foretag
COMPANY_EMAIL: foretagets-adress@example.com
ADMIN_EMAIL: foretagets-adress@example.com
ADMIN_PASSWORD: BYT_UT_MIG_ADMIN
volumes:
- akdata:/var/www/html
restart: unless-stopped
volumes:
dbdata:
akdata:
The two lines called BYT_UT_MIG_2 are the database passwords and must be exactly the same. BYT_UT_MIG_1 is a separate password that only the database uses internally, and BYT_UT_MIG_ADMIN is the one you log in with yourselves. Save all three where the company saves passwords.
Open the terminal and go into the folder. On Windows it is PowerShell:
cd $HOME\akaunting
On Linux Mint the program is called Terminal:
cd ~/akaunting
Then start:
docker compose up -d
If Docker answers that no compose.yaml was found, you are in the wrong folder. The first start otherwise takes a few minutes, because Akaunting installs itself before it opens. Then open http://localhost:8080 and log in with the address and password above. We just ran this file and logged in to the account that was created.
Now remove the line AKAUNTING_SETUP: "true" from compose.yaml and run docker compose up -d again. The project's own instructions are clear: the variable must never stay after the first start, because then Akaunting tries to reinstall itself every time the container starts.
The address only works on the computer where the container runs, because localhost always points to the machine you are sitting at. If the finance manager and someone else are to share the bookkeeping, sending the link is not enough. Then Akaunting needs to be on a machine that is on, reached at that machine's address, and APP_URL changed to the same address.
Three things to do first
- Set the currency to SEK and the correct financial year under Settings, before you send the first invoice. If you change the currency afterwards, old entries are not recalculated, and then nothing adds up.
- Fill in the company details properly: name, address and organization number. They appear on every invoice you send, and an invoice without sender details is an invoice the customer can question.
- Create a test invoice to yourselves and download it as a PDF. Then you see how it looks at the recipient's end, and you find the typo in the company name before a customer does.
The most common trap
Believing that the bookkeeping is done because the program is set up. Akaunting does what you enter, nothing more and nothing less. If you do not record the expenses, the result looks too good, and that only shows when you reconcile against the bank account.
So decide on a routine instead of an ambition: one person, once a week, fifteen minutes. All receipts in, all payments marked. It is more boring to write down than to do, and it is the only part of the bookkeeping that really determines whether the figures can be trusted.
The second thing to know concerns the volume akdata. It contains not only the program but also what you have uploaded, such as receipt images and the logo. The database sits separately, in dbdata. A backup that only takes one of them is no backup, so include both.