February 28, 2018

Taking Kraft Beta - One Of KDE Plasma's Newly Updated Applications - For A Spin

There are likely some of our readers who in addition to doing computery-things with computers also do contract work, either full-time or on the side to supplement their main income. Or certainly they know someone else who does. This could be anyone from programmers who take on shorter-term contract work on various projects to lawn care companies who need an easy way to keep track of clients and supplies, as well as to easily generate quotes and and invoices. Kraft helps to make these mundane but necessary tasks easier by automating as much of the process as possible. To quote the project's homepage,[1]:

Kraft is aimed at the demands of small businesses. It is easy to use and focuses on a set of most needed features. So it is the solution for creating quotes and invoices. With Kraft your business will run smoother. You will have more time for things which give more pleasure than office work.

The Kraft Logo and Slogan

Kraft achieves this by offering fairly robust document template management tools, address book integration (with KDE PIM / KAddressbook), product definitions and pricing that update and calculate the correct prices inside the live document, and calculating potentially variable things like % discounts and applicable taxes. In the end, the user will hopefully end up with a nice-looking document (be it quote, invoice, work summary, etc.) that is correctly filled-out with the proper customer info, required materials and / or hours involved, as well as the service provider's correct contact information, terms, stipulations, etc, etc. From KDE Userbase:

Feature overview
  • Kraft uses a database to store details of your customers, your stock, non-stock item requirements, quotations and orders.
  • By means of templates, document creation becomes easy and consistent.
  • Free-format invoicing is also possible.
  • Since version 0.32 taxation levels are editable to reflect the country's tax laws.
  • Repeat orders simplified - use previous orders as the template
  • Existing document (e.g. quotation) becomes basis of follow-on documents (e.g. delivery notes and invoice)

Sounds great! Kraft has been around KDE-land for a while (the Userbase entry from which the above was text taken was last updated in 2011[2]...), but was just recently upgraded to Plasma 5 and re-based onto KDE Frameworks 5, getting Kraft up to speed and, hopefully, usable to anyone needing a good, open source invoicing and quoting solution on Linux. And, let's face it, there are not many of those out there! As a result, a Beta Appimage was released, and so I thought I'd take it for a spin.

Giving Kraft A Test Run


First off, let me state that I approached this test initially as someone who would want to use the built-in KAddressbook (i.e. Akonadi) integration. After all, much of the real power lies in the elimination of as much duplicate data entry as possible, and having the e.g. Quote auto-populated with my contact info and the prospective client's information would be a real time-saver. 

I use KDE Neon as my daily driver, and as some readers may know, neither KDE PIM nor KAddressbook are installed by default. No problem - I installed KAddressbook using the command line, which pulled in some Akonadi components with it, so it all looked fairly good at a glance. However, after a reboot and launching KAddressbook, I quickly found out that Akonadi was not working as required.

Something's not right here
Next, I searched for missing Akonadi packages that might be needed, and so decided to install both the full Kontact meta-package (against my will and, perhaps, better judgement), as well as the akonadi-server package. The latter package likely did the trick, as after some intense finagling which included deleting some Akonadi folders and rebooting (more on that some other time, but UGGGhhhhh!) I was able to get KAddressbook properly running. So I made a new sample address book called 'Client Contacts', and added a test one.

The test contact is created. Very nice.

With that all seemingly in place, I went to the downloaded Kraft Appimage file and fired it up. On first run, you get an assistant that walks you through the basics of the back-end database creation and enter some basic information to get started.

Kraft database creation dialog

Next, you'll be asked for your user information. Ideally, this is taken from your personal entry in KAddressbook. However, for me, this is where things began to unravel a bit. Doing an address book search found nothing, as shown below.

Kraft's contact list appears to be empty even
though KAddressbook is running

Upon further inspection, by hitting the 'about Kraft' button in the lower-left corner, my suspicions were confirmed: Kraft was not seeing my address book, as it does not detect the Akonadi backend running, even though I know it was. This is because you will get an error if you try to load KAddressbook without a working Akonadi-server backend. I'm not sure if this issue arises from the fact that this instance of Kraft is running from an Appimage or not, so I won't speculate too much as to why the integration is not working. 

No Akonadi joy

Making the document:

With that unfortunate reality out of the way, it was time to check out actually making a sample quote to see how easy it was - and, ultimately - answer the question as to how effective a tool Kraft would be in helping a small biz get documents like proposals, quotes, statements of work, and the like out the door. For my purposes, I wanted to use Kraft to make a mock-quote for developing a website for a client. In this example, there are no materials used per-se, just labor. This keeps it nice and simple for a first try. The first thing I noticed is the main window is broken down into three main sections. These are Documents, Timeline, and Catalogs. Sadly, getting a good handle on what each of these sections can do, and how they are to be used, is all trial and error and jump-right-in, since Kraft's website is a bit barren on the subject of using it from a user's perspective.

Not much help here

So, flying a bit blind, I pressed the only option that appeared available to be from here: Create Document. That's logical, of course, so I proceeded. Next, the user is presented with a drop-down list of default document types. One problem out of the gate is that the list appears to be half in English and half in German. I quickly learned that all of these can be changed in the app's configuration menu, so I went there and changed a few things that would better represent my particular test scenario's workflow. I would suggest you take a moment to go through all of the available settings yourself prior to trying to create a document yourself for the first time, as you will also need to define things like wage rates and tax rates before actually making a valid document. There's lots of flexibility here to create multiple types of any such document requirement.

Some English terms and some German terms living in
harmony in the menu

Next, I went back to the 'create document' menu selection and selected 'quote' as the document type. After hitting 'create', the main document editor is now brought into focus from and center. From here, we can see that there are three main sections to the document: The Header, the Footer, and Items. Clicking on any one of the section headings takes one to the details of that section, which can then be edited right from there with relevant info. 

Kraft's main editing window

Clicking on 'Header', for instance, allowed me to manually enter the recipient's information (since in my test case it was not pulled in from the address book, and the summary of what the quote was for. One very slick thing is that you can see the document's changes on the fly as you type the information. This WYSIWYG-approach to form and document design is highly appreciated. Well done. Next, for the For the Footer, I just assumed that that section should contain things like delivery times, acceptable methods of payment, and other terms of sale. So I added those.

Next, I used 'add item' to define an item relating to creating a basic website for a client. Here you can create re-usable items by defining them, or use already made ones. With none selected or created already, I went on to create an item. I used hours as the unit of measure (having failed to think of a better one) and entered the time estimate for this particular job, as well as entering a basic description. For my testing purposes, this was all I really wanted to try and accomplish.

The Result:

Once I finished the quote, I right-clicked on the quote from the Documents section of Kraft. Here you can see the document in it's on-screen form.

Here's the result when the quote is put into print form.

As you an see, the documents are not exactly the same, and the printed version moves to (2) sheets of paper as opposed to one. So the bottom line is, does it work as intended? Well, that depends on your definition. It does generate a quote that could be presented to a prospective client, but at this stage one would have to say it's not quite ready for Prime Time yet. The issues I ran into, in no particular order, are:

  • Address book integration did not work, despite a running Akonadi-server and a working KAdressbook
  • The correct taxation amount was not shown on the preview document, but showed correctly when the print function was envoked
  • Some field labels are not ideal for American English use: for example, the tax amount is shown as VAT, without an obvious way to change it. Here, we would simply refer to it as Tax. Same with other terms, like Sum. This would be shown as Total here. So ideally I would like a region selection in system settings that changes field labels, drop-down selection language, and default document wording to reflect one's geographical location. Or at least an easy way to edit the form (see below)
  • No where in Settings to upload a logo or brand to be shown on generated documents - a place to do this in settings would be great
  • My (the businesses') address, phone, and etc. is not shown on the printed quote even though it was manually entered in Kraft's settings under 'Own Identity'. Likely, this is due to the fact that the information entered was not saved. Each application restart would require re-entry as those fields were not saved
  • There needs to be an easy way to customize templates - I could not find where the default markup templates were stored. Maybe provide a link to the default folder from within system settings
  • Would like a way to reasonably force a form with only a few Catalog items in it (or in this case, one item) to stick to a page length of one so as to not needlessly generate multiple-page forms
  • Finally, sometimes when I restarted the application, I received a message that the database contained data, but that it was useless (or similar message) and that the database would need to be recreated. Although agreeing to this did not seem to work in my case
  • Documentation from a User's perspective is woefully lacking and out of date, both on the project's web site as well as Kraft's entry on KDE Userbase
  • There is no mention as to whether Kraft could store it's database on a LAN / WAN-based server instance, to facilitate a multi-user setting. In a real business scenario, this would likely be a requirement   
  • The website needs some serious KDE Visual Design Group love


I will be filing bugs as warranted based on my observations to date. This is a beta release after all, meant to be tested. One expects a few hiccups along the way. Once these issues are ironed out, I could see Kraft being a real benefit to any small business or independent contractor. Most people I know use some type of spreadsheet for this type of thing, and of course this is less than ideal. This is where Kraft could really shine!

I'm a big believer in open source applications like this. Like KMyMoney. Like Libre Office or KDE's own Calligra Suite. Applications that let real people get real work done in a manner more efficient and effective than a more generic way of doing it. I could completely see recommending Kraft to some of my business friends once it becomes a little more user intuitive, robust, and friendly. The integration with KDE PIM is such a great idea and a great example of why desktop applications are many times much better than an on-line-only, web-based equivalent.

Kraft may seem like a niche application, but with ~ 28 million small businesses in the US, and with over 22 million of those being self employed with no additional payroll or employees, the potential use-case for Kraft seems utterly huge[3]! And that's just in the US alone!

Feel free to test yourself and see what you think[4]. Make sure to report any bugs, make those suggestions, and hopefully Kraft can shine in it's own unique way like KStars or Krita - Not every user needs them, but if it's a tool for your line of work, we want KDE Plasma applications to shine! I sincerely hope to revisit Kraft in the near future. 

No comments:

Post a Comment