G'Day! I'm Michael, a founder from down under (Australia). I used to run a more traditional (slow growth) business until I sold up and started using my learnings to build faster growth businesses. For the past seven-ish years I've been working with a co-founder (my oldest friend in life) to create companies that are fun and exciting to build.
Together we have a couple that are a bit more serious called LeadChat and PoweredLocal. Like many indie hackers, we kicked off a few side hustles that were born out of roadblocks we ran into while chasing success. We realized that no one else was solving them, at least in a way that made sense to us, so we gave it a shot.
Bankfeeds.io solves the tear-your-hair-out limitation of turning all successful Stripe transactions (sales, fees, refunds, transfers, etc) into a feed that resembles a bank account in Xero.com — similar how you see "real" bank accounts and Yodlee feeds.
It's a simple low fee SaaS that's currently bringing in around $1,800 USD a month with a split of free (low use) and paid users.
We were working on a sizable eCommerce business and using both Stripe and Paypal as payment options. We had a feed of PayPal as a bank account in Xero, but the reconciliation of Stripe sales was an absolute nightmare.
We were processing around 2,000 orders a day, in a foreign currency. So we had 2,000 sales, 2,000 fees, one bank transfer, and a handful of refunds everyday — but all we ever saw in Xero was a batch bulk amount hitting our bank account each day. To make things worse, that lump sum was from (at the time) seven days earlier, had fees that included a deductible tax, and had some sales that included a tax and others that did not. We had no real way of reconciling it, which created a huge problem. After each lump sum deposit, we ran one big accounting rule and then spent a few hours every three months doing exports, imports, splitting, summing, and more. You get the idea.
I remember Googling for solutions in December 2014 and finding nothing. At this point, I decided that we needed to build a solution, but didn't act on it. In January or February 2015 I actually came across a solution. It was okay. I think I must have been one of their first 10 users and was probably their largest transacting customer by a significant magnitude.
But there was something that bugged me. There was no real way to make a true bank feed with statement lines via the API. So this app used (presumably) a bot to login to Xero and upload data. It broke all the time, any small UX update from Xero would break it. But it was the security risk that bothered me the most. They were storing full access to all these Xero accounts in one user. But it did work and reduced a few hours down to about two hours a month (it still needed allocations and bug checking).
So I sat on my idea for a year. Until I stumbled upon a Github repo of someone who had the same problems and had built a tool to solve it for themselves. I reached out to him and suggested that we build it out and commercialize it. I promised to be the first five customers, as we had that many businesses and side-hustles at the time, and could rigorously test it with our transaction volume.
The first thing we did as co-founders was build a pre-sales landing page to gauge interest. We tied it to discount year-up-front plan for when we launched. From this, we generated around 30 sign-ups that sent some money to the bank.
Validation.
I like to think I have reasonably good skill at understanding user flow and sensible UX. Luckily, I am also familiar with Xero.com and Stripe.com, and generally know what a business looks like when it is dealing with thousands of transactions a day.
I drew up a technical wire-frame — the flow of what happens when someone clicks that sign-up button, from the user's perspective. One of our awesome founders, who was in charge of development, was great at connecting the dots and envisioning the thousands of nuances of how everything needs to work in order to build the framework.
Everyone was remote, so we managed the whole thing (and still do) with Trello. We only spent a few dollars here and there on domains and themes, well under $1k to kick it all off.
We do have something, though, which should not be taken for granted: pre-existing businesses with frameworks and experience. It is easier for us to spin things up, register, assign, etc., as we have had years of experience. It took the developer about about two months of part-time work to get from ground zero to a product ready for Xero to approve with their API.
This is where things got stuck. I'm a big fan of Xero, but the "Developer Evangelist" that was there at the time was a real piece of work. So, at least back then, the way it worked was you submitted a whole bunch of technical and general details to Xero, and they gave you a developer API to build on. Once built, you had to provide the developer evangelists with access to login, look at the app, and approve you for the production API. Basically, check that what you built was in line with what you said you were going to develop.
We knew this was a 10-minute job, at most. We spent three months trying to get this guy — who kept saying he was too busy to look at it — to log in to the demo account and give it a once over. Eventually, we decided to leverage a business relationship we had knew we had in common. We had a recruiter we were using in another business reach out to the developer evangelist because we knew he already had a professional relationship with him. About 15 minutes after they made contact, our app was approved.
This whole experience was pretty deflating. After the initial excitement of creation, initiation, and magnificent development, we had slogged through a three month period where we thought we'd all just wasted our time since one single person at a large company was playing gatekeeper, and was using his ego to control our fate.
Forums, posts, and some targeted emails. Then nothing… just SEO.
I think because it's a relatively small side-hustle we have not done all that much. We should, but have not. We know that we solve a huge problem, which means that people naturally search for our solution.
We did try some targeted outbound email to accountants a while back. Humorously, we emailed an ex-accountant of ours from New Zealand who had started working at Xero. Not realizing the connection, they reported us to Xero as spam. A Xero rep put us through the ringer, threatened to shut us down, etc. He demanded we give them lists of every sign-up and contact record we had. It was sort of mind boggling. Again, a time for us to ask what the hell was going on with the world and whether this was really worth it. We told him we were not willing to breach the privacy of our users and sign-ups, and were somewhat shocked at his attitude and demands.
This guy took a report to his manager in order to get us shut down. Luckily for us, cooler heads prevailed. His manager reached out, congratulated us for our success, and asked the Xero rep to do everything in his power to support us.
We were shocked, but hey — finally, we found a champion.
We ended up getting invitations to Xerocon and offers of promotion assistance from Xero. It turned out that this senior manager was focussed on the business goals, and recognized that we had solve a big feature request for Xero and Stripe users in an intelligent way, which was proven by the active user base we had established on our application.
It was a breath of fresh air to finally come across someone who was a critical thinker, someone that understood the goals of the division — to improve the product with third party app partners — and was not merely a "no" person or a power hungry evangelist.
Hope I don't get in trouble for writing the above!
We aim for very low-touch.
From our own experience, we know some fundamental truths:
With this in mind, we built in a free trial for a user's first 100 transactions, which can last an hour or years depending on the user. The first thing you do is sign-up at app.bankfeeds.io/signup. You then get taken through the steps to connect to Stripe and Xero, setup your default settings, and then ideally never log in to our application ever again (except to upgrade from free to paid).
There was one killer feature we built that has the greatest impact on revenue: a tool to import historical data.
When we launched, we had a bunch of support requests for importing historical data, so we built a tool to meet the need. What this meant, though, was that those first free 100 transactions get used very quickly as historical transactions counted towards that total, and a user typically upgrades to the paid version.
Around 30% of paying customers go from trial to paid in two hours. Another 60% do it over the next two months.
Here are a couple quick screenshots from slack where we track sales — you can see how fast they go from signing up for a free trial to paying us actual money.
The aim is to reduce human contact hours, and to build a tool that the user needs only to log in to once in order to connect it everything. The dream is a zero-touch side hustle, or as close to that as we can get.
Consequently, I prioritize automation — we use tools to automate notifications as much as we can. If someone emails into support, it means we have failed to communicate something, or are lacking an important feature.
We're continually tracking feature requests. Once we see enough requests for a feature, we push it into the pipeline.
I've mentioned them earlier, but it was telling how difficult it was to work with Xero. I think it speaks to the adage of not building on someone else's platform.
While other pre-existing platforms are challenging to avoid these days, it's crucial to consider that someone else wields an axe that can cut you down at any moment, for any reason, or none at all. Stripe has a much better process for evaluating and working with developers, and I think that Indie Hackers is a perfect example of this relationship.
I suspect there are necessary and important conversations here around the significance of the developer and partner community, or that there is at least an understanding that developers are a core component of expansion and growth, whereas some other businesses are not built with a developer-first ethos in mind.
Unless I knew someone senior in Xero, I would never build an app on their platform again.
The problem I was solving was my problem.
I have (and had) a company running thousands of transactions a day, and used Stripe and Xero. I was in the perfect position to build the bankfeeds.io product because I had a deep knowledge of not just the problem, but also the solution I was working towards.
You need to understand the problem if you want to understand what the market needs.
If there are developer overlords that can pull your app at any moment, then really consider what you are getting yourself into. If that's the road you're looking down, it might be wise to invest more time and money into befriending the Evangelists than building your product.
Otherwise, look at companies like Stripe, Github, Zapier, Heroku, Twilio, Atlassian and others of this same developer-first mentality. They are more likely to understand and respect third party developers and applications, as they understand that their user base grows because of this.
Once you have your idea, validate it. Get some people to pay before you have the product. Once you have one person (besides yourself), you know there is a need. Once you have a few, you know there is a market.
You can find me on @michaeljankie or email me on michael at bankfeeds dot io.
Want to know more about the product? Check it out for free at bankfeeds.io. If you do sign-up and hit the paid tier, hit me up once you hit your first month and I'll add a couple of months free after that, just mention this post.
Great article, thanks for recounting your experiences with such intimacy. Many of your challenges along the way resonated with me. "If someone emails into support, it means we have failed to communicate something, or are lacking an important feature." Really, useful anchoring principal .
Thanks for the feedback Ciaran. This stuff should be easy, but it's the balance of sell before you build and then sprint to build once you have sold!
Finding part of a good system that is broken, and fixing it, is exactly how building a usefull buisness works.
Thanks!
I believe I used you guys with Chocolab before I made the move to QuickBooks Online. You could probably make 100 more businesses out of improving the stuff Xero does poorly (by the time you would be done you may as well just build a new Xero). I’ll never understand why Xero is so big here and raved about for such poor, unfriendly and unautomated software.
I actually love Xero! In a past life (& business) we used another non-cloud package and I literally did not understand the numbers or accounts. When I moved into Xero, I had a handle on it all, on a day-to-day basis.
I think it's because they made bookkeeping accessible to non-accountants or bookkeepers.
I found quite the opposite, the ability to connect and automate things was outstanding.
Now, in saying all this, I have not even explored any of the others like QuickBooks or even Zoho books - I just assumed the automation like there are in Xero do not exist.
I actually just presume that most startups and indie hackers use Xero too.
I think one of the issues I have is I first started bookkeeping in Xero, where a lot of people came from doing things completely manually so it was a huge improvement for them. Xero really struggled in a few areas for me:
1 - Reconciling thousands of transactions quickly - There was no real way to do this easily, I ended up using the Cash coding view (when I finally discovered it by making myself an 'accountant') however I still had to manually click through each page to confirm the transactions there that I set up rules for, I ended up writing a quick javascript web plugin to do this for me. I then eventually exported to a csv did my work there and then reimported. (Quickbooks is far better here)
2 - I never understood why so much manual work was required for me to do what is very simple book keeping.
3 - It is extremely difficult to handle Paypal payments, even without making payments from your own account.
4 - Why it doesn't have better integration with Paypal, Stripe etc I really don't understand. I mean the fact you had to build Bankfeeds.io I find odd, given Stripe is one of the biggest payment platforms in the world, yet Xero has no easy way of dealing with it's fees?
5 - My use case isn't really that complicated, I'm an ecommerce business where every single transaction is digital. It really would not be a very complex task to have bookkeeping almost 100% automated, at least for customer payments (and there fees) and recurring expenses.
Quickbooks Online doesn't really do all that much better to be honest, except it is cheaper and has far better integration with payment platforms. Xero left me with the feeling that, given a few weeks, I could very easily automate my bookkeeping myself with google docs, a few apis and some Javascript.
Xero gives me the feeling it is 5 years behind the rest of the tech world.
I really do feel like I am missing something here.
Cash coding was also a wonder when I found it too! we had this eCommerce business and hired a bookeeper that spent hours everyday pressing OK! to match transactions. Then I stumbled on cash coding!
Re integrations, Stripe, in strict technical/accounting terms, is not a bank account and should not be a bank account. It would be like saying your eftpos terminal in a cafe is a bank account.
But we all want to use it inside xero as if it was. So that is why we built bankfeeds.io
I think you are right though, Xero took accounting packages into this century and it took a while and some large piles of cash, but the others are gaining.
Nice! Just had a look at LeadChat and I'm curious to know if you actually provide a virtual agent as a service along with the live chat widget?
Yeah! but by virtual agent, they are real people :) that business model is a blend of technology and humans. The technology is delivering smart insights and potential answers to human agents in real-time. The human part is a centre of chat agents to achieve 24/7 coverage with near instant customer onboarding. Reach out to me at michael at leadchat dot com if you want me to intro you to one of the guys that can demo it for you.
Yup that's what I thought. That's a pretty good way of diversifying the revenue stream while providing added value in a highly crowded space! Cheers!
Cool business! Certainly would help me if I used Stripe+Xero. We use Recurly+Stripe and need a DATEV (german tax format) export and built our own solution for this right now.
9$ seems like a no-brainer for me, no wonder customers are buying immediately after testing it. If you save a few hours every month on a task that most people would consider extremely annoying (bookkeeping) then they would certainly pay more for this. Have you experimented with higher prices?
ProfitWell has a product doing "Complete end-of-month books in 1-click." generating GAAP metrics and charge 1000$ / month.
Do you use Xero for accounting? Recurly+Stripe, Zoho+Stripe, Magento+Stripe, etc is all fine - as long as it's also Xero :)
No, we use DATEV UnternehmenOnline for accounting. Its a german company that most tax consultants here use.
Thank you article, it is quite enlightening how dangerous it is to build on a developer hostile platform. Congrats, that you still pulled it off! One discrepancy I have noticed: is it 16k per month or 1.8k?
Good luck!
Same question, that's a big difference lol. Admirable business nonetheless!
Definitely more like $1.8k to $1.9k! maybe one day it will be $16k!
This comment was deleted 7 years ago
Nice article Michael, easy to digest. Do you think that Xero->Stripe reporting market is big enough to make this a viable business?
Hey @BartBoch, thanks for your kind words.
On a gut feel, Yes - our total addressable market (TAM) is users of Stripe and Xero less the Xero users who send and want invoices paid through Xero. Not reporting, but jsut simple accounting.
But I guess a question is what is a viable business? We bring in more than we spend at the moment, but don't pay ourselves. We'd need to probably quadruple in size to start being a viable business, if viable means paying ourselves the average wage here in Australia for time spent.