Hi, this is Ian checking in again to give you an update on what we’ve been working on since our last post this past spring.

Since I last wrote, Apple held WWDC (World Wide Developers Conference) and unveiled some of their new technologies and features like Passkeys, Stage Manager, WeatherKit and more. Unsurprisingly, they also announced iOS 16, iPadOS 16 and macOS 13 Ventura. We’ve been watching these operating systems closely and we want to make sure Banktivity plays nice with them once they are officially released.

Behind the scenes here our engineers have been hard at work on three major areas: iOS reports, scheduled transactions and something we haven’t talked about previously, push notifications.

iOS report update

We’ve made great strides in bringing reports to iOS. While we’ve had the contents of supported reports looking good on iOS for a while, we’ve spent the last several months implementing editing functionality. On Mac, this is the little popover you get where you can edit the report title, which accounts to include, the date range and so on. Despite its small size, there is a lot of UI complexity there and you can see it looks great on iOS now. (For those interested, this UI was built with SwiftUI, Apple’s latest framework for making user interfaces.) Check out these screenshots:

Report editor when it first appears. Tapping the different sections expands them in place to reveal additional options.
Report editor showing a subset of date range options and the account rules.
Report editor showing the screen where you can manually select which accounts to include/exclude in the report.

We have the editor done for the net worth report, but there is more work to do to get it playing nice with some of the other supported report types. If you didn’t notice it, there are still a few cosmetic issues to address, but I don’t anticipate those taking too much time.

Scheduled transactions update

The hardest work of implementing more flexible scheduled transactions is done. With a build of the app I have, I can schedule for dates like this:

  • Last Friday of the month
  • Every Tuesday of each week
  • First Monday of each month
  • Last Wednesday of each month
  • Second Sunday of June each year

We put in this new flexibility without breaking existing scheduled transactions in your Banktivity documents (and there was much rejoicing). Here is what the UI looks like on Mac, notice the “Custom” checkbox:

New scheduled transaction options for what we often refer to internally as “fuzzy date” support.

Importantly, this feature is being rolled out on Mac and iOS simultaneously – including support for editing the new “custom” date options on iOS.

We still need to implement the UI for these new options in the scheduled transaction editor assistant on Mac. Once that is done, this feature will be complete.

Push Notifications

One of the features we’ve been working on that we haven’t yet talked about is push notifications. Supporting push notifications is something we’ve thought about a lot over the years but it never made it above the cut list when it came time to commit to features. Fortunately, with our move to subscription and our continued investment in our end-to-end encrypted cloud sync, some use cases percolated to the top and it’s finally time to make it happen.

Push notifications for a better cloud sync experience

Ironically, one of the first push notification we are going live with is one you won’t actually see 🙂 I know that sounds, funny, but Apple’s push notification system allows for “background notifications” that are never presented to a customer to interact with. We are using this type of notification to improve the customer experience with cloud sync. For a refresher on how our end-to-end encrypted cloud sync works, check out this page.

I’ll now dive into how we will use these background notifications to improve our cloud sync service. When a Banktivity cloud sync occurs on any device, our app will send a message to our server saying, “hey, I just pushed some new data up.” The other devices will then receive a background notification that says, “hey, if document ‘A’ is open, you should do a sync, because we just got notified that there are new changes waiting for you.” From a customer standpoint, all of this boils down to a better experience because it means that if you leave your document open, the next time you look at it, you’ll have the most recent data from the sync server. No need to do another network call and refresh. Boom! It will just be there.

There are some limitations with this. For example, if the app isn’t running, it won’t launch in the background and update. Or if you have push notifications disabled entirely, this obviously won’t work either.

Push notifications for a better subscription experience

When you rely on Banktivity to manage your finances, no one likes an interruption in service because of a subscription lapse. (However, I will point out that if you pay once and let your subscription lapse, the app keeps working in “manual mode”, just the connected services like bank downloads and cloud sync stop working.) We try hard to make sure that your account is in good standing if you plan on renewing. We send emails, update information in the app to indicate the state of your subscription. And now, we will also send a push notification letting you know if there is a problem.

With our push notification framework now built out, it will be easier to implement new notifications in the future. We haven’t committed to anymore now, but potential is high. What sort of notifications would you like to see arriving on your devices?

Document pruning

In my last post, I talked about a feature we want to build that will essentially allow you to slim down your existing Banktivity document. We haven’t started to dive into this code yet so I don’t have much to report except that we are still planning on implementing it for Banktivity 9.

Conclusions

I hope you all find this behind-the-scenes look at the development of Banktivity helpful and insightful. I’m getting pretty excited for our next release. We seem to be at the point in the development cycle when the last 20% feels like it is taking 80% of the time!

Hope you all have been having a nice summer (or if you are in the Southern Hemisphere, a nice winter!)

Follow IGG
Latest posts by Ian Gillespie (see all)

37 comments on “Let’s look at the reports

  • Thanks for the update. Looking forward to the new features especially reports on iOS. I primarily use the iPad version so that will be good to have. Gotta say, the iPad version has been very stable and performing nicely as of late… seems the “views” (and other) issues have been straightened out. Keep up the good work!

  • Thanks for the update Ian. I look forward to the more detailed reporting and scheduled transactions. However, I seriously wish that more was being done about all the DA2 issues. My primary financial institution has been unable to get connected for over 8 months now, and another used to work but now has serious problems. The only response I ever get is that the problems “are being worked on”. Does the connection team never attempt to remote to someone’s computer in order to experience the actual problem? At times, I don’t think there is a complete understanding of my issues.

    • Totally agreed with you Donna, I have so many issues with DA2 too. I constantly email Banktivity however my issues still haven’t been resolved (over 8 months too). I think the focus should be on stable connectivity for DA2

  • Looking good.

    I’d like to see things like account groups on iOS syncing from the macOS version. It would also be nice to have a bit more colour in the ledger & sidebar so scanning transactions/account balances is easier (eg. red for debits/negative, green for credits/positive). I see that deposits ARE green on the iOS version of Banktivity which is interesting.

    • Ditto would love to see more colour in the ledger as an option. I know the product wants to support colour-blind customers but an option would be the best compromise.

      Would like to see notifications of transactions posted in the background.

      Hoping for a calendar option that allows you to start the week on a Monday

      Hoping new scheduling will support first and last day of the month.

  • Per some earlier posts, I completely endorse the need for account groups syncing between MacOS and iOS.

    Also, the single most valuable improvement I can request – other than better syncing between MacOS and iOS – is the option of scheduling ‘Only Once’.

    • Yes, this should be simple (but perhaps not behind-the-scenes?) as you can already do this by creating a schedule and then setting it to ‘stop after 1 time’.

      But if that’s possible, this behaviour should be able to be implemented with a simple check box on the initial dialog box, without having to go into the scheduling ‘details’ page.

    • Bank connections are great when they work. When they break, they can become extremely frustrating. This is particularly true for banks that are still screen scraped (like USAA). In general, screen scraping is just an ugly technology fraught with errors and potentially poor data quality. Many banks are adopting an open API for apps like ours to connect. When they do this, the improvements are far and wide. Data quality improves, connectivity improves, it’s more secure – it really is a win-win for everyone involved. The problem is, USAA has not adopted and open API and we are stuck with the finicky screen scraping. We are continuing to work with Yodlee (the backend provider) to get our success rate improved when connecting to USAA, but it is often like whack-a-mole – they fix one thing, then next you know, USAA changes the website or starts blocking connections or there is a particular website configuration present for some customers, but not all and on and on.

      Please note, we don’t consider this “eye candy”. Our customers have wanted a more compact register view for many, many years and I’m really happy being able to deliver this.

      I understand your frustration with USAA we are continuing to work with Yodlee to improve the connection rate. I don’t have an ETA as it isn’t as simple as it works or doesn’t across the board. It is working for many customers, just not all, and trying to fix that long tail is slow and arduous.

  • Thank Ian for the update. As we close in on completing 2022, is there any reason to hope for the “report” feature to be available by the end of the year?

  • Hi Ian,

    Can you also please consider the archive feature for those closed accounts or accounts no longer in use but can’t be deleted due to transactions in the past? Not sure it’s the same thing like you mentioned regarding document pruning

    • This already exists doesn’t it?

      I go to Settings -> Accounts and then deselect the ‘Active’ checkbox for all those old ‘closed’ and ‘hidden’ accounts.

      They then are hidden from everywhere EXCEPT when using the FIND feature – which is exactly how I’d expect it to work. I don’t want to see them, but I might need to find a transaction in the past. Seems perfect to me.

    • In case helpful, I addressed this topic by creating Group ‘Closed’ under Accounts then dragging related accounts. This sought to declutter primary interface but also to retain legacy transaction data for reporting.

  • Unrelated to this blog….
    I have been trying to get to “LIVE CHAT” or even send an email regarding some support for my account. The buttons for CHAT are not active. Having trouble connecting to OPTUM Bank. Anyone there to help?

  • One very handy feature would be within the drop down of a selected transaction to be able to jump to the corresponding transaction in an internal transfer account. I do many transfers between accounts and being able to move between accounts and transactions seems a simple useful feature.

  • I just had to cancel my subscription because the syncing has been unusable for the last six months. How about spend some time on making that reliable? I’ve been using the app for over ten years and importing my data is much more important to me than anything else.

    • Hi Eric,

      I know you’ve been a customer for a long time, I appreciate that. Stings me to hear you canceled, but I understand. When you refer to “syncing” I assume you are referring to download transactions from your bank, aka “Direct Access”. This is one of the most challenging parts of our app because so much of the data is obtained via screen scraping which our backend provider manages. Screen scraping is a horrible technology fraught with connection errors and data quality issues. Many banks seem to understand this and our moving to Open Banking which offers a secure dedicated connection via a defined API. I don’t know which bank you have, but I’m almost certain it isn’t one of the banks that have moved to Open Banking because those work really well. One of the additional problems with screen scraping is sometimes the banks actively block the connections from our backend provider which make the process fail. I don’t know if this is happening with your bank (again, I don’t know which bank you use), but my guess is that is likely an underlying problem. If it isn’t that, and it is just a very small bank, we probably can push harder for our backend provider to provide a fix. If the bank is blocking them, are hands are pretty tied and there isn’t much we can do.

      Let me know if you have any other questions and I hope you continue to use Banktivity by importing files downloaded from your bank.

  • Hi. Thank you to the IGG Software team on developing a great, and improving, Banktivity product. Thought I’d add a feature request … Goals/Retire charting is interesting at a curiosity level but I’d be happy to pay $more for enhanced asset decumulation reporting/analytics. Nuances such as tax registered, tax deferred and non-taxed account status; or national/local income taxes; or withdrawal tactics may make output more meaningful.

  • I am having a problem running a report that will show all the items and just those items whether or not the transaction was split or not. For example, say I want to track my gas spending and maintenance spending for my car as well as total car expenses. So I set up two categories. Gas, and Maintenance.
    Transaction 1: I buy gas at a gas station for $40 and tie that transaction to Gas

    Transaction2: I do some shopping at Sam’s for groceries and while there, fill up the gas tank for $30. The total transaction is $100 so I enter the total transaction of $100 then split it into:
    Gas $30
    Groceries $70
    So, if those were the only transactions for the month my Gas transactions total $70 {$40 + $30}

    However, when I run a report selecting the category of gas it shows the total of ALL transactions that include Gas or, $140 ($40 from the first transaction plus $100 the TOTAL of the second transaction). Even though my total Gas transactions were only $70. ( I realize I can drill down in each transaction one at a time then add the up on a calculator but that would be very tedious when trying to get my total gas costs for a year.)

    I really need a category report that includes not only individual single category transactions but just the that selected category of split transactions

    • Hi Jeff, thanks for writing. I set up this example, one gas transaction for $40 and a split transaction that includes $30 Gas and $70 groceries. I see $70 for Gas in the Income and Spending Report and in the Category Report (Transaction by Category Report) and in the Category Detail report (The category detail report does show the “native transactions” at the bottom which shows the totals coming out of the accounts, but the summary information at top shows the correct total of $70). What am I missing here? What specific report are you looking at?

      • Thanks Ian, I didn’t realize that the “Spending Summary” totaled the amount for just the specific category I selected. Rather, I was looking in the Category Detail.

      • Hi Ian, This exchange with Geoff illustrates my request perfectly, grin, so I will make it here.

        There are no video’s in the training showing how and Why to use the reports to actually get the output a person might want. I desperately need training on this. I am not an accountant so although you obviously think reports are straight forward, they are not! It is hard to know what a report will produce and once its done it may not look like you imagined. Further more it is unknown whether missing transactions are not reported, or because you are using the wrong report, or the wrong tick boxes, or because of a mistake in the data.

  • Hi Ian, the new features sound great. And I love the return of the single line register; it just seems easier on my eyes to scan for the information I need, especially with the combined withdrawal/deposit column.

    You mentioned enhancements to Schedule Transactions, which is timely because I’ve noticed a significant limitation in the way this functionality works together with a budget. If I have a schedule transaction for some category, my budget will pick it up automatically to show the budgeted amount for that category, which is great. But if I have to change the amount of that scheduled transaction part way through the year, the budget treats the new amount as applying to the whole year, i.e. even to the months before I made the change. So if I look at the budget for an earlier month, it will now show the new amount in the budgeted column, which won’t make sense when assessing how I’m going through the year. Now this will be a common occurrence, e.g. a service provider lifts their charges, or I get a pay rise, etc. Actually, the new amount gets applied even to the year before, so previous budgets now paint a different picture too. I would have thought that Banktivity tracked when the change came in and applied the new amount only to the months after the change. I did ask your technical support, who suggested I create a new scheduled transaction for the new amount, and retire the old one by setting it to stop at the date of the change. There are a few problems with that. Firstly, I can see a long list of retired scheduled transactions accumulating in my list under Payees, Schedules & Rules, which will be impracticable to manage at some point. Secondly, retiring one is cumbersome, because in the current design, I have to count how many posts the end date is after I first set it up. Surely that could be made easier by allowing me to specify an end date? I think Banktivity should be smart and flexible enough to deal with ongoing changes to scheduled transactions without messing up the budget prior to the date of the change. Perhaps I’m missing something. Interested in your thoughts.

    Cheers, Frank

  • Please get the bank connectivity issue worked out. In addition we need an income and spending report by payee in addition to category type. The grahics are nice, when you do it by payee all you get is a table today that needs to be placed in excel to generate a chart.

    Thanks

  • Bank connectivity issues are a thing. For my many issues with Bank connectivity this post and comments is the first time that I have heard about some banks data being via screen scraping. Help desk people should perhaps specify if your problem Bank is forcing the use of screen scraping when they inform us it is being worked on. I have a containing issue with Kiwi Bank New Zealand currently. Interestingly Zero (online banking account package) is an NZ company and they use Yodlee also so they must have an direct API?

Leave a Reply to Jonathan Auerbach Cancel reply

Your email address will not be published. Required fields are marked *