Changelog

Insights
The dashboard got a round of spring (summer?) cleaning ☀️. You can now hover over each bar in the cash flow charts to see how much cash in or out there was that day. 🕵️♀️
Asset Register
When creating and editing assets you can now set the value of those assets right there, and the relevant expenses will be created, linked or updated.
Tag income with a customer
Sometimes you just want to tag income with a specific customer, rather than create an invoice and add payments. You can do this now, and it makes customer reporting and record keeping really easy.
Improvements
- Customers: customer lists got a splash of colour. This makes it waaaay easier to pick out the customer you're looking for in a list.
- Supplier: supplier lists also got this splash of colour.
- Business: now you can update your business email address, and it can be something different to your profile email address. Useful if you have an info or billing email address for your business.
- Profile: we now verify all email addresses with an OTP when you sign up to stub. 🥷
- Invoices: you can now pay any invoice with installments, and we'll calculate the installment amount for you. Like we always say, whipping out a calculator is not a vibe.
Fixes
- Bank accounts: we fixed an error where bank accounts containing spaces caused some problems for payments.
- Data: fixed an issue where some cached data wasn't stored correctly, and could sometimes show up when it was out of date.

Delivery Notes
Before now you could sell the thing.
Now you can sell the thing, pick the thing, pack the thing and deliver the thing. 📦 Shout out to Vicky for bugging us to get this done. 🪲🦗
Custom Profit & Loss
Customize the categories on your income statement. Head to your chart of accounts, select any expense category and add it to the Cost of Sales section, or any income category and add it to the Primary Income section.
You can roll as many revenue streams as your hustle can handle. ✌️ Thanks for the nudge Greig!
Opening bank balance
Set an opening balance at any time from the bank recon section now. Simply select "Edit balance" and enter the amount and a date. We'll calculate the opening balance based on the data that you have, so you don't need to get out a calculator. Calculators are not a vibe. 🧮
Improvements
Chart of accounts: Your chart of accounts will be automatically cleaned up when you delete a bank account or loan now. 🧹
General Ledger: Sometimes it's possible to get an entry on your GL that is not balanced (😱) (it's usually from a third-party data source). Now stub will ignore those and warn you when this occurs. That way your balance sheet will always, erm, balance.
Statements: You can now export your customer and supplier statements in CSV format, as well as PDF. We 💚 you Excel warriors out there.
Statements: We now show the running balance for each line item included on customer and supplier statements - not just the total at the end. Some of you have soooo many items on your statements, that this was not an improvement so much as a requirement... 😬
Fixes
Bank accounts: Sometimes when you connect a bank account, the bank only provides us with a masked bank account number ("xxxx xxxx 1234"). stub now shows an error you if you try to add that account to an invoice, or receive a payment into it. Technology feels magical sometimes, but even we cannot guess your bank account number with any real hope of being right. 😉
Invoices: Fixed an issue where having multiple tabs open might have slowed data syncing down when editing an invoice.
Data: Fixed an issue where some analytics events were not being handled correctly, and you may have seen an error in the console.
Invoices: Fixed an error where the "from" and "to" labels were muddled up on invoices.
Retained earnings: Fixed a bug where the detail of a retained earnings entry was not showing correctly on the General Ledger.
Data: Fixed an obscure edge case where multiple tabs or windows were not syncing data correctly because of a random special character in a prefix of a unique ID in a 3rd party service that we use... Yes, you really don't have to worry or care about this. But if you got this far and you're still reading, then you — seriously — YOU are the real hero here. 🫶

Purchase orders
Purchase orders are here 📦 Because “I think we ordered that?” is not a business strategy... Now you can lock in what you’re buying from your suppliers before the invoice surprise party begins.
Btw, this li’l guy comes with supplier statements, bills, and debit notes because, well, sometimes you’re gonna need those too.
Bank Recon
Now you can see your bank balances as you go, and make sure that everything reconciles along the way. This should make it easier to pick up if you have any sneaky duplicated or missing transactions. Easy peasy.
Improvements
Products, services and items: Add multiple products or services at a time to your sales and purchases. We're all about improving life for you serial sellers. 👀
Select all income/expense: yeah, it's now on the left above income and expenses. We're not sure why it wasn't there in the first place. 🤷♀️
Update bank account names: When you change a bank account your chart of accounts will also be updated to reflect the bank account details change. This one’s for you, David.
Get stub on your phone: Soooo many of you have been asking how to get stub on your phone, so we made a shortcut → www.stub.africa/download
Dashboard: The dashboard received a glow-up (with a side of lip filler). A spring clean just in time for summer. There's a little more color, some bold text, and a few other nips and tucks. 💅
Fixes
12-month financial reports: Now you can compare you data for up to 12 months. We also added a "total" column because reaching for a calculator is not a vibe.
Settling invoices: You can now settle an invoice into any category you like, which will post a loss or gain to the account of your choice... “Forex gain”? “Write offs”? ”Billing oopsies”? Erm, sure.
Apps page
The stub marketing site got a fancy new page (oooooh 💅) called "apps". Here, you'll find all the connected tools (bank accounts, payment providers, sales tools, and services you already use) that you can link up to stub. You can also request new ones that you'd like. Hit us up. We're listening.

Financial year
You will now see a warning if you try to edit data from a financial year in the past. ☝️
Inclusive/Exclusive VAT
When you create a product and add it to an invoice you can decide whether VAT should be added to the price you specify or included in it. Erm? What? Huh? Look. If you know, you know. 🤙
Bank Recon
See your bank balances and unreconciled transactions way more easily. This will roll out slowly over the next 2 weeks.
Improvements
Quotes: You can now mark quotes as accepted or rejected. Cos sure, that sometimes happens. This one’s for you, Lebogang and Kiara!
Password show/hide toggle: We've given you an extra set of eyes when typing your password to log in. Toggle it to see what you typy typed. Useful if you're in the habit of sipping your coffee while typing your password. #hustle
Multi-currency invoices: If you add a product in a different currency to an invoice, you'll now get a warning and option to change the currency of said invoice. Don't accidentally charge R10 when you should be collecting $10... 🤑
Currency localisation: Whenever you see a currency amount in stub it will now be localized using your current device settings. Eh, what the... who cares? Well, what this really means is that everything will still work fine while you're on the beach in Barbados. 🍹
Filter by bank accounts: You can easily filter income and expenses by bank accounts, because some of you have a got a loooooooot (seriously!) of transactions in a few bank accounts. We got you.
Fixes
Dark/light mode: Fixed a bug where sometimes the light mode would flash on before dark mode, depending on your system theme settings.
Standardized typography: The guide, changelog and blog got overhauled so that they use a standard set of styles and themes.
Guide presentation: When a guide article was first loaded it would sometimes do a crazy layout thing that looked like... Nvm, it's fixed.
Rounding off when splitting transactions: Sometimes this would show too many decimal places and not work clearly. It's been fixed.
Pro-Forma Invoices
We always knew we'd get to the point of needing pro-forma invoices. We just didn't think it would come so soon. Drumroll... one of our customers really needed it. So we made it happen (obvs).
Think invoice in dress rehearsal mode. Looks like the real deal, smells like the real deal, but it’s not asking for payment (yet). That's what a pro forma invoice is. It holds a little more weight than a quote but doesn't have the binding terms of an invoice.
Murray, thanks for your patience. This one's all yours.

Improvements
Product Insights on Reports: You can now see your sales at a product level and compare month-on-month performance. Check out your products that are selling like hotcakes (we remembered, you sell hotcakes). Inventory peeps, this one's for you.
Bulk Edit + Delete Transactions: Finally! Edit, categorise, tag, or delete multiple transactions in one go. Saving you time (pew pew). The thing every entrepreneur needs more of. Dolan, this one’s for you.
Book a Demo: We've added a "book a demo" button to our sign-up journey. For all the entrepreneurs who have commitment icks to dive straight in. Slide into our inboxes and let's have a chit chat.
Fixes
Rounding Error on Discounts: A rounding error was picked up when you applied a certain discount to an invoice. This has now been fixed! Emrhys, this one's for you.
Quote Title on Email: A small bug appeared, showing a "quote" title on email as "invoice". Whoopsie. This has now been fixed, thanks to Klara.
Invoice Totals: A weird scenario was picked up where invoice items weren't adding up correctly, affecting the total invoice amount. This has been solved. Thank you, Inez.
CSV Upload
Bringing your money moves into stub just got a whole lot easier.
We've just built CSV upload to make switching to stub way smoother. We realised, very quickly, that connecting your bank account to stub wasn't enough, and we needed to provide an alternative way for you to bring in income and expense data. Especially because your first bank sync with stub only goes back three months (entrepreneur tilts head: "But I've been making bank for years").
The big win: Now you can take control of your finances without waiting on bank feeds or worrying about missing data. Every cent counts, so uploading all your past transactions means you'll now be able to get a full history of your finances in one place. Your accounting, your timeline.
You'll find it in the income and expense sections of stub, click on the three dots next to "Sync" on the right-hand side, and choose "Import".
CSV upload really completes the picture for you. Leesette, this one's for you!

A whole new website
We've been speaking about giving our marketing site a facelift for a while. And it finally made its way into priority. Except it didn't just get a facelift. It got a complete makeover.
You'll see a bunch of new images and some rad accounting puns, if we may say so ourselves ("Nice assets. Mind if we track them?").
If you have something to say about stub, send it through to us, and we'll add it to our wall of stub love 💜

Improvements
Better spaced invoice layouts: We've created a bit more space between cellphone number and email address on your invoice layout. Sometimes it looked like the size of your cellphone numbers was different from the size of your email address letters — we've now fixed that for you. Thanks, Litha!
Categorising transactions: We added keyboard shortcuts for categorising income and expense transactions. You can now use arrows freely up and down the list of categories. To all our keyboard warriors, this one's for you.
Reports: We've added some flair to a few of our reports. You'll now see a mini chart in the top right-hand corner of your sales, expenses, P&L, and cash flow reports.
Cleaning the house: This cycle was about grabbing a broom and sweeping the floors so that everything looks great when the guests(customers) come over.
Network optimising: We all know that mobile data is expensive. And with so many businesses operating from smartphones, it's essential that we use as little data as possible. We've worked on slimming down how much gets served over, as you stub away.
Fixes
Assets: Your assets now sort alphabetically in your asset register. (OCD fist bump).
Inventory: Sometimes, products had incorrect stock balances to begin with. When adding t-shirts for the first time, stub might have told you that you already had some. That would be nice... stub is magical, but, well, not like that. This has been fixed. Thank you, Jodi.
Introducing inventory
Over the last couple of cycles, we’ve been chipping away at a big feature that changes the game. And we can finally share it with you.
If you sell physical products — think candles, kicks, or crafts — you’ve probably been tracking stock in your head (or worse, in a spreadsheet). Now, you don’t have to.
You'll now be able to:
- Track stock levels per variant (e.g., sizes, colors, styles, etc.)
- See how much stock you have left in real time
- Track where your stock is going (sold, received, lost, broken - you tag it, we track it)
It works seamlessly with invoices and your product links in stub, you sell, we decrease that stock level for you.
We’ve kept it simple - because that’s the whole point of stub. (Also, if you’re tracking stock with a scanner in a big warehouse, this one's not for you; you stay where you are).
We’re just getting started: next up, we’ll bring in purchase orders, COGS tracking, and low-stock alerts. But for now, go forth and organise those shelves.

Improvements
Infrastructure improvements: Updates have been made to our infrastructure to handle bigger businesses. This makes our ability to handle big batches of data easier to keep stub its speedy self (500 sales a day, we've got you).
Observability: We keep cleaning our shades, making sure nothing can happen without us being on top of it.
Fixes
Interaccount transfers: No more accounting handstands to make sure your interaccount transfers reconcile correctly. We fixed this by creating a transfer category (easy as pie). This one’s for you, Manon!
Capitec sync: A sneaky bug stopped some bank syncs from triggering correctly. We found the culprit and synced it back up (sprays Doom on bug).
Categorise income & expenses easily
We've added a quick link to all your uncategorised income and expenses so you can find them faster (no more hide and seek to find that one uncategorised expense buried 5 months ago).
Improvements
Loans: You can now add a loan when you are categorising your income and expenses. Easy peasy. No more adding loans and then matching back.
The Auto-Categoriser: A few shoutouts to the customers who helped us improve this feature:
- Once you have categorised 10 transactions, the experience now favours you to keep categorising with the "Review more" button now being green, and the one you want to click. Thank you, Plant The Seed.
- We've surfaced the reviewer on the expense dashboard, so you can get to it at any point in time. Thank you, Inala Software.
Fixes
Retained earnings: We fixed a bug that was impacting retained earnings on future dates (not many entrepreneurs would've spotted this because who looks at retained earnings for the future?).
Insights: We've done a bunch around the speed of insights across stub, they feel a whole lot faster now.
Transactions: The filter was not filtering on filter by bank in the transactions section. This is now fixed, too. Thanks Deon!
The Pricing Insight: When using the pricing insight for 2 products, one after the next, stub seemed to save the text from the first product instead of clearing for the new search. This has been fixed. (Whoop whoop, Nica).
Reviewing the auto-categoriser
This cycle, we took a closer look at how our auto-categoriser works alongside bank sync to sort your income and expenses into the right categories automatically.
Here’s the gist: stub looks at the reference on your bank transactions and decides which category they belong to. So if you filled up at Sasol, we’ll pop that into "Fuel" for you. But we know you guys are full of surprises; some of you are buying lunch from Checkers, others are picking up printers. That’s where things get tricky.
Previously, stub might’ve seen “Checkers” and assumed it was "Meals & Entertainment", missing that it could’ve been "Office supplies" or "Personal Expenses". It was time to tighten things up.
So we made stub smarter. We’ve introduced what we call the Autocat Reviewer (we haven't been calling it this, but it needed a bold name for its spot on the change log). When stub sees a new transaction, or a batch of similar ones, we’ll ask you to take a quick look, confirm the category, and we’ll remember it for next time.
If we’ve guessed wrong, please correct it. (Seriously. Please).
This makes categorising faster, easier, and more accurate. Exactly what you need.

Improvements
Personal income and expense transactions: We’ve learnt that personal transactions in your business’s financials are a reality. Sometimes we mix and match, and that’s okay. You can now categorize personal transactions, and they will be allocated correctly to your personal drawings account (more on this, coming soon).
Transactions: You can now filter your transactions by bank account in the transaction report, making them a lot easier to sort through.
Apps section: We've improved the way you can manage your connected apps in stub. No biggie, just better.
Insights: We've improved the speed of stub insights, so your insights dashy should feel quicker. Pow pow.
Fixes
Dark Mode: When clicking on links in the stub guide with dark mode enabled, stub changed to light mode (think disco disco). This has now been fixed.
Invoicing:
- Sending invoices to multiple email addresses: You may not have figured out this trick in stub yet, but for those who have, they quickly let us know it no longer works. So we added it back.
- Downloading your invoice as a PDF now reflects all the recent changes that we made to invoices in the last cycle, this includes ordering your products and services the way you’d like (you do you, boo).
Reports: The date filtering in reports has been fixed based on selected timeframes (filter how you’d like).