Kraft helps small companies keep track of invoices and other docs

Essential Craft

© Lead Image © Erwin Wodicka,

© Lead Image © Erwin Wodicka,

Article from Issue 221/2019

If you're running a small company, and you can't seem to keep up on invoices, orders, and other business documents, time to have a look at Kraft.

After a few years of silence, 2018 has seen several releases of Kraft [1], an application for the Linux desktop that was designed to help small businesses create quotes, invoices, and other business documents. Kraft is a free, GPL-licensed application that runs on Linux and is built with Qt – thus, it works best on KDE desktop systems. And, as stated on the project's welcome page: You don't need a cloud. Kraft lets you keep control of your data and the data of your customers.

Kraft is highly customizable. It supports two database options, and many of its settings are easily configured through a settings dialog or config file. By predefining hourly rates, units, and wages, and by building a logical structure of the item templates, you can greatly reduce the non-billable hours you spend tending to accounting details. Output appears as a high-quality PDF that you can print on company stationery (paper) or send directly to the customer.

The Kraft project was initiated by the ownCloud developer and former SUSE manager Klaas Freitag in 2007. Since then, Kraft has seen lots of releases and updates. The developers took a long pause starting in 2015, and active work resumed again in 2018. The name Kraft is a pun on "craft" and the German word kraft, which means "physical strength" – hence the logo (Figure 1).

Figure 1: Kraft shows its powerful logo, along with the wizard and the main window.

Freitag is still in charge of large parts of the work, but a growing community is there to help him, and some of the Kraft users have become his customers. See the box entitled "Interview with Kraft Founder Klaas Freitag."

Interview with Kraft Founder Klaas Freitag

Linux Magazine: Why and when did you initiate Kraft?

Klaas Freitag: I started Kraft around 2004. My brother, who owns a landscaping company, has used it since the early days, and beside that motivation, I think I started Kraft because this kind of software is lacking in the FOSS portfolio.

Before Kraft, there have been two other versions of comparable software, one on Atari ST and one based on Microsoft Access 2.0. Neither was open source. In 2006, I gave a presentation about Kraft on Akademy in Dublin.

LM: Do you know companies that actually use Kraft?

KF: Yes, I know around 10 companies that use it on a daily basis. It is handcrafters, farmers, and also freelancers in the IT area. A pretty big range, also geographically. There is even somebody in New Zealand working with Kraft.

LM: What are the coolest features?

KF: My favorite features are the templates, the great PDF output, [and] the tagging to support discounted items.

LM: What is missing; where do you need cooperation?

KF: It's a lot of details, small things that kill productivity. And since Kraft is for saving people time, the small details matter. Apart from that, the Kraft project is missing promotion. The target group of users is not too deep into Linux yet, and that has to change, because the Linux world has a lot to offer.

LM: Do you have a business model in mind? Support? Services?

KF: No business motivation from my side. There was once some consulting around Kraft, but I am not sure how active that is at the moment.

LM: How big is the community?

KF: Too small. Developers prefer to work on media players.

LM: Well, community size and software quality does not seem to be correlated – what were your guiding principles when you started the project? How can you develop a stable, functional open source application without a large community behind it?

KF: I do not know if this can be generalized, but five guiding principles led our development – and they are inspired by the needs of the customers in the small-medium business enterprise:

1) Do not try to provide all features one can think of; stay real; KISS.

2) Do not solve problems that are too big (Datev interface, complex XML formats for catalogs, etc.).

3) Do not expect the users to be interested in software in general or even in Linux or open source. Kraft is a tool they can use to give them more time for their profession and company. Nobody should have to deal with office programs.

4) Make the features that exist easy and intuitive to use.

5) Run on the users' computer to protect important data. If it runs in the cloud, it should only be a private cloud.

LM: What are your plans on future developments? If you could dream, what would you like to have?

KF: I would like to see some kind of management for down payments, partial payment, and installments, [and] then integration with Cloud – best in ownCloud. Also on my list are catalog sharing, publishing documents online, much more reporting, and, last but not least, more cross platform stuff, including a Mac OS X version.

LM: What is a question about Kraft?

KF: How can Kraft be better known and grow the community?


The Kraft project was designed with the assumption that the companies who are using Kraft also work with a tax consultant. Even though Kraft stores all documents, the assumption is that most users will have the docs stored on paper as well. When it comes to document creation or address management, Kraft does not attempt to reinvent the wheel. Wherever possible, Kraft depends on existing solutions, such as KDE's KAddressBook, which makes it easy to have Google, ownCloud/Nextcloud address books attached without the need for address book adapters. The address management interface has recently been redesigned to make it easier to integrate with other sources, like Mac OS X.

Kraft keeps a plain list of documents in its main view, with the most recent ones on top of the list. If you want to know how much business happened in a certain year or month, just click on the month or year in the tree view (Figure 2). Clicking on a document in the list will reveal the most relevant details about a document.

Figure 2: Kraft displays a time line and detailed information about a recent document.


If you are running openSUSE, a simple zypper in kraft will install Kraft, at least for those who agree to install its dependencies. On an up-to-date Tumbleweed system, the dependencies are:


Kraft is also packaged for Mageia and Ubuntu and available for Arch Linux. Everybody else should be served with the AppImage from the website or by building the sources.

After installation, a simple kraft will start the program – and a wizard (Figure 3) will guide you through the setup process. All local data will be stored in $HOME/.local/share/kraft, and a config file called kraftrc in your local .config directory will look like the file in Listing 1. Remember: Kraft is highly integrated in your desktop; thus, if you end up with euros as a currency for your installation, you can wish to change to another currency; you can make the change through your desktop settings – in my case, the control center of my KDE system.

Listing 1



Figure 3: A wizard guides you through your initial setup. Don't worry – you can revert any changes.

If you want to use a MySQL database as back end for Kraft, all you have to do is log in as root on your mysqld (mysql -u root) and type CREATE DATABASE kraft;. All you need to do now is hand over the database server's address or name plus login credentials to the setup wizard, and there you go.

Some changes and new features may require changes in the kraftrc file. For instance, you can configure a different mail client for the "send invoice" function of Kraft. (KDE Kontact/KMail is the default.) If you prefer Thunderbird or another mail client, just add mailUA=xdg to the [system] section. If the [system] section doesn't exist, you will have to create it.

Starting Kraft

When you start Kraft for the first time, a wizard guides you through the setup process. The wizard is simple, clear, and focused – and since the GUI also offers a Reset function, first time users can play around without risk.

The wizard picks up and sets up the database, tests it, asks for a schema (if needed), and takes on the address book integration.

To create a document in Kraft, the user works in a simple editor that has entries for the document header, the items, and the document footer. Users do not need to care about the layout and can concentrate on the document contents. Kraft does the rest and even enables document workflows from offer to invoice with several steps in between.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • FOSSPicks

    Graham has been playing with the source code to the amazing Mutable Instruments Eurorack modules. The company is closing, but every firmware to every product is open source. Merci, Émilie Gillet.

  • Novell: More Support for openSUSE

    Linux distributor Novell is reorganizing: from now on, one developer team will dedicate itself entirely to openSUSE.

  • openSUSE Build Service

    The openSUSE Build Service is a free online service for building binary packages.

  • FOSSPicks

    This month Graham looks at MyGNUHealth, Sniptt, Pigiron, CudaText, KnobKraft Orm, D2X-XL, and more!

  • Workspace: BambooInvoice

    If you want your business to run smoothly, deploying a dependable invoicing solution should be among your top priorities. BambooInvoice offers a user-friendly, web-based invoicing solution.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.