End-to-End Billing¶
Omnistrate provides a complete solution for usage-based billing for your SaaS Product. It provides the following features:
- Metering: Collect usage data for your SaaS Product
- Aggregation: Aggregate usage data across all the nodes of an instance and per customer
- Invoicing: Generate invoices for your customers
- Payment: Integrate with payment processors to collect payments
- Pricing plans: SaaS Providers can configure pricing plans for their SaaS Product and enforce quotas/restrictions per service-plan.
- Notifications: Notify customers about their invoices and show them the current usage.
- Payment collection: Receive payments to your account when customers accept their invoices.
Billing can be enabled for your Plan with the following steps:
- Enable Tenant Billing
- Connect Omnistrate with your Stripe Account (or bring your own billing provider)
- Configure pricing and billing provider for your Plan
- Configure quotas for your Plan (optional)
Invoices, Notifications and Payment collection are automated.
By enabling this, your customers will be able to track their usage and invoices through the customer portal. Your customers will have the ability to configure payments with Stripe and pay their invoices through the Customer Portal.
Enable Tenant Billing At Account Level¶
To enable tenant billing at account level, please navigate to the "FinOps Center > Tenant Billing" section. As a SaaS Provider, you can request Omnistrate to enable the feature.
When the feature is enabled, you will see the "Add Billing Provider" button. Click on it to configure your billing provider. You can choose between using Omnistrate's billing provider(Stripe) or bringing your own billing provider.
OmniBilling (Stripe)¶
Omnistrate provides a built-in billing provider that integrates with Stripe. This allows you to manage your customer billing workflow through Omnistrate, including usage metering, pricing configuration, quota management, automatic invoice generation and notifications, invoice management, and integration with payment processors.
You can configure your Stripe account and set up billing for your SaaS Product. To complete the Stripe enablement you need to configure your Stripe Account using “Stripe Connect”.
If you don't have a Stripe Account, you must set up a standard Stripe account. Enter all required business information, including address and payment details, so the platform can process payments successfully. For more information on how to create a Stripe account you can review the Stripe's Getting Started guideline.
Warning
Make sure to configure and save the Customer Portal properties, including your logo, data that will be requested from you customers (for instance Billing address for tax purposes) and accepted payment methods.
For more details on how we establish the connection, see the Stripe Documentation on how Stripe Connect works.
BYO-Billing Provider (Bring Your Own Billing Provider)¶
If you have an existing billing provider, you can integrate it with Omnistrate. This allows you to collect usage metering data from Omnistrate and integrate them with your billing system. You can enable the "Omnistrate Metering" feature at the plan level to collect usage data and export it to your S3/GCS bucket, which can then be processed by your billing system. This allows you to use Omnistrate for usage metering while keeping your existing billing system intact.
You will need to configure below properties to better display your billing provider in the Customer Portal:
- Name: The name of the billing provider.
- Logo: The logo of the billing provider.
- Balance Due Link: The link to the balance due page of the billing provider. This is where your customers will be redirected to pay their invoices.
Configure Pricing And Billing Providers¶
Once the billing is enabled at an account level, you can configure the pricing for your SaaS Product at a per-plan basis. You can configure the pricing for the following pre-set dimensions:
- CPU Cores
- Allocated Memory
- Allocated Storage (depending on the service definition)
In addition, you can restrict your customers from creating an instance if they had not configured payment.
You can configure the pricing for your Plan through the UI or through the compose spec.
- To configure this from the GUI, navigate to the "Build Service > Plans" section and modify the Plan you want to configure.
- To configure this for your compose spec, find the
pricing
specifications here in thex-omnistrate-service-plan
section.
You will also need to choose the billing providers for your Plan. You can choose any billing providers that you have configured at the account level. And set the default billing provider that will be used for your new subscribers.
Note
Above configurations that applied to the Plan level won't be applied to the existing subscriptions. You can always manage and update the existing subscriptions to apply the new configurations at the FinOps Center > Tenant Pricing
section.
Configure Quotas¶
As part of the billing configuration, you can set quotas for your customers. You can set the maximum number of instances that your customers can create for a given plan and restrict customers from creating resources if they had not configured payment at Plan level.
You can configure this through the UI or through the compose spec.
- Using the UI, navigate to the "Build Service > Plans -> Modify Plan", and configure the quotas in
Billing
andAdditional Configuration
sections. - Using the compose spec, find the
validPaymentMethodRequired
andmaxNumberOfInstancesAllowed
specifications here in thex-omnistrate-service-plan
section.
Note
Above configurations that applied to the Plan level won't be applied to the existing subscriptions. You can always manage and update the existing subscriptions to apply the new configurations at the FinOps Center > Tenant Pricing
section.
Configure Invoices¶
Once the billing is enabled, Omnistrate will automatically generate invoices in Stripe for your customers based on their usage at the end of the month. The invoices will be generated based on the usage data collected by Omnistrate and will be created in Draft for your review.
Optionally, you can provide a billing product ID for your Plan, which will be used to create the Plan product in Stripe.
- Using the UI, navigate to the "Build Service > Plans -> Modify Plan" and configure the
External product ID
in theBilling
section. - Using the compose spec, find the
billingProductId
specifications here in thex-omnistrate-service-plan
section.
To manage the monthly invoices and approve them, navigate to "Manage Fleet" section of the UI and click on "Manage Invoices". If you would like to auto-approve all your generated invoices after a certain period, please request through support.
Note
Stripe will allow you to modify invoices in Draft mode. After the invoices are sent to customers you can create a revision, invalidating the previous invoice and creating a new one.
Customer Notifications¶
Stripe will automatically notify your customers about their Open invoices. The notifications will be sent to the email address provided by your customers.
Your customers will be able to track their usage and invoices through the customer portal. Your customers will have the ability to configure payments with Stripe and pay their invoices through the Customer Portal.