View profile

[MSM #8] Deal Breakdown: WP Pusher and Branch

Keanan Koppenhaver
Keanan Koppenhaver
Traditionally these mid-month issues have been more in-depth write-ups around a specific topic as opposed to the shorter sections found in the monthly summaries and today’s is no exception.
I’ll be breaking down a recent acquisition from start to finish. This is definitely a long post, so you might want to read it in your browser. As always, hit reply or jump in my Twitter DMs and I’ll be happy to answer any questions!

Where it all began...
After completing the acquisition of Kanban for WordPress in April, I was looking forward to running the business, making some of the improvements we had targeted and getting involved in the broader Micro-SaaS community across the web.
However, just a couple weeks later, I was tagged in the replies to a very vague tweet from Peter Suhm.
Peter Suhm
Who’s buying WordPress plugin businesses these days (at mid 5 digit ARR level)?
I had gotten to know Peter a few months before when he was doing outreach for Branch and I was very curious as to what he might be up to. I replied and didn’t have to wait long for him to reach out.
He said he was “looking to sell WP Pusher, and if it’s interesting to the buyer, Branch as well” so he could focus on his new startup, Reform. Because Reform was taking up more and more of his time, he was looking for a quick, relatively easy exit. We jumped on an initial Zoom call a couple days later and he confirmed what I was already thinking based on the information I had: this was going to easily be a six-figure exit, and rightfully so. There was just one problem, a quick and easy exit usually means an all-cash buyer and I didn’t have anywhere near that much cash sitting around ready to be used.
So...what now?
My mind was already spinning with plans for WP Pusher, and potentially Branch. I needed to figure out how to solve the issue of not having the cash on hand to make the acquisition. I’ve followed the real estate community on Twitter for awhile now (informally branded ReTwit) and they’re often talking about how they raised money to fund various deals. After a bit of research into this, I realized that I might be able to fund the purchase of a cash-flowing business much like you would be able to fund the purchase of a cash-flowing real estate asset: with debt.
Peter had given me enough information about the financials of the business that I had a rough monthly revenue number in mind. I had originally told him that I would get back to him within 2 weeks with an offer, so I needed to move quickly.
I set up a few calls with people in my network that I trusted to talk this thing through and see if they thought it was even possible. Shoutout to Zak Tracy for coming through with an awesome Google Sheets template that helped me map out how much debt I could afford to pay off with the revenue that was going to be coming in from WP Pusher each month. So with these numbers in hand, I set off to raise debt the only way I ever had in the past: from banks.
Banks: Largely a Dead End
I realized that before I could start to take on any debt, I’d want some sort of corporate structure to handle this business and I didn’t want red tape to be a hold up. So, even though there was no guarantee this deal would go through, I filed for an LLC and applied for an EIN to make things legit. I figured that even though this cost ~$150 for a corporate structure I might not even use, the benefit of already having this in place and being able to move fast if Peter and I could make a deal would outweigh the risk of having it and not needing it.
There is no shortage of banks and online institutions that purport to offer financing to small businesses for the purpose of acquisitions. However, what I found out from the fine print is that this mostly applies to existing businesses looking to acquire competitors. They mostly look down on an LLC with revenue of $0 looking to take on six figures of debt and wanted to lend based on my personal income/credit score (read: mostly just income). As I’ve spoken about in previous newsletters, most of my income from the day job is reinvested in the business, so by traditional lending standards and ignoring the cashflow WP Pusher would bring in (which the banks were), I was a terrible credit risk.
After 4 or 5 frustrating phone calls that quickly ended when we got down to the specifics of what I was trying to do, I took a step back and realized this likely wasn’t going to be a viable option.
Sidenote: Marketplaces like MicroAcquire (in conjunction with Pipe) and Empire Flippers (with the EF Capital product) are now making this much easier, with the caveat that you buy through their platform. If you’d rather do this with “off-market” deals like WP Pusher was at this point, the Chief Operators community is great at bringing together investors and operators.
Thinking smaller
Since I wouldn’t be able to raise the entire amount I was looking for from a bank, I wondered if I could think smaller and raise this same amount of debt from a larger pool of investors, each investing a smaller amount of capital individually. I threw together a pitch deck detailing the opportunity over the course of the weekend, built out a Trello board with as many people on it as I could think of who might be interested and got to work sending emails.
One of about 15 slides from the fundraising deck
One of about 15 slides from the fundraising deck
Since I knew this transaction was all about optimizing for speed, I didn’t want to get bogged down in negotiations with all the various people I was asking to put money into this deal. I used my debt spreadsheet to determine the best offer I could give lenders (more to come on that down below), put that in the deck and presented everyone I talked to with the same deal, letting them know that it was pretty much take it or leave it.
I was able to use this deck to reach about 4 or 5 people, but by this point, it had been 2 weeks since my initial conversation with Peter and I needed to get back to him and either tell him I didn’t want to move forward or make him an offer.
Negotiation
Because Peter and I had already talked about the general deal framework, the last thing we needed to agree on was price and some of the specific terms. I sent him a Twitter DM and we set up a time to chat. Right away, I could tell he was ready to play hard ball.
spoiler alert: not actually hard ball
spoiler alert: not actually hard ball
All jokes aside, I had had some great conversations with people who were interested in helping to finance this acquisition, but after we talked and agreed on a fair purchase price, I realized I had less than 50% of the funds I would need committed.
One of the things I really valued about this whole process is how open and honest I was able to be with Peter and how he gave me the same in return. I told him what the situation was and about the fact that I wanted to draft up an LOI so that I could complete the rest of the fundraising, as there had been a few people who didn’t want to commit until they had some sort of actual documentation that an actual deal was taking place.
On his side, he didn’t want to agree to a deal and stop shopping the acquisition around not knowing that I had all the cash I’d need to actually close, which is totally fair. I had never raised a round of funding before, unless you count organizing the food budget for a weekend campout in Boy Scouts, so he was smart to be at least a bit cautious that this whole thing might still fall through. If it did and he had stopped pursuing other potential acquirers, he’d be that much further behind a “quick” exit. With that in mind here’s the deal we came up with:
  • $XXX,XXX purchase price
  • Targeted closing date within 60 days of the signing of the LOI
  • 14 more days of exclusivity after signing the LOI
  • $5k non-refundable deposit required after the 14 days if I wanted to keep moving forward
So basically, I had 14 more days to get confident enough in the deal going through to put down $5,000 of my own money that I’d never see again if I couldn’t turn the funding commitments into actual dollars in the bank.
Now that I had a signed LOI and 2 more weeks of “runway” it was time for me to get back to work pulling together funding commitments.
Refining the pitch and going wide(ish)
After my relative success getting a couple close friends and some family interested, I knew I needed to really lock down the pitch and get in front of as many people as I could who might be a good fit for this type of deal. Because I now had a solid purchase price, I knew exactly how much I needed to raise. I refined my debt spreadsheet and figured out that I could offer 5 year notes at 10% interest per year.
Sidenote: If you would be interested in hearing about opportunities like this in the future, please get in touch with me directly, either by hitting reply to this email or sending me a note at [email protected] and let’s chat.
It wasn’t crypto-level returns, but it was a loan backed by a solid, cash-flowing business with strong revenue history at a slightly higher than the average yearly stock market return (depending on what period you look at, of course). Overall, I thought it was a strong offer with a high likelihood of getting enough traction to help me reach my goal.
I very quickly realized most everyone in my Trello board fell into one of two groups: those with who were successful in their traditional salaried job and were looking for a less-traditional investment than an index fund (which many were already contributing to) and entrepreneurs who were much more interested in equity in the business or some sort of potential for even greater upside than straight debt could provide. I wasn’t looking to give away equity as part of this deal, especially with many more partners involved where giving equity to them would mean that the cap table would be very fragmented.
That was a deal breaker for most the entrepreneur-types, but some were understanding and agreed to invest nonetheless. That, combined with the strong interest from W2 wage earners, meant I quickly got to about 60% of the funding I needed committed.
But then I hit a wall.
Most of my close network was either in or out by this point and I was still hovering around that 60% level. And this was also the end of my 2 week exclusivity period with Peter. I needed to decide whether to put down the deposit and really start to push ahead on this thing, or call it right then. After talking to a couple people who were already committed, they noted that if I had been able to get to 60% in a relatively short amount of time, I should probably take the plunge and trust my ability to find the rest prior to closing.
I let Peter know that I was ready to move forward and wired him the $5,000 deposit and it slowly dawned on me how real this might be.
More hustling
The next few weeks were a blur of Zoom calls and running through the pitch over and over. I’m extremely grateful to everyone who listened to the pitch, whether they invested or not. Some also introduced me to people in their network who they thought would be great leads and that was super helpful as well. If there’s anything I can do to repay you, please don’t hesitate to let me know.
After this Rocky-like montage of a few weeks, I was still a bit short on funding commitments. Luckily, a close friend who I had been talking to about the acquisition from the beginning and who I knew was as excited about it as I was volunteered to chip in the entirety of the remaining funding needed in exchange for some equity.
I hadn’t originally wanted to make equity a part of this deal but a couple factors changed my mind in this particular case. First, this would be the entire amount that I needed to complete the deal and would allow me to move out of the fundraising phase and focus on actually getting everything in place ahead of closing. And secondly, he had been involved in the deal from the very beginning and had contributed a lot to conversations about the potential future direction of the business and had some great ideas as to how things might progress in the future. And with that, I had all the commitments that I needed and it was time to actually move forward.
Purchase Agreement
As I wrote up the purchase agreement, I realized that Peter and I had never really closed the loop on whether Branch would be included in the acquisition. Since Branch and WP Pusher are closely-related products and actually had shared accounts with SaaS tools and were otherwise intertwined, Peter and I both agreed that it made sense for Branch to be bundled with the acquisition and agreed on an adjustment to the purchase price that was covered by my funding commitments but also meant that he wasn’t just giving Branch away for free.
With that, I sent over the purchase agreement, which Peter reviewed and signed, and we were ready to go! I had been busy turning commitments into actual dollars in the bank in the background (one of the benefits of having a bank account ready to go ahead of time) and with a signed purchase agreement, I wired Peter half of the purchase price and we began transferring all the assets of both Branch and WP Pusher.
Asset Transfer: The Good
As I found with the Kanban for WordPress acquisition, this is one of the more complicated parts of any acquisition. Mostly because there are all sorts of services that you may not remember you have logins to that you need to transfer, might not have unique passwords for those services, etc.
On this acquisition, I think we found a relatively elegant solution that I’ll definitely use on future purchases: a shared 1Password vault.
If you are running a business you hope to sell, storing your passwords in some sort of password manager isn’t just good security practice, but it also helps you keep track of all the various accounts you have for your business and makes turning over this access as easy as adding another user to that specific password vault.
This definitely made account hand over easier and made sure we both still had access to the various accounts when I was trying to log in and change all the various email addresses and was forced to get things like 2-factor auth codes from Peter.
Asset Transfer: The Bad
In my last acquisition, Corey turned over the entire Stripe account, which meant that there was no sort of migration necessary on the Stripe side other than to change the email, password, and banking info on the account.
For various reasons, that wasn’t going to be possible here, so I had to set up a new Stripe account for WP Pusher and one for Branch and ask Stripe to migrate the customers for each over.
This involved Peter generating two separate customer lists with customer IDs from Stripe. We then reached out to Stripe with these lists, gave our consent from either side and asked them to initiate the transfer, which their documentation said could take “up to 10 business days”.
It was at this point that they fell radio silent.
A chat with the support team every few days after the 10 days had more than passed resulted in responses that our ticket was “with the migrations team” and the front line support person couldn’t give me any more information. Now this I completely understand, so I asked them to have the migration team follow up with me directly, just so I could get a sense of when we could expect to have the customers migrated. I never received this follow-up and from start to finish it took over a month to get all the customer migrated.
Another issue with the Stripe migration process is, while they migrate the customers and their payment info, they come over without an active subscription. There are services and scripts that help recreate these for you, but I wanted to make sure no one got accidentally charged, so I did this process manually, which was a bit of a slog.
Overall, for the next acquisition, I would think hard about whether not being able to take over the existing Stripe account might be a dealbreaker, as this was the part of the process that took the longest by far and involved the most manual work on my end.
The Announcement
With all the Stripe customers transferred over, revenue flowing into my bank account instead of Peter’s and me having dug into the codebases a bit and made sure I could make changes and deploy code successfully with everything transferred, it was time to wrap things up.
I wired the remaining half of the purchase price to Peter and we decided to announce on the 23rd of September, 130 days after Peter’s initial tweet. Peter and Matt recorded an Out of Beta episode that talked a bit about the acquisition, I put posts up on the Branch homepage and the WP Pusher blog (still a bit of a work in progress after it got hacked during the acquisition process!) and published a tweet thread with some more details.
Keanan Koppenhaver
I'm excited to announce that I've acquired @WP_Pusher and @thisisbranch. It's been a bit of a road to get here. 🧵 incoming down below.

More info at https://t.co/aTkK75Fhzy and https://t.co/fO5oQ1GDAm

It all started out with a tweet, where I was tagged in one of the replies...
I was very fortunate to get picked up by the WP Tavern as well as a few WordPress industry newsletters to give the acquisition some publicity and that takes us mostly through to today.
It’s been a whirlwind few months and I’m glad to finally be able to talk about it publicly. I’m excited to get into the day-to-day running of the business (yes even some of the crazier support tickets) and I have big plans for the product roadmap as well as some other exciting things:
A prototype that gives a whole new meaning to "push-to-deploy"
A prototype that gives a whole new meaning to "push-to-deploy"
This has been an amazing experience overall and I would like to thank Peter again as well as everybody who has helped me along the way. There’s no way I could have done this alone and I’m looking forward to what the next few years brings for WP Pusher and Branch!
Anything else?
As always, if you have any questions or anything I can clear up from this post, please do reach out. Responding to emails from readers is one of my favorite parts of sending out this newsletter and I would love to help someone else get started out on their Micro-SaaS journey as well!
If you know someone who would love to read this, please forward it to them! All of the back issues of Micro-SaaS Monthly can also be found online at https://emails.microsaasmonthly.com/.
Until next time!
Did you enjoy this issue? Yes No
Keanan Koppenhaver
Keanan Koppenhaver @kkoppenhaver

Micro-SaaS Monthly: a newsletter detailing the ups and downs of acquiring and running a small software company.

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.