WeTally: A minimalist accounting software

joker hook
6 min readNov 23, 2023

You can download WeTally from App Store. It supports both English and Chinese. We offer a free three-day trial period for advanced features WeTally+. You can also send me a private message to request a free one-month advanced function trial redemption code.

This is not a technical HOW-TO document, it is just an introduction to an app I developed using new technologies from WWDC23. I may disclose some of WeTally’s internal technical development methods in the future.

After being unable to stand the on-screen advertisements, non-native UI designs of many accounting software, and having no idea where to find the functions, I finally opened Xcode and developed the accounting app I had in mind. As a poor scholar from college to master’s degree, I have very little money to spend every month. In fact, when I was in college, I planned to write an accounting app because I couldn’t stand the on-screen advertisements of a certain accounting software. Later, after I was admitted to graduate school, I was too excited to go sightseeing and delayed, but now I finally have my wish.

As mentioned before, open-screen advertisements are what I hate the most and I am indifferent to them. Sometimes, when there is an advertisement and no action is taken, it will inexplicably jump to Safari and open the corresponding advertisement. What hell is that? Well, I complained a lot up to now, just to express one of my core design concepts: there must be no advertisements in the accounting app I designed. Let me introduce some basic information about WeTally, an accounting app.

WeTally’s design style

I am an iOS native developer and currently use the Swift programming language and SwiftUI for development. After summarizing my accounting habits for so many years, I found that I currently only do the following things in accounting:

  1. Check balance before spending money to see how much I can spend this month: Eating an expensive meal? Check the balance, yes, there’s quite a lot of money left, let’s eat!
  2. After spending this money, how much money can I still spend every day by the end of the month: If I want to eat Pizza Hut, check out the money left. What? No money for this month? Forget it, save money.
  3. Record an expense or income: This is the core part of accounting. With these records, you can better help yourself recall why you spent all this unjust money in the first place.

How to integrate these three most commonly used things into one interface and make it look elegant in design? The Apple Wallet app comes to mind. I usually like Apple’s design style very much, and I often imitate or reproduce some of Apple’s UI interfaces in my own projects. This time I plan to move the design of the Wallet app that comes with the iPhone into this WeTally app.

Design of ledger details interface

The Apple Card user interface is an excellent example, including recent transaction records, deposits and weekly charts (refer to Fig 1), which fully meets the design I want.

Fig. 1

To imitate this interface, I changed the three middle parts into three main functions in WeTally (refer to Fig 2):

  1. Today’s spending and this month’s spending;
  2. Weekly expense chart;
  3. Theoretical expenses that can be spent every day until the end of the month.
Fig 2

Of course, different companies do not necessarily pay wages at the end of the month, or some people want to set different starting date of each month. The function of setting the starting date of your ledger is also included in WeTally. Just like me, I usually only receive a new income on the 18th of every month, so I just have to make sure not to spend all the money before the 18th of the next month.

Design of WeTally main page

Of course, the main interface of WeTally actually refers to the design of the Wallet app, but the animation effect is somewhat different. You can adjust and modify the style of the ledger display as needed (refer to Fig 4).

Fig 4

Design of expense/income analysis interface

Although under normal circumstances many people just mechanically repeat the following three steps:

  1. Open the accounting app;
  2. Record an expense/income;
  3. Close the accounting app and open other social apps.

But suddenly one day, you realize that you are out of money. At this time, if you want to trace the source and find the top expenses, you need to use a more advanced function: income and expenditure analysis.

I made an interface for income and expenditure analysis based on three sections. These three sections are:

  1. Daily expenditure/income analysis
  2. Weekly expenditure/income analysis
  3. Monthly expenditure/income analysis

Why split into three sections instead of integrating into one? Of course, this is because there are three corresponding basic views on the ledger details interface, and these three views need to be utilized. Tap any view to check the corresponding detailed analysis. Please refer to Fig 5 for the specific view design style. For the expenditure/income analysis interface, I referred to the design of steps in Apple’s Health app.

Fig 5

Design of Widgets

When you want to spend money, you don’t actually have to check your balance to make you give up. You only need to look at the lock screen to see how much you spent today and you can actually resist not spending money. Widget support is an essential feature of an accounting app, which allows people to see some spending information without opening the app. The design style of the widget (refer to Fig 6) I imitated the sleep module in the Apple Health app, so even the highlight color is the same on the home screen.

Fig 6

Other interfaces

The rest of the interface generally imitates the Wallet app. If you are an Apple fan, you should feel an inexplicable sense of familiarity when using WeTally. There are some designs that I am not very satisfied with at the moment. If I accidentally find a better design, I will update it in subsequent versions.

Development details

WeTally is a brand new accounting software for iOS17. The internal technical framework adopts the new framework released at the WWDC23 conference, including the new ScrollView API, the new localization framework String Catalogs, the new storage model SwiftData, @Observal macro, and the latest in-app subscription framework supported by StoreKit, etc.

Last but no least

WeTally is actually for me alone and I developed it based on my personal usage. If you are interested, you can download and try WeTally on App Store. The app has just been released to the App Store. If you want to further experience advanced functions, you can send me a private message to request a free one-month advanced function trial redemption code. If you think WeTally is easy to use or if there is anything that can be improved, please share it with your friends and leave a message on the App Store.



joker hook

👨‍🎓/study communication engineering🛠/love iOS development💻/🐶🌤🍽🏸🏫