The plan to fix Reconcile.ly
First red alert, getting a lay of the land and picking low hanging fruits ahead of improvements + growth
This week’s been the week!
Reconcilely reached $5.2k MRR and I finally got to think about fixing and improving the portfolio.
I’m too excited for introductions. Let’s jump right in!
The very first thing that bothered me recently was a deceleration in installs. I suspected that the recent App Store category changes might be at fault, and sure enough I was right.
Reconcilely was not listed on any categories anymore. At all. Which means all new installs only came from ranking search keywords.
Reconcilely had lost all of the organic juice from category pages, which clearly had an impact. A solvable problem, considering the ask would be fair and justified.
I went ahead and submitted a request to the App Store team to update the app’s categories, and since that change at the beginning of the month, things have started to accelerate once again.
I generally look for 20 new customers on a 30-day rolling basis based on the current rankings of the app. So it looks like we’re back on track.
Future acceleration will mostly be a factor of new reviews, which is a slow grind if you stay white hat.
Which I am.
With that out of the way, I was forced to deal with a more present and arguably urgent issue affecting devops for the tool.
It was the very first Red Alert moment I’ve experienced with the product and was able to extinguish the fire while benefiting from raw exposure.
Battle-hardened, the experience has made me more confident to manipulate the product further to perform as it should.
Here’s what happened:
Shopify regularly updates their API and thus deprecate past API versions.
In this case, it was decided that version 2019-10 of the API was going away, and developers (still) have until July 1st to update their webhooks to a newer version.
I’d been putting off doing that as I was busy buying, so as June came around, I finally got around to check into this yesterday.
This is a routine change — check the new API changes, see if any of my code uses any of the changed stuff, and if not, simply upgrade to the new version by updating my Heroku environment variables and Shopify app config.
When I checked into the admin dashboard, I noticed that the webhook error rate was close to 1%, which is huge considering Reconcilely intercepts tens of thousands of webhook events for its hundreds of customers.
I caught myself muttering “What the fucking fuck?”
That meant several hundred API errors. Not good!
Peeking into Heroku confirmed the bug had produced several hundred errors.
All hands on deck.
I noticed app response times were exploding, a sign that workers were failing altogether, potentially as a result of being overloaded by requests that were timing out.
Thankfully, I isolated the issue and found it belonged to a single merchant. Their Xero connection had been disconnected but the webhook middleware was still firing, causing the code to fail as variables were undefined and API calls timed out en masse.
By the hundreds.
I pushed a fix to the app’s main webhook endpoints to account for Xero disconnections and the problem disappeared.
Big sigh of relief!
And back up the rollercoaster goes.
As I start consolidating all of the tasks I’ve collected over the past months trying to stay focused on buying, I’ve took some time to divvy up that work based on lifecycle stage.
That has left me with approximately ten main Fixing projects to get myself into gear for product improvements and then, ultimately, focus only on growth and driving MRR.
Before I dove into the specifics of what and how to fix, I re-explored and defined the global Reconcilely opportunity, and why I’ve become progressively more bullish about it.
A unique, innovative value proposition
By and large, accounting isn’t really a place of great innovation.
One of the reasons why I got excited about Reconcilely is due to its unique consolidation technology which permits Shopify merchants to perform their payout reconciliation with a single click.
Previously, and to the present day, the vast majority of merchants face an interesting problem when comes the time to do basic bookkeeping of their online and offline activities.
Most ecommerce professionals use an accounting system like Xero or Quickbooks to keep a ledger of accounts, manage P&L and perform various accounting tasks connected to their online stores.
To get their transactional data into their accounting system like Xero, plugins on platforms like Shopify exist to transmit the orders to Xero automatically as they are created.
So far, nothing new. Nothing exciting.
While it is undeniably less work to have transactions imported automatically to Xero than to manually add them to the ledger, it doesn’t actually solve the pain of reconciliation.
Once transactions land into Xero, it’s then up to the merchant (or their accountant) to painstakingly assign each transaction to the appropriate account, taking stock of refunds, discounts, gift cards, multiple currencies and everything in between. One by one.
Where bookkeeping is concerned, the job to be done of the merchant is to consolidate all of the transactions in a given date range across each account so that its total amount matches the bank feed listing the payouts received from the selling platform (like Shopify).
If I receive a payout of $1,000 from Shopify, I have to account for which orders that were automatically sent to Xero are part of that payout one-by-one, and assign each transaction’s line items appropriately to my ledger accounts for taxable gross sales, refunds, discounts, tax-exempt sales, and so on.
It’s tough work, and it’s why we appreciate our accountants so much. And it’s also why so many accountants use Reconcilely.
As a growing number of marketplaces like Ebay, Amazon, Wal-Mart, Etsy and others began offering payouts to their merchants too, payout-based accounting continued to grow in popularity, and with it, the painstaking process of order reconciliation.
This is where Reconcilely’s value proposition comes in.
When I announced the acquisition of Reconcilely, I was amazed when a MicroAngel subscriber reached out about it. To my surprise, not only was he a Reconcilely customer, but he was Customer Number One at that!
I received an enthusiastic message that congratulated me on the acquisition and underlined the reason why he had asked and then collaborated with the seller to build Reconcilely in the first place:
Plugins that enable simple order synchronization fall short of the solution customers are really after, which is saving even more time and free themselves from their accounting tasks.
The average Reconcilely customer saves 20 hours per month that would have otherwise been wasted towards bookkeeping and mindlessly accounting transactions that could otherwise be automated.
While this creates the very value proposition upon which the app has been growing, it is incomplete in that the consolidation technology currently only applies to payout transactions on Shopify.
In other words, it only works for Shopify payments, since those are the only payments being included in Shopify payouts. It means that any orders coming from external gateways are sent directly to Xero, leading to the very problem the app is designed to ultimately solve.
While Reconcilely is “just a Shopify app” right now, the fact remains that something that reliably enables one-click reconciliation across marketplaces, payment processors and accounting platforms would be incredible financial technology with a huge range of potential strategic acquirers.
The thing is that I have a 2 year timeline for Reconcilely. I don’t want to arbitrarily force myself to exit a growing opportunity though, so I have to operate on the assumption that I won’t sell it, which is kind of a weird precursor to be starting operations from.
It’s a nice forcing function to tell myself I won’t sell because it will help me visualize things in the long-term and create a dual advantage:
(1) if I choose not to sell, I will have created a scalable opportunity to continue developing, whereas;
(2) I would have a very strong acquisition opportunity to present a potential acquirer were I to lay the foundation for the continued growth of the company, rather than selling a story of stability.
Which is why I owe it to both myself and the future acquirer to work on that foundation and actively pursue the potential of the company.
In other words, I have very little appetite to just Hold. This is a useful product that empowers hundreds of customers by answering a tangible pain a huge addressable market feels, from a b2b and b2c standpoint.
As an example, my wife runs a cloud-based accounting firm in Montreal. She serves a variety of SMBs and startups, and recently started developing a new revenue line focusing on ecommerce companies like Amazon FBA, Etsy or Shopify stores.
And now, she’s going to save herself a few employees’ worth by using Reconcilely to serve the customers who will hire her to perform the very reconciliation that Reconcilely helps automate.
Ecommerce Accounting Ecosystem
At first, I didn’t quite understand just how vast the vertical and horizontal expansion opportunities were with a product like Reconcilely.
Implicitly, Reconcilely is a Shopify app, but really, it’s a standalone product that integrates with Shopify.
Right now, you sign up by providing a Shopify store URL, but that could well be reorganized into customer settings in favor of using a more generic authentication system to create a standalone experience and more naturally support other marketplaces such as Amazon, Ebay and so on.
To understand how much there is to build and innovate upon, it’s useful to deconstruct the ecommerce accounting ecosystem into a stack of 3 important sections:
These are the destinations upon which transactions take place with the end consumer, whether that be Shopify, Amazon, Ebay and otherwise.
Presently, Reconcilely supports only Shopify. There exists an enormous market awaiting the app were it to serve the other marketplaces with its one-click reconciliation tech.
The implicit advantage of marketplaces is that you can serve the customer with a wide variety of choices when it comes to paying for goods and services.
While Shopify offers its own native payment processor, it also integrates with literally hundreds of others, from Apple Pay to PayPal to Point of Sale payments to financing instruments like Klarna, Afterpay, Laybuy and so on.
Each of these processors have unique fee structures and mechanisms by which refunds, taxes and currency exchange rates are handled.
Right now, Reconcilely is able to send orders from any of those processors to Xero as the order is created on Shopify, but reconciliation would require some next-level improvements to extend how consolidation and account mappings are used to accomplish a similar outcome for each payment processor.
This is pretty technical stuff, and I’m liable to rely on the wise counsel of my wife to appropriately tailor the product to enable best practices without sacrificing user experience.
The data provided by payment processors is crucial to consolidate orders and organize them properly into the eventual accounting ledger
In the end, what lands in the bank account will dictate what kind of consolidation process you’ll be forced to deal with.
The orders created on Xero must account for the amounts shown in your bank feeds.
In the case of payouts, the challenge is that the bank feed shows one big amount, but the integration sync has sent multiple orders separately and it’s up to you to figure out how to account for which orders belong to which payouts and making the numbers match up.
In the case of direct orders, the challenge is that the bank shows several small amounts across time, and you need to keep track of which transaction matches against which order.
All in all, each element in the stack is important but that importance varies based on the starting marketplace.
Marketplaces like Amazon let you withdraw funds you’ve earned by selling on their platform, but the amount of payment processors may not be as diverse as present in Shopify, if at all.
That means each marketplace has its own unique combination of payment processors to support, and that support must persist across all accounting systems supported by Reconcilely.
This high-level overview of the ecosystem and how things come together was key to understand the greater opportunity and explain how incumbents like A2X have managed to produce such large ARPUs over many thousands of customers.
Upcoming Fixes to support Improvements
I’m a believer in doing the hard things first so everything else can compound out of that effort.
As someone focused on fixing broken systems, improving product and growing MRR, I need accurate and reliable means from which to iterate and improve the product or the processes by which the product grows.
That defines a set of requirements at the start of the journey, the absence of which might cause blockages in the future or eventual show-stoppers as we may run out of explanations for why things will go the way they will.
I recently shared on Twitter what I think the most pressing stuff to focus on is so I can have a decent chance to see the results of my product improvements later on.
Here’s a sneak peek:
And I’ll close out the Fixing phase with a cost review and some negotiation on any costs we have that can be annualized and therefore discounted.
I’ll dive into the specifics next post, as I begin defining the specs to help me execute. Feel free to AMA below for any details!
Speaking of which, I had hoped to wrap up Fixing on-time by end of July 2021.
But you know I need a vacation.
I think I’ll take off sometime in July and then encroach into the entire month of August to finish the Fixing phase up and afford myself a couple weeks off in the sun in between.
This opens the possibility to build a relationship with a few part-time individuals who might be available for any engineering red alerts and to hold the fort on the live support.
Created an Upwork listing for a first customer success hire that may end up being shared between both portfolio products, with an immediate focus on handing off frontline support so I can focus on fixing, improving and growing.
Product 2 Fixes
I’m not quite ready to announce the next acquisition with some small delays on the sellers side, but it’s worth going over the plan there too, at least at a high level.
Similar to Reconcilely, the bulk of the growth opportunities for Product 2 is locked behind product integrations that radically elevate the value proposition, and represent a large majority of the product work involved.
That said, it does have a gap in the way the software is sold as it transitions away from an MVP state and towards something more reliable upon which the next phase of growth can kick-off.
That gap is comprised of several items that made me feel uncomfortable about a purchase unless the sellers could commit to delivering the missing functionality needed to get the product ready for further improvements and then growth.
In short, part of the pending agreement is an attached freelance contract that pays one-time bounties for 8-9 deliverables that will have to be production-ready by a specific date that works out well with the transition of the fund from Fixing to Improving.
That will be another interesting financial instrument I’m looking forward to describing when the announcement post comes up soon after the acquisition goes through.
Until then, I’m diving into these fixes and getting to know the Reconcilely code some more before starting to attack each of them on the daily.
Moving in 10 days which is a huge relief and going to have a profound impact on my ability to focus and produce my work more consistently.
This is going to be awesome!
Alright, wish me luck, and talk soon!1