Today I announced that the WP1099 e-filing service was being discontinued. WP1099 was my first software as a service (SaaS) offering, which despite going through a lot of planning, I failed to consider a few things.
There is a plugin that is replacing the service, which is currently available to purchase. The new plugin provides site owners with the ability to export 1099-MISC payment information into a CSV file that can then be used to prepare 1099-MISC forms. Users are free to prepare them on their own, send the CSV file to their accountant, or use a third-party 1099 filing service.
Deciding to Discontinue WP1099
Over the last few weeks, I have been taking a really deep look into my business. I’ve looked into the products I’m offering, and what it is that I’d like my business to become.
One of the things I decided is that my business was going to focus on building plugins that make life easier for businesses. While that’s not a formal mission statement, it highlights the gist of what I’m trying to accomplish.
The WP1099 service did not fit into that overall mission.While, yes, it would make things easier for businesses, it would take the attention away from development and focus it on bookkeeping and accounting. Especially during the early months of the year.
While, yes, it would make life easier for businesses, it would take the attention away from development and divert it to bookkeeping and accounting. This is especially true during the early months of the year.
To be clear, I do have a background in accounting, and I’m fully capable of doing this type of work. However, it requires hours of research and continuing education in order to be done effectively. This takes away from the overall vision I have for my company.
What Went Wrong
A big ask
The WP1099 service was designed to take all of the efforts out of 1099-MISC reporting for owners of affiliate programs and multi-vendor marketplaces.
This included trusting the WP1099 service with social security numbers, taxpayer identification numbers, and other sensitive information.
There were a lot of security safeguards in place to handle this information. Data security was something I took very seriously from the beginning. It appears that the users of the WP1099 service also took it very seriously.
Over the last five months, dozens of businesses downloaded, installed, and activated the plugin on their site. Only one of those businesses sent in the information necessary to file 1099-MISC forms on their behalf.
Many of the businesses that signed up for the service had a number of vendors or affiliates that the service needed to collect information from. That information included things like their name, address, and social security number.This wasn’t me overreaching and asking for too much. It’s information that the IRS requires on every 1099-MISC form.
This wasn’t me overreaching and asking for too much. It’s information that the IRS requires on every 1099-MISC form. It would be impossible for the WP1099 service to file 1099-MISC forms without this information.
Not a single vendor or affiliate completed the information request that was sent to them.
The WP1099 service could have reached out to the business owners for assistance in collecting this information. However, that would have required effort on the part of the business – something the service was supposed to eliminate.
The WP1099 service was priced based on usage. If a customer and had 5 1099-MISC forms to file this year, they only needed to pay for 5. The service was volume-based, so you paid less per form with the more forms you bought.
Very few, if any, WordPress plugins or services are priced this way.
The WordPress industry has become accustomed to one-time or annual subscription-based pricing. While the volume-based pricing made sense on paper, it made it difficult for people to figure out what they were paying for.
In the beginning, I wasn’t expecting to make much from the service until later in the year, and possibly not until January. People just don’t tend to think about year-end taxes in August, I get that.
It turns out that over the last five months I made $0 from the WP1099 service. All of the hours spent developing, testing, and marketing, and I haven’t earned a single dollar.
I knew the service would be highly seasonal. But I had no visibility into how much demand the service would have come January.
There was also an education issue with customers. If I had someone come to me in after the due date (Jan 31) requesting WP1099 e-file their 1099’s, they would be hit with late fees from the IRS. I knew this. But many people understand April 15th to be the tax deadline. While this is true for many returns, 1099-MISC is not one of them.
This misunderstanding would lead to angry customers, as they would rely on the service to file on-time.
This left me with a huge problem with understanding the volume of work I’d be facing in the coming months.
- How was I supposed to forecast the number of 1099-MISC forms I’d need to file before January 31st?
- How was I supposed to forecast the number of 1099-MISC forms that would come in late?
- Was I supposed to be providing an on-call accounting service for the first few months of the year?
What went right
Filled a need
Over the last few months, I’ve received a lot of positive feedback regarding the WP1099 service. Based on this feedback, I’ve learned that there is definitely a need for tax reporting in the affiliate and vendor areas of e-commerce.
My hope is that the new WP1099 plugin will help fill this need. I’m open to feedback in terms of how that plugin fills the need. Currently, it provides the site owner with an export file that contains a line-by-line breakdown of everything that is needed to go into a 1099-MISC. Perhaps there’s a better way. At this point, I don’t really know. As feedback and suggestions start coming in, I’m sure there will be changes to the plugin over time.
Proved WordPress can handle this application
I did a lot of testing to make sure that WordPress would be able to handle the data it would be receiving. For what I asked it to do, it passed with flying colors.
Without getting overly technical, here’s how WP1099 worked.
- It aggregated payout data from affiliate and multi-vendor marketplace plugins. That’s a simple database query, which was easy enough to set up.
- The plugin used an API endpoint for the client’s site to call. This endpoint would collect basic data on the site’s affiliates and vendors. WP1099’s service would use this information to then request taxpayer ID numbers and other information.
- Whenever a new affiliate or vendor was added, they would automatically be sent an email requesting their taxpayer ID and other necessary information.
- The service would use another endpoint to collect payout information for each affiliate and vendor at year-end.
- WP1099 used Easy Digital Downloads to sell “credits” for 1099-MISC forms and W9 information requests. This credit system had to be built so that each purchase of a credit would increase the credits available in the customer’s account. Similarly, each use of a credit needed to deduct from the customer’s available balance. Whenever a customer had a low balance, an email needed to be sent to them to remind them to purchase additional credits.
- We restricted each customer account to one license for the WP1099 service. This probably wasn’t the best approach in hindsight, but it was how we handled making sure we had the right information attributed to each company. To do this, we needed to restrict the purchase of the WP1099 service’s plugin to one per customer account.
There were a lot of moving parts, but WordPress was able to handle it all very well.
My first mistake WP1099 was thinking that I knew everything that my target audience wanted.
I assumed they wanted a 100% hands-off solution. While this may be true, they didn’t want the data security issues that went along with a truly hands-off solution. I can’t say that I blame them.
Another lesson I learned was to stop and take a look at my business objectives before jumping into the next project. I want my business to build software that increases the efficiency of its customers. I don’t want to be running an accounting business. The service I was offering wouldn’t have met my business objectives very well.