Summary
This article covers how to track non-recurring revenue using the Sale model. You’ll learn which key data points to capture, how to organize Fields, and how to create Global Filters by product type to report on non-recurring income.
Who is this article for?
Planhat builders/admins who configure their tenant for their team (e.g. CS Ops).
This article is part of the Data Models Course.
Article Contents
Introduction
Not all revenue is recurring, though—that’s where the Sales Model comes in. It’s used for one-time purchases, like professional services. Unlike Licenses, Sales impact revenue only in the month they’re sold.
Key System Fields
The basic Sale Fields are:
Product - a list field that contains the names of your non-recurring products. You configure this list in the "Settings" Global Tool, in the "Revenue" > "Product Catalog" section.
Value - stores the Sale value.
Sales Date - date of the sale
Currency - currency of the sale
Field Groups
Now that you have an understanding of the Key Fields, you can set them up in Field Groups, which live in Profile > Profile Templates. This determines what shows in Previews and full-page profiles for Sales.
Let’s look at how to group them in a logical way. We recommend a set up as below:
For more information on Field Groups, take a look at Help Center Article: Field Groups.
Create Form
To ensure your data stays clean, it’s important you make fields mandatory for creation. We recommend the following at a minimum to enable you to manage your Sales in the best way.
For an in-depth breakdown on all things Profile related, take a look at our Help Center Article: An introduction to Profiles / Previews, the How-To Library in app, or check out the Dojo course related to Profiles.
Common Global Filters
You may want to create some standard views for your Sales, to ensure everyone has the same definition.
Commonly used Global Filters for Sale are dependent upon your non-recurring revenue products. To use a basic example of a SaaS company that uses one-time charges for Implementation, but doesn’t have many one-time costs outside of that could have Global Filters set up like this:
Implementation
Non-implementation
One-time Service