Chelsey Fang
Last updated: 25 March 2025
SaaSGrid uses Stripe Subscriptions and Invoices to build your revenue and retention metrics.
Upon linking your Stripe account to SaaSGrid, proceed to complete the rules flow to configure how SaaSGrid interprets Stripe data. These rules are adjustable at any time within the Data Source Detail Page.
Subscriptions can have different statuses in Stripe, and SaaSGrid can selectively include subscriptions by status. Select the subscription statuses that should be included in MRR. When finished, click Save at the bottom of the screen.
Status | Description |
---|---|
Active | SaaSGrid includes Active subscriptions in MRR by default. |
Past Due | The most recent finalized invoice either failed or was not attempted after the due date. SaaSGrid can continue to include subscriptions marked Past Due if payment is likely to be fulfilled. |
Unpaid | The latest invoice has not been paid. SaaSGrid can include subscriptions marked Unpaid if payment is likely to be fulfilled. |
Canceled | The subscription has been canceled. SaaSGrid does not allow canceled subscriptions to contribute to MRR. |
Incomplete | The subscription requires action to be activated (e.g. customer authentication, successful payment). SaaSGrid does not allow incomplete subscriptions to contribute to MRR. |
Incomplete Expired | The initial payment for the subscription failed and no successful payment has been made within 23 hours of creation. SaaSGrid does not allow incomplete expired subscriptions to contribute to MRR. |
Trialing | The subscription is in a trial period and can convert to Active at the end of trial period. SaaSGrid does not allow trialing prospects to be counted as customers or contribute to MRR (Trials are a separate category). |
Based on these subscription statuses, determine which should be included in SaaSGrid's MRR calculations.
When a Subscription status changes, SaaSGrid has options to determine if and when the customer should be marked as churned. This article will break down relevant settings on Stripe, and End/Churn Dates for Canceled, Unpaid, and Past-Due Subscriptions.
1. Stripe Settings
2. Canceled Subscriptions
3. Unpaid and Past Due Subscriptions
Review your settings in Stripe to confirm that they accurately reflect what you want for different scenarios. Active Subscriptions can become Canceled, Past-Due, or Unpaid for the following reasons:
The Subscription has failed payments
A recurring payment is incomplete for x number of days
For invoices, the payment is past due for x number of days
The Subscription ends
For Subscriptions or Invoices with incomplete recurring payments, you can set the status to become Canceled, Unpaid, or Past-Due. The Cancel Date can be scheduled to be either x days after the Last Paid Billing Cycle.
In addition to these rules, you can manually cancel a Subscription if you go into Customers -> Select the Customer, "Cancel Subscription".
When a Subscription is moved to Canceled (due to failed or disputed payments, past-due invoices, a manual cancellation, or a Subscription ending), there are two options for when SaaSGrid considers the customer churned:
As of the Last Paid Billing Cycle
As of the Cancel Date
Cancel Date is the date the Subscription moves to Canceled status, as determined by Stripe rules. When you manually cancel a Subscription, you can set a Cancel Date in the future.
Last Paid Billing Cycle is the last day of a billing cycle where the associated invoice is in Paid status. For example, if a customer last paid for services from March 1 - March 31, the Last Paid Billing Cycle date is March 31.
If the Cancel Date is earlier than the Last Paid Billing Cycle, which is only possible when the Cancel Date is manually set, SaaSGrid will always use the Cancel Date as the customer churn date.
When there is a failed payment or Past-Due invoice, the Cancel Date can be later than the Last Paid Billing Cycle. This typically occurs when a customer stops paying, but continues using your service for several periods before you cancel their subscription. In this case, SaaSGrid gives you the option of using either Last Paid Billing Cycle date or Cancel Date as the customer churn date:
Selecting Last Paid Billing Period marks customers as churned on the date they stopped paying, and aligns MRR more closely to cashflow. Selecting Cancel Date aligns MRR with the period when the customer likely used the product.
If you do not count MRR from Subscriptions while they are in Unpaid or Past Due status, then SaaSGrid marks the customer as churned when they move to one of these statuses. There are two options for the date SaaSGrid marks them as churned:
As of the Last Paid Billing Cycle
As of the Last Billing Cycle
Similar to Canceled Subscriptions, for Unpaid and Past Due Subscriptions, it is common to want to show customers as churned on the last day of service they paid for. However, since Subscriptions usually move to Unpaid or Past Due due to non-payment, the Subscription may continue to generate billing cycles and invoices even when in these statuses. You can choose to mark the customer churned as of the last generated billing cycle, regardless of the payment status of the associated invoice.
For each Stripe Subscription, invoices are issued at the beginning of each billing cycle, which can be monthly, quarterly, or annually. Each invoice has its own status which indicates its payment status. Sometimes an active Subscription will have invoices in statuses other than “Paid”. SaaSGrid lets you control whether you want to exclude MRR from billing cycles associated with invoices in non-paid statuses, even if the overarching Subscription is active.
By default, SaaSGrid excludes Draft from MRR because invoices in Draft were never finalized or sent to the customer. Open, Paid, Void, and Uncollectible invoices are included in MRR by default. Open invoices are most likely going to be paid, and Paid invoices already have been.
There are also additional settings for you to include/exclude MRR from invoices that have been fully credited, or refunded.
SaaSGrid pulls in all of your fields from Stripe. This setting asks you which field we should use as the primary name field for a Customer on SaaSGrid. We'd recommend that the field you use for the primary name is just the Name field from Stripe.
Because Stripe ID is always provided for any Customer on Stripe, we will use Stripe ID as a last resort.
Coupons are discounts you can give to Customers. They can be applied once, repeating for a certain duration, or forever (for the entire Subscription).
By default, we do not subtract the value of Repeating or Once Coupons from MRR. If Repeating and Once coupons are included, after the limited time the coupon is applied for, the next month’s MRR would jump up to the price without the discount. This may inaccurately reflect expansion in customers after the coupon expiration. For this case, you would book the coupon value as a marketing expense to reconcile the expansion.
The discount for coupons with a forever duration should apply to MRR because it has a permanent impact on MRR’s calculation.
This allows you to to define whether SaaSGrid should include tax in our MRR calculations.
Trials are unique to Stripe - they allow you to provide customers access to a subscription product for free for a specified duration, before the subscription becomes active and billing begins.
The settings in this section tell SaaSGrid how to treat a customer that is converting from a trial to a paid subscription.
For each Stripe Product, select how SaaSGrid should treat revenue from the product. SaaSGrid will recognize the revenue based on the following methodology:
Revenue Mapping | Meaning | Example Product |
---|---|---|
Licensed | Recurring revenue for a subscription product | Annual platform fee |
Non-Recurring | Non-recurring revenue for a one-time payment | Implementation fee |
Metered | Usage-based revenue based on consumption of services | Cloud computing services |
Ignore | SaaSGrid will omit this product from calculations | Internal testing data |
If a Stripe Product is mapped to the Non-Recurring category, SaaSGrid will prompt you to resolve when the non-recurring revenue will be recognized.
Use this setting to control the timezone of your subscriptions.
If you have duplicate customer records within Stripe, SaaSGrid can reconcile these records and mark one as the primary record.
If there are specific customers and/or Subscriptions that exist within Stripe (eg. test data), specify those here so that SaaSGrid can completely omit these objects from our calculations.