Professional Services Apps
By Chris Strobl, Founder & Co-CEO of No Code Germany
Various members of the Bubble ecosystem contributed these use case-oriented database guides. There's always more than one way to do something in Bubble, but the advice here can help you get started if you're new to Bubble!
Professional services experts spend 80% of their time on back-office tasks. The digitization of business processes around project- and client management, forms & templates, invoicing, scheduling, automation and reporting allows professional services experts to focus on revenue and profitability.
This guide suggests a database setup for an application for professional services firms that handles basic booking and invoice needs. In detail, this app helps manage the lifecycle of an engagement and lets users manage projects, book clients, sign contracts online, send invoices and handle payments.
A Project represents some unit of work for the professional services firm. Projects are related to Clients that the firm has. The first step in a Project is usually receiving an Inquiry.
Every Bubble app comes with the concept of a User. In this case, we assume that the tool is mostly going to be used by employees of the professional services firm, meaning the app is an internal tool for the firm.
- Name (text): the name of the person
- Admin (yes/no): whether this person is an admin of the tool
Since this is an internal tool, in general for all data types, you will want to create a privacy rule so that only users who are logged in can find any data in searches or view any of the fields. This way, nobody external to the company who doesn’t have an account with the tool will be able to see the data. Since this is an internal tool, the app should not have a publicly accessible signup page; instead, for any new employee who needs access to this system, you can manually create an account for them via the App Data tab of the editor.
Whether it is the design of an advertising campaign, the development of an app or the implementation of a consulting project, the core activity of a professional service firm is the implementation of projects.
- Project name (text): the name of the project
- Hourly rate (number): pricing for invoices
- Inquiry (Inquiry): the original Inquiry that this project came from
- Project stage (project_stage): the status of this project, out of a set of options
As noted above, you will want a privacy rule to only allow logged in users to find this data type and view its fields. If one of the fields is particularly sensitive (like hourly rate), you could consider creating another privacy rule to only show that to users who have the ‘admin’ field set to ‘yes’.
Prior to starting a project, the client submits an Inquiry via an online form that governs the specifications of the project.
- Project description (text): you can use a “multiline input” element to give the prospect more space to describe their business problem
- Project type (project_type): one out of a set of options to consider (see below)
- Target budget (number): useful information for you to know as you assess whether to take the project
- Inquiry date (date): information on when the Inquiry was submitted.
As noted above, you will want a privacy rule to only allow logged in users to find this data type and view its fields.
Master data about the client is the foundation for a good customer relationship. You can keep building out new features in this app to eventually turn it into a CRM!
- First name (text)
- Last name (text)
- Email (text): note that Bubble’s database does not automatically enforce uniqueness (i.e. nothing is stopping the app from having two Clients with the same email, yet), but you can implement uniqueness through workflow logic
- Company name (text)
- Number of employees (number): To get a feeling about the budget and service level
- Phone number (text): because this is just stored as text, you may want to do some data sanitization and even validation in the workflows that save this field
- Billing address (text)
As noted above, you will want a privacy rule to only allow logged in users to find this data type and view its fields. If any of the fields are particularly sensitive, you could consider creating another privacy rule to only show those to users who have the ‘admin’ field set to ‘yes’.
The client relationship can be divided into different stages. This is especially relevant to keep track of activities such as invoicing. The methodology of each Professional Services firm guides the customer along the Project Stages.
- Proposal sent
- Contract signed
- Project Kick-Off
- Project Delivery
- Project Hand-over
- Invoice sent
An option set for project type helps to organize the portfolio of work of a professional services firm.
- Social Network
- Productivity Tool
- CRM System
- Analytics Tool
- Something Else
You will likely have a page (for logged-in users) that shows all current active projects. This page would have a repeating group with a data source that’s a search for all Projects where the project_stage is or isn’t certain stages that you do or don’t want to consider “active”.
With such a list, you may also want to build the capability to filter by certain project_stages or project_types. If you have dropdowns for these, you can update the repeating group’s data source to include a new filter on project_stage or project_type depending on the value of those dropdowns.