Accounting software shortcomings

February, 2024 · 6 min read

Up until 2023, I used a Swedish accounting solution called Bokio. It was aimed at small businesses and was generally well-regarded. It had a modern UI, was easy to use, and had helpful guides and to-dos, making bookkeeping accessible to beginners like me. However, after using it for a whole year, I longed for something better.

As an independent developer, I found Bokio full of useless features. When it came to the few features I truly needed, they weren’t as usable or sophisticated as I had hoped. Mind you, when I used Bokio, it was already an eight-year-old product, recently acquired for over 150 million USD. In this article, we’ll stick to discussing Bokio, the product. But stay tuned – there’s a ton of drama involving what might be one of the worst acquisitions as far as Swedish software companies are concerned. I’ll do a write-up in due time.

Feature bloat

As my subscription ended in 2023, I recorded and took notes of all the useless features:

  • The dashboard you landed on after logging in. It functioned as an ad space, where Bokio displayed banners and widgets trying to upsell you.
  • The lists containing to-dos and important dates applied too broadly, resulting in false positives. For instance, it listed items relevant only to people running foundations and items only applicable to businesses that owned real estate. Additionally, since there’s no integration with the actual “source of truth” (often the tax agency), you had to manually check off items even though you’d completed the very thing. These lists were also redundant because almost all items already exist in the tax agency’s dashboard.
  • Charts, graphs, and reports. As an independent developer, granular month-by-month breakdowns, visualizing trends, and top five lists of expenses or revenue streams had little to no value to me.
  • Invoice management. By the nature of my business, I strive to have a single “employer” for several months or even years – generating my invoices is trivial and already handled externally by a time reporting system.
  • E-commerce solutions, supplier management, and employee management (salaries, vacations, expenses). I neither do e-commerce nor work with suppliers other than paying for a few SaaS products. Using the employee management tool was too overkill for a solo company. There was also an edge case I bumped into involving salaries, which we’ll look at.
  • “Additional services”. Another ad space, where they listed different accounting firms and links to partners that sell insurance, hotel stays, office supplies, etc.
  • An elaborate Settings section. You could configure everything from notifications to basic theming for quotes, invoices, and salary slips.
Most of the sidebar menu led to features that provided little value to me. Of all the “important dates” shown, only one was relevant let alone important.
Most of the sidebar menu led to features that provided little value to me. Of all the “important dates” shown, only one was relevant let alone important.

Besides the feature bloat, you’d often see alerts/message boxes/”request help” buttons when performing actions. While they might be genuinely helpful the first few times, once you know what you’re doing, those elements clutter the UI. Having a truckload of useless features isn’t always a problem, but in this case, they occupy a lot of screen space – more than two-thirds of the sidebar menu led to those features.

Repetitive critical user journey

When bookkeeping, you’ll spend most of your time uploading receipts and invoices and creating ledger entries based on them. While Bokio did OK in this department, it didn’t meet my expectations.

First of all, I found the experience overly repetitive. To create a ledger entry from a document, you had to:

How the template search looked like
How the template search looked like
  1. Drag and drop/upload your file to Bokio
  2. Click “Bookkeep”
  3. Select one of four main categories. Then, click “Next”
  4. Begin typing into a text input to search for a template (essentially a sub-category). Then, click on one of the search results.
  5. Before typing, Bokio suggests the five most frequently used templates
  6. Verify that the automatically detected total, VAT, and payment date are correct. Make adjustments if necessary. Then, click “Next”.
  7. Finally, verify that the entry is correct by clicking “Bookkeep”

While this flow certainly worked and might even be optimal for beginners, it became frustrating after repeating it dozens of times once you knew what you were doing.

The number of templates I’m interested in is limited. It’s far lower than 50. For this reason, breaking down the selection of a template into two steps adds more work. Having to go through the final confirmation is also unnecessary. If you’ve chosen a template, you’ll already know what the entry will look like.

Beyond the redundant steps, Bokio didn’t support bulk actions. If I go on a business trip, I’ll end up with a half-dozen travel-related receipts that are all dealt with the same.

The suggestion feature, while a good idea, was implemented abysmally. In the step before suggestions, you select one of four main categories. However, that selection did not filter out any suggestions belonging to other categories. Additionally, listing the five most frequently used isn’t the best (and made worse by the lack of filtering). More than half the time, I never clicked on a suggestion. As mentioned earlier, I often found myself handling similar documents after one another – it would’ve been better if the top suggestion was “most recently used.”

Suggestions belonging to other categories are being shown despite having selected a main category
Suggestions belonging to other categories are being shown despite having selected a main category

Lackluster parsing logic for documents

As part of the critical user journey, Bokio tried to determine the total, VAT, and payment date for every uploaded document. While it handled some documents well, the times when it failed left me feeling that whatever algorithm they had lacked sophistication. And when it failed, it was inconvenient to make adjustments.

The lift ticket PDF receipts
The lift ticket PDF receipts

Sweden has an employee wellness allowance – I occasionally bookkeep skiing-related receipts. In those PDFs, the values for total and VAT, respectively, are visible. Bokio also hinted that it had detected them by overlaying each value with a clickable rectangle. Yet, Bokio only prefilled the total for you. It had somehow not understood the other value as being VAT. Mind you, up until this point, the following has happened:

  • Bokio has detected two values from the uploaded PDF and assumed one of them to be the total.
  • You’ve told Bokio you want to use the “wellness allowance” template. VAT is 6% for sporting activities in Sweden.
  • The expression “VAT (6%)” appears in the PDF.
  • Sweden uses 0%, 6%, 12%, 25%. The other value can only be arrived at assuming 6%.

In this instance, Bokio felt like a love interest to whom you’ve given all the hints, yet they still don’t get it. But it gets worse. Remember the overlaid rectangles? You can click on them, and Bokio will place their values into whatever input you have focused on. Except it didn’t work this way – the input for the total is always used as the target. The cherry on top is that Bokio tried to parse the payment date of these cursed receipts by using my date of birth. I was born before PDFs were invented.

Although you could click on detected values to populate inputs, Bokio always treats the input for the total as the target. It also bases the payment date on my date of birth, and ends up with a date that is way into the future.
Although you could click on detected values to populate inputs, Bokio always treats the input for the total as the target. It also bases the payment date on my date of birth, and ends up with a date that is way into the future.

No tax account integration

Every month, you’ll typically create five or so tax-related ledger entries. For a company like mine, they make up a large percentage of all entries. Since Bokio didn’t offer any tax account integration back then, it resulted in lots of manual work.

Remember the five most frequently used templates? Three of mine were tax-related – had this integration been in place, Bokio could’ve excluded them from the pool of suggestions.

Edge case with salaries

When running your own company, there’s flexibility in deciding when you pay salaries. Heck, if you want to, you can pay your entire year’s salary in one lump at the turn of the new year as the fireworks go off. Unsurprisingly, doing non-standard things didn’t work well with Bokio’s employee management tool. The issue involved how it calculated your pay-as-you-earn-tax.

Bokio’s automatic tax calculation for salaries breaks down if you pay larger lumps
Bokio’s automatic tax calculation for salaries breaks down if you pay larger lumps

In Sweden, you pay income tax based on your total earnings for a given year. If you receive a monthly salary, you don’t pay that tax in a single go – your employer makes payments on your behalf by withholding some money every month. Because it’s impossible to know your total earnings in advance, you typically estimate by extrapolating your monthly salary.

Herein lay the problem: if you wanted to pay a large lump, Bokio automatically assumed your yearly income was 12 times that amount, resulting in paying much more tax in advance than is necessary. For example, if your monthly salary is 50.000, your effective tax rate would be around 23%. If you wanted to pay 600.000 in one go, Bokio would apply a tax rate of 48%.