Category: Development

The Toshl Web App Gets a New Design: a Chat with Janez and Jan

We’re starting something a little different on our blog today. Instead of just telling you what’s new, we’ll have a chat with Toshl’s team members. Today we’re meeting Janez and Jan. No, they are not one of the Toshl monsters, they are humans and they are real. Or at least we certainly hope so. ;) One envisions the app’s unique design, while the other puts the ideas into practice by coding. In this chat, we’ll talk about the redesign of the Toshl Finance Web App and their work in this project.

Guys, could you introduce yourself? What are your main duties at Toshl?

Janez: I’m in charge of the design and illustration. This part is quite important for Toshl Finance apps. So my job is about creating the interface of our apps and graphics in general.

Jan: I bring designs of Janez to life. I’m in charge of web app development. In other words, it is my task to transform the data into web pictures in the browser, so they look like we imagined them. And, of course, we discuss how things should look like together with Janez. It’s constant teamwork.

Toshl’s web app has changed significantly with the latest release. What was the purpose of this transformation?

Janez: We wanted to achieve a new feel for the whole app, so that it looks lighter. We paid attention to optimising the entire experience, not only the bare graphical interface.  

Jan: We saw a chance to make the app look fresh. The previous version of the web app was developed about 4 years ago, and these are light years in the IT industry. Thus it needed some updates. The timing of the overall redesign coincided with the code refactoring that we did. Now the things comply with the latest industry standards and it is easier to make additional upgrades.

How could we see it in user experience?

Jan: The previous version was very flat and hierarchical relationships between view parts and elements were not really clear.  Now, when we added different shadows to the elements and made them look floating, when we put some things in the background and placed others in the front, it looks more clear. With the recent changes, it is quite simple to understand what you need to click next on the screen.

All in all, the whole experience became easier, didn’t it?

Janez: Yes. Now it is easier to understand things. Colouring and shapes of the elements help you orient throughout the app.

Jan: Web app navigation got better, too. We have developed advanced animations that show what happens when you click some element. Before, when you clicked something, the next screen popped up immediately. It was not easy to process this instant change for the user. Now it transforms smoothly. Also, when some element gets hidden, it animates into the button that can bring it back. So you know where to find it to revert your change. For instance, all toggles, steps, and buttons on “Add budget” dialog are dynamically animated to give a sense of where they came from or where they go when we don’t need them anymore. Everything became more intuitive.

Janez: We worked on the systematisation of the app’s design as well. It relates to the changes in the buttons, there are some changes in the fonts. In this area, we made the first steps towards a wider design system that could better evolve over time.

Jan: Or, for instance, we improved the contrast. The background got light white, the fonts got darker. So the app is easier on the eye.

Could this redesign confuse the people who use Toshl Finance?

Jan: Not at all. All the elements are in their previous places. Some important parts are just more emphasized. Some less important things are in the background. The first contact with the overhauled app should be quite effortless.

Could you remember any funny story that happened on the way of this project?

Janez:  We are a serious company, no jokes.

You are serious but you have Toshl Monsters. Did they change somehow?

Janez: Monsters reflect Toshl’s humour. They stay the same.

Jan: Monsters are eternal. No need to change them.

Are there any hints you would like to share with Toshl users?

Janez: Overall, the app stays the same. So far functionalities did not change with this web app design update. It is just a refreshed look.

Jan: We didn’t want to complicate… Gradual changes are always a better option.

Otherwise, do you use Toshl Finance in everyday life?

Jan: Yes, I do.

Janez: Yes. Sometimes I fall asleep and forget to enter some cash expense in Toshl. Then I wake up and come back to the app… You know, we must use it because we’ll get lower salary otherwise… (Laughing)

Posted in Development, Opinions

January Novelties in The Toshl Apps

Platform improvements. These were either improved in all the Toshl apps, or on the server (backend) and thus automatically improve all the Toshl apps.

  • We greatly improved the reliability of detecting transfers between financial accounts. If you’re interested in how and what you can do to better note transfers, see the transfer matching blog post.
  • Detected transfers can also be un-matched into their expense and income constituent parts.
  • Semi-automatic bank connections, those that require an input of credentials whenever updating are now more clearly noted. All the apps now show a notice about this when connecting to the bank. A reminder notification to update the data each week is advised.
  • Expenses and incomes on automatic accounts can now be manually deleted.
  • We’ve increased the date range for which the transactions are available on about 400 bank connections.
  • Various minor reliability improvements on bank connections, to avoid duplicates, make sure entire descriptions of transactions are imported, balances show only the current balance instead of the total available etc.


  • Planned expenses and incomes now show with dates on the list.
  • Customized pins on the location map (lollipops FTW!).


  • The “my financial month” setting is now available in the mobile app. With it, you can set your financial month to start on a different date than the calendar month. Tap the red month button in the right drawer to set it.

Web App

  • Transaction description previews are now shown directly on the expense and income lists.
  • Updated the report a bug widget, so it’s easier to report bugs or ask questions about specific data from the web app.

We also worked on major features coming in the future, added tons of other minor improvements and fixes, too numerous too list here. But when it all works well, you’ll know they’re there. 😉

Nothing stops us from keeping on improving.
Viježbamo p**** vam materina! (a little joke for all our ex-Yu friends)
Posted in Announcements, Development

Between Scylla and Charybdis: Why We’re Switching the Locations Feature Back to Foursquare

We’re switching the expense locations provider to Foursquare! Back to Foursquare, as it was before April. Don’t let the exclamation mark of the first sentence fool you, it is not one of excitement, rather of frustrated dread.

When making Toshl v2 a few years ago, we thought it would be a cool feature to add the location of the expense or income. Cooler still, with the help of a 3rd party service, we could even show and save the name and info of the exact venue, not just the coordinates.

For this to happen, we chose Foursquare. We used their apps, knew they had a pretty good database of crowdsourced venues and at the time, offered the venues API for free, even for commercial use. Through the years of use and user feedback, we discovered that the coverage could be somewhat patchy in certain countries, but worked well overall. Hell, it was free, save for the attribution and data about which places were the most frequented.

Then earlier this year, a Foursquare representative sent us an email, saying that they’ve changed the terms and now want to charge us the 750 $ (US) per month for location API access. We’re not against paying in principle, they do provide a useful service, but a bait and switch with going from 0 to 750 $ a month was a bit harsh. Especially for a feature that doesn’t represent the core of our service, but is rather a nice add-on for most people.

Therefore we resisted and checked out other providers. Google Places API was an obvious choice. While the quality of location data also varied a bit, the database of venues was very large and we knew Google was definitively committed to keep improving it substantially in the future.

So we added the switch of location providers on our to-do list, updated the backend systems, optimised how the results were fetched and displayed, changed the location provider logos in the apps and launched the new location system with Google’s results on 18th of April 2018.

While Google’s Places API was not free in theory, there was a cap beyond which they started charging. Essentially this made the service free for us, as we didn’t surpass those rather generous caps.

Then on May 3rd, the bomb hit. Google announced they were raising their API prices. By A LOT. You can imagine how happy we were.

We weren’t the only ones:

There was a 3-month transition period after June 3rd during which they offered some transitional credits to existing customers, but after this, our monthly bill would go from 0 to about 3000 $. Wonderful.

We had a few calls with Google representatives to see if something could be worked out, or if we had misunderstood something, but all we got was a “that’s unfortunate” and a $300 credit for other Google Cloud services.

We obviously looked at other location data providers like HERE, TomTom, Mapbox and others, but very few offer worldwide coverage and even when they do, it can be pretty patchy and imprecise.

Perhaps that’s also because during the last decade Google offered these location services below cost, thus stifling stronger competition that might have otherwise developed.


So long story short, the locations of your expenses and incomes in Toshl apps will again be provided by Foursquare. We apologise for any inconvenience that might have caused, as the locations on both platforms don’t always match completely. As you can probably tell from above, our choices were somewhat limited. We hope the location function will work well, consistently and hopefully without further pricing shocks in the future.



Posted in Announcements, Development

The Missing Pieces in Apple’s In-App Payments System

The in-app purchases on iOS have evolved greatly, if not rapidly, over the years since Apple has introduced the option to pay from within iOS apps using their payment system. They’re available everywhere where the App Store is, subscriptions are now available for most apps, webhooks were added, reporting is better and the Apple fee now drops to 15 % after a customer is subscribed for 1 year. All good improvements, but a giant and glaring omission remains, making the user experience worse for customers and lives more difficult for developers. Further still, Apple doesn’t show any inclination to fix the situation and fill in the feature void:

It’s impossible for app developers to search, cancel or refund iOS in-app payments.


Why is this important? 

To provide a better service and user experience for our customers.

Refunds. Sometimes a customer just upgraded short while ago, but accidentally made a double purchase or had different expectations of the functionality. In such cases a customer would contact our support and request a refund. When this happens best we can do is to tell them to contact the App Store support, as we can’t authorise the refund ourselves. This can be a bit difficult to understand for some, as we’re the ones operating Toshl otherwise.

Cancellations API. Our apps are available on multiple platforms. Let’s say a customer previously used the Android app and subscribed through Google Play or used the web app and upgraded via PayPal. Then, the customer buys an iPhone and extends the Toshl Pro subscription using in-app purchase. In this case, we’d automatically cancel the previous subscription on Google Play or PayPal, so only the most recent subscription on iOS would remain going forward.

This isn’t possible in the other direction. If a customer first subscribes using an iOS in-app subscription, then upgrades via PayPal, we’re not able to cancel the existing subscription on iOS. Best we can do is to tell the person to follow these rather convoluted instructions to cancel the previous subscription on iOS.

Unfortunately, this can quickly lead to accidental double payments as the customer forgets to cancel the previous subscription manually. Logically, they’ll contact to our support, requesting a refund where we can again tell them only to request it from Apple’s App Store support, thus creating more ire and a user experience quickly approaching Kafkaesque territory.

Search. Sometimes, we need to look up a specific payment. Either we’re not sure if it was completed successfully, we’re investigating a potential double payment or testing something. There are many reasons why this would be useful and of course goes hand in hand with the ability to refund or cancel subscriptions as mentioned above. This isn’t possible with iOS payments. While some of the data could be checked via APIs, most can’t, there’s no graphic interface to check.

The lack of these crucial components is even more evident when comparing to the other payment methods that we use. All of the functions mentioned above are easily available on Google Play, PayPal and Adyen (our credit card processor).


Why isn’t Apple fixing this?

I can’t be sure, but other than the lack of time and focus on other areas, a few possible reasons come to mind. It could be that Apple is afraid of a loss of control here. But their refund policies with their own support are quite liberal as it is. Potential abuse of the refunds could quickly be algorithmically detected. Other payment providers can seem to make it work well.

Privacy could be a potential concern, but it need not be. We’re not asking for any card details of the customer, addresses and names can be hidden, as Google Play already does. What we need most is the unique ID of the transaction and the ability to search by it and email.

It is possible that the refund ratio of all purchases would go up slightly, but it’s doubtful it would do so significantly. In any case, it’s a better long term business practice to let your customer choose your product because they want it not because the cancellation process is so damn convoluted.


We’ve contacted Apple’s support regarding this, but all we got is a standard non-response:

“I do not have any information on whether this change is in the works. I can advise you that Apple does take your feedback very seriously. Many changes to our program have been implemented by feedback from our developers.”

I’m sure we’re not the only app developers, who face these problems and would greatly appreciate to see these issue sorted. If you agree, please share this article so we can get some improvements to happen.


We love Apple’s products and for the most part they make our lives easier, both on the user as well as the development part. This is why this feels so much more as a black spot on an otherwise great user experience record.


Apple we beseech thee, please help us make user experiences better for both your and our customers.


Posted in Development, Opinions

Toshl Finance 2.0 is here

Today we launched Toshl 2.0 for iOS and the web app. It’s a major upgrade, in fact a rethink and rebuild of what we have been offering so far.


There are so many new features and improvements that it would be hard to list them all here. Most of them come from the feedback you, the users of Toshl have been giving us throughout this time, coupled with our vision of how we can help people improve their personal finances.

Among the features we’ve added are multiple financial accounts, adding of photos, locations, reminders, paid markers to expenses and incomes. We’re proud of our new data visualisations on Monthly overview, River flow, Budgets, Locations to name just a few. Budgets can now adjust automatically to your monthly incomes, the time periods for budgets can be completely customised and they play much nicer with other graphs.

We’ve introduced a much better structured system for categories, tags and accounts. We now suggest most of the categories and tags you’d ever need so you don’t have think up your own system if you don’t want to. But all of these are still fully customisable if that’s what rocks your boat.

Filtering by account, category, tags and locations is available across the web app and by accounts across the iOS app. Months and time spans in general are much simpler to navigate and offer more options than before.

Such major changes take some getting used to. We realise some of you will be unhappy with the changes, but we kindly ask you to give this new version a chance. Explore a bit, see what’s new and how some of the new things work.

In the following days we will be publishing a lot of tutorials to help with this task and explain all the functionality. Your feedback and questions will be crucial to help us improve the functionality as well as the discovery of it going forward.

We haven’t forgotten about our dear Android, Windows Phone and BlackBerry 10 (Android port) users. Sadly it was impossible to launch all the apps at once. We are continuing to build these apps and they will soon be making the transition to 2.0 functions and design as well. It’s difficult to say exactly when they will be available, but we plan to release them in the first half of 2016.

Such large changes can be troublesome and difficult to coordinate. Some transitional problems thus remain at the moment. Sync with the v1 apps does not yet travel in both directions, reset, delete account functions are unavailable and payment methods for Toshl Pro need to be greatly expanded. In some cases the migration of tags and budgets from v1 can be somewhat problematic as well. We will resolve these issues in the upcoming days.

If you encounter any problems or have questions about the new apps, please don’t hesitate to contact us at and we will do our utmost to help.

We are thrilled to have the new apps finally released. This is a new solid foundation we can build on and bring on improvements at much greater speed and quality than before. We can’t wait to see how the things we’ve built can help improve your lives and make personal finances a bit less scary and dare we say, fun?



Try the web app

Download the iOS app

Posted in Announcements, Development