Microsoft Excel is an invaluable tool in the hands of entrepreneurs. They can model and program an entire business process in Excel. Those proprietary models can extend from financial applications, like business valuation tools, to engineering calculators. Many entrepreneurs sell their models on the internet as protected Excel files.
Of course, a primary pitfall of this approach is that it is very difficult to fully protect these type of models. Moreover, you cannot run them without Excel, often limited to specific versions of the platform. Many entrepreneurs would prefer a web-based subscription model to sell their models but they lack the technical expertise to turn those models into web applications.
In this article, I will outline how you can turn your proprietary Excel model into a subscription based service built entirely on the SpreadsheetWeb platform.
Convert your Excel model into a web application on SpreadsheetWeb
The first step in the process is to turn your Excel model into a web application on SpreadsheetWeb. This requires no programming or technical customization for most applications. The SpreadsheetWeb interface is designed to handle this transformation. I won’t go into the details of the conversion process, as there are many existing articles and videos that cover this topic:
- Developing a Life Insurance Quoting Software with SpreadsheetWeb
- Create an App with SpreadsheetWeb: Order Entry
- Create and App with SpreadsheetWeb: Scored Questionnaire
As an example, we have this Excel-based startup financials model that has been turned into a web application, visible below. You can access the real web application from here.
User Access to the Application
In order to sell your application through a subscription based service, you will need the ability to create and manage users in the SpreadsheetWeb Control Panel. Additionally, you will need to protect your application behind an authentication layer where each user will access the application through a login screen with their own set of credentials.
There are three primary security options for deploying an application on SpreadsheetWeb: Unrestricted, Restricted, and Restricted with Registration. Unrestricted indicates that anyone can access the application. Restricted means that unauthenticated users will be prompted to login with their set of credentials before accessing the application. Restricted with Registration indicates that the login window will also include a link to register a new account.
Both Restricted and Restricted with Registration will work for this use case. Restricted with Registration will make it easier to administer the process, since your users will self-register to gain access to your application. Alternatively, you can create accounts for your target end users, including options to auto-generate emails to those target end users to complete their registration process and credential setup.
Data Security and Management
In addition to restricting access to your application, you can also control access to data entered by your subscribers. In the scenario startup financials scenario, there is a fair amount of requisite data entry in order to run the application. By configuring the database features, you can allow your end users to save their data into a standardized, persistent database structure through the click of a button.
Moreover, subscribers can access their saved data through SpreadsheetWeb’s Control Panel. They can save multiple scenarios in the system by entering different inputs into the application, and subsequently reload that data to make modifications or complete their initial entry.
Built-in security allows each subscriber to login and access only their own data. It is also possible to configure teams, where members can collaborate and share their data among a group.
User Management for Administrators
SpreadsheetWeb has a built-in user management module, which allows you or any other account administrator to fully control each user’s access to your applications and its data.
Payment Processing for Subscribers
Payment processing is an important aspect of a subscription based service. However, there are several challenges for automating this process. The first challenge is selecting the right system for your service. There are many service providers in the market including PayPal, Stripe, and Square. In order to fully automate your service, an integration with one of these services and their API is required. This is typically a time-consuming and costly process.
With SpreadsheetWeb, a series of convenient hooks in the system will allow you to interject code snippets that tie into your payment processing system more seamlessly and without substantial technical expertise. We will publish several tutorials in the future on how to integrate your SpreadsheetWeb application with some of these services.
However, if you have a small user base or are just starting your subscription based service and don’t want to spend the additional time and effort to build a fully-automated payment processing system, you can always handle the payment portion manually.
First, sign up for a merchant account on one of these services. Each of these services support subscriptions or recurring payments. This link explains how to create a subscription and a subscribe button in PayPal. These services also include more advanced capabilities, such as creating a free or discounted trial account, as well as generating username and passwords during the payment process.
Next, place this subscription button on your website. You will receive an email message each time a user subscribes to your service. At this point, you will need to create a user account in SpreadsheetWeb’s User Management module for each subscriber manually. There will be some level of inconvenience for your subscribers because they will gain access to your application only after you have created their account and notified them (either manually or automatically). This may still be a cost-effective solution until your service gains enough traction to justify the additional cost and effort of integrating a fully-fledged payment processing system with account creation on SpreadsheetWeb.