Credit Burndown Usage Model
The Credit Burndown, also known as Prepaid and Rollover, or Prepay and Drawdown, is a usage pricing model that allows customers to purchase a specific amount of credits upfront, which can be either in the form of Credit tokens or Cash. These credits are then gradually burned down over time as customers consume various products or services.
Credit burndown pricing models can be useful for businesses that sell digital goods or services that can be consumed in a specific period of time. It can also be useful for businesses that want to encourage customers to purchase more frequently or in larger quantities.
By implementing the Credit Burndown model, customers have the flexibility to allocate their credits across multiple products or services, depending on their specific needs. This pricing model allows for efficient resource management, as customers only pay for what they consume and have the ability to track their credit usage in real-time.
How Credit Burndown Works
To implement a Credit Burndown usage model, we will need 2 different types of products:
Type 1: Product(s) that accumulates credits
This type of products are designed for customers to add credits to a Credit Pool. In Nue, you can create a product with Revenue Model "Credit Burndown". This type of product typically has Billing Timing Bill in Advance so that the credits are prepaid.
Type 2: Product(s) that consumes credits
This type of products are designed for customers to consume credits from a Credit Pool. In Nue, you can create a product with Revenue Model "Overage Usage". The usage of this type of products, once uploaded and rated, will be converted to credits and deducted from the Credit Pool. This type of product typically has Billing Timing Bill in Arrears so that the overage usage (i.e., usage over the credit limits) will be billed at the end of the billing period.
The following diagram illustrates this flow. In summary:
- Products with revenue model "Credit Burndown" can be ordered to accumulate credits into the customer's Credit Pool.
- When the order containing such products is activated, the credit purchased will be added to the credit pool with a Credit Inflow transaction.
- The order containing such products will be billed in advance (typically).
- Products with revenue model "Overage Usage" can be used to consume credits from the customer's Credit Pool.
- When the usage is uploaded and rated as credits, the credit purchased will be deducted from the credit pool with a Credit Outflow transaction.
- If all credits in the credit pool are consumed, the overage usage amount will be billed in arrears.
NOTE
In a system, there can be more than one Credit Burndown products that accumulate credits, and more than one Overage Usage products that consume credits. All transactions are being processed through the Credit Pool and are recorded as Credit Inflow and Credit Outflow. |
Enable Credit Burndown
PERMISSIONS REQUIRED
The following permissions are required in the user role:
|
Credit Type and Credit Pool
Admin users can enable the Credit Burndown feature by configuring the following settings:
- Login to Nue App and navigate to Settings → Credits
- Set the Default Credit Type.
-
Credit Type indicates the type of credit your organization issues to your customers.
- There are 2 supported credit types: Credit and Cash. The Credit Type determines whether the credit pool stores credits, or cash.
-
- Set the Default Credit Pool.
- Credit Pool contains credits issued to the customer. Each customer may have one or more credit pool.
- The default credit pool is used to store credits if no specific pool is specified.
Credit Options
Admin users can also configure additional Credit Burndown options:
Credit Name
Admin users can rename the credits, for example, Points, Files, Minutes, etc.
- Click on the Edit icon next to the Credit Type setting, and update the name in the popup.
Rollover unused credits
Indicates if the unused credits will be rolled over to the next usage term.
Rollover period
The rollover period in Month.
For example, a customer purchases 100 credits every month, and the unused credits will be rolled over to the next month. Admin users can set the Rollover Period to 1, so that the expiration date will be set to the end of next month.
Enable credit proration for partial periods
Determines if the credits can be prorated in a partial period. By default it is false, the credits can only be issued to full periods, otherwise, they can be prorated and issued to a partial period. For more information about how credit proration works, please refer to this article.
Align credits with the subscription's Bill Cycle Day
Determines if the credits are aligned with the subscription's Bill Cycle Day. By default it is false, and the credits are aligned with the subscription's start date.
Enable Credit Tab in the Lifecycle Manager
To enable credit table in the Lifecycle Manager, navigate to Settings → Customer Lifecycle Tabs, and enable Credits.
Credit Burndown Scenario
Now let's take a look at a scenario. Let's consider VROOM Inc., our fictional company offering the VROOM SDK product. Each credit in this example is priced at $2. Customers can utilize their credits for different purposes, such as API calls, Transcript Storage, and CPU Computing minutes. It's important to note that each of these products has a distinct burndown rate for the credits, indicating how quickly they are consumed. The credits will be issued to or consumed from the Default Credit Pool for these products, you can choose to use different credit pools for different products.
Create Products
We plan to create the following products:
Product Name | Bundle or Product | Revenue Model | List Price | Credit Pool | Credit Conversion |
VROOM SDK | Bundle | Credit Burndown | $2 Credit/Year | Default Credit Pool | N/A |
API Calls | Product | Overage Usage | $0.01 per Call/Month | Default Credit Pool | 100 Calls = 1 Credit |
CPU Computing | Product | Overage Usage | $0.1 Minute/Month | Default Credit Pool | 10 Minutes = 1 Credit |
Transcript Storage | Product | Overage Usage | $1 GB/Month | Default Credit Pool | 10 GB = 1 Credit |
To configure the Credit Conversion of each product, you can follow the steps below:
- Navigate to Price Builder → Product Catalog, and click Edit action icon of the usage type product
- Click + icon next to the Credit Conversion field, and specify the conversion equation, decimal scale, and rounding mode.
- The decimal scale and rounding mode determines how the credits are converted. For example, for Transcript Storage product, we configured the following credit conversion:
- Conversion equation: 10 GB = 1 Credit, Decimal Scale: 1, Rounding Mode: Up
- If a customer consumes 13.23 GB, then it will be rated as 1.3 credit
- The decimal scale and rounding mode determines how the credits are converted. For example, for Transcript Storage product, we configured the following credit conversion:
We configure VROOM SDK as a bundle that contains all 3 of the usage products: API Calls, CPU Computing, and Transcript Storage as included products, or required add-ons.
Please note that typically, we use a bundle product to associate the Credit Burndown product with the usage type products. However, this is not a nessary step.
Create Quote and Subscriptions
As usual, we create a sales opportunity in Nue on Salesforce, and create a primary quote with Start Date 04/01/2023.
NOTE
Please use this start date in order to use the usage upload files in this tutorial. If you choose other dates, when you upload raw usage files, or bill the subscriptions, you may also need to use your own dates. |
In the Line Editor, we search for bundle product VROOM SDK, and drag it to the Line Editor. In the product configurator, I saw all 3 usage products:
In the Line Editor, I configure 1000 units (credits) for the VROOM SDK line item:
In the Line Editor, the total price is $2000 because VROOM SDK is priced at $2 Credit/Year. All the usage type products have quantity 0 and total price 0. We can also add discount tags or discretional discounts to the quote if we want to give discounts for the credits if there is a need.
Now we can close-won the opportunity, which will finalize the primary quote into an activev order, and provision the subscriptions. Each line item will be provisioned into a subscription. 3 usage-type subscriptions will be grouped under the bundle subscription.
Credit Pool and Credit Inflow
To see the credit pool, and credit inflow and outflows, you can follow the steps below:
- Login to Salesforce and navigate to Accounts
- Click to open an account. In the Account Details page, click Manage Customer Lifecycle
- Click Credits tab.
In the Credits tab, we can clearly see that 1000 credits have been issued and entered into the credit pool. The credit balance is 1000.
In the following screenshot, we can see that there is a Credit Inflow transaction with a transaction type Issue created from Credit Burndown Subscription (SUB-0001357). The Credit Start Date and Credit End Date determine when the credit can be used.
NOTE
If the Credit Burndown product has a UOM term dimension Month, then monthly credit inflows will be created. If the subscription term is 12 month, then we will see 12 monthly credit inflows created. These credits will have the Start and End Date aligned with the Start and End Date of the monthly term.
If the Credit Burndown subscription is evergreen, credits will only be generated up to the current term. For instance, if the subscription term lasts 12 months and it began three months ago, only three credit flows will have been created so far. At the end of each term, a new credit flow will be generated for the upcoming term. |
Invoice Credits
When the order is activated, the first invoice will be created for VROOM SDK product, which has a Credit Burndown credit model, and Bill In Advance billing timing.
- Navigate to the Lifecycle Manager, and click on the Invoices tab
- An invoice of $166.67 is created, containing an invoice line item for product VROOM SDK with Start Date 04/01/2023, and End Date 04/30/2023
Usage and Credit Outflow
Now let's ingest some raw usage for all 3 the following usage products: API Calls, CPU Computing and Transcript Storage. All the raw usage records have timestamps between 04/01/2023 and 04/30/2023.
We have created example CSV files here for you to download. Please follow the steps below:
- Login to Salesforce, and navigate to the account ("Sharp Revenue" in this example) detail page. Click Manage Customer Lifecycle button to enter the Lifecycle Manager.
- Copy the Customer ID as part of the URL, for example, if the URL is https://nueio.lightning.force.com/lightning/cmp/Ruby__LifecycleManager?c__customerId=0015f00001ZJyM1AAL, the Customer ID is 0015f00001ZJyM1AAL.
- Navigate to the Subscriptions tab. Find VROOM SDK, and click Show Details to show the children usage subscriptions.
- Download VROOM-API-CALLS.csv file
- Replace the Customer ID in the downloaded CSV file with your own customer ID for all usage rows.
- Copy the Subscription Number of the API Calls subscription, for example, SUB-001380. Replace the Subscription Number in the download CSV file with your own Subscription Number for all usage rows.
- Download VROOM-CPU-USAGE.csv file.
- Replace the Customer ID in the downloaded CSV file with your own customer ID for all usage rows.
- Copy the Subscription Number of the CPU Computing subscription, for example, SUB-001381. Replace the Subscription Number in the download CSV file with your own Subscription Number for all usage rows.
- Download VROOM-STORAGE.csv file
- Replace the Customer ID in the downloaded CSV file with your own customer ID for all usage rows.
- Copy the Subscription Number of the Transcript Storage subscription, for example, SUB-001382. Replace the Subscription Number in the download CSV file with your own Subscription Number for all usage rows.
- Login to Nue App, and search Usage in the menu, and select to enter the Usage page.
- Click 'Upload' action icon on the upper right side of the Usage list, and upload all 3 CSV files one by one.
Please note that even though we upload raw usage in 3 different CSV files, you can mix them together into one CSV file. If you have a large number of raw usage to ingest, you should consider using Post Raw Usage API instead of using CSV upload.
CAUTION
If you receive error "Subscription {{subscriptionNumber}} is not found", there could be the following reasons:
|
After the raw usage files are successfully uploaded, you can see the raw usage records already sliced by the configured Window Size (in our example, DAY) and merged into Usage records. The usage records have status Open. They will be picked up by Nue's rating engine. The following image shows that the usage records of API calls are Rated, and the usage records of other products are still Open.
After a few minutes, all usage records are rated.
Usage records are rated into credits, not dollar amounts. They are rated according to the Credit Conversion definition. We have defined the conversion rates earlier:
- API Calls has a 1000:1 credit conversion with decimal scale 0 and rounding mode "up";
- CPU Computing has a 10:1 credit conversion with decimal scale 0 and rounding mode "up";
- Transcript Storage has a 10:1 conversion with a decimal scale 1 and rounding mode "up".
In the following image, we can see how quantities of each usage record is being rated into credits.
In the above image, we can also see that the usage statuese have been changed to BILLED. This is because once a usage is rated into credits, the credit amount will be deducted immediately from the Credit Pool, which is recorded as a Credit Outflow transaction.
Users can see the usage as well as the Credit Outflow transactions in the Credits tab of the Lifecycle Manager.
In the above image, we can see that after we ingested all 3 CSV files containing raw usage records, 953.5 credits are consumed, and 46.5 credits remain to be active.
Assuming we discovered a batch of API Calls raw usage occurred on 04/01/2023 that was missed in the last CSV files. So we want to upload another CSV file containing 58,863 API calls. This should be rated into additional 59 credits, which will result in a 12.5 (=59 - 46.5) overage credits.
- Download VROOM API Calls Overage file
- Replace the Customer ID in the downloaded CSV file with your own customer ID for all usage rows.
- Copy the Subscription Number of the API Calls subscription, for example, SUB-001380. Replace the Subscription Number in the download CSV file with your own Subscription Number for all usage rows.
- Upload the updated CSV file into Nue
After a few minutes, we can see that the usage of API Calls on 04/01/2023 and all subsequent days is re-aggregated and re-rated, which results in the credits in the Credit Pool being credited back and consumed. And all 1000 credits are now consumed.
INGESTING RAW USAGE RECORDS
Admin users can ingest new raw usage records after raw usage records on particular days have been aggregated and rated into usage records, or even after usage records are in BILLED status, i.e., invoiced, or deducted from a credit pool.
|
Invoice Credit Overage
Since the customer doesn't have sufficient credits for the last batch of usage consumption - the customer has a 12.5 credit overage. We can run a billing schedule to bill for the overage credits in arrears.
- Login to Nue App, and navigate to Revenue Manager → Billing Schedules
- Click 'New Billing Schedule', and create an on-demand billing schedule with Billing Target Date as 05/01/2023 for customer Sharp Revenue.
- Click Save.
After the billing job completes, we can see a new invoice is generated with the following invoice line items:
In this invoice, VROOM SDK is billed in advance for the 05/2023 biling cycle, and API Calls is billed with $125 credits overage. This is because there is 12.5 credit overage, and each credit is priced at $10 at the organization level.
Both CPU Computing and Transcript Storage do not have credit overage so the invoice amount is $0.
Additional Notes
In scenarios where users have insufficient credit balance during rating of uploaded usages, the rated credits will not be immediately deducted from the credit pool. Instead, the rated amount will be billed in the subsequent billing cycle. However, if users purchase enough credits before the next billing cycle, they would prefer to utilize the credits rather than making an additional payment.
Therefore, when credit burndown is enabled and a billing job is initiated, the following steps are taken for order products with usage data that will be billed:
-
If the rated amount of a usage record is not fully applied with credits (applied credit amount < rated credit amount), deduct the remaining amount if sufficient credit balance is available, and do not generate invoices.
-
If the credit balance is less than the remaining, unapplied amount, apply the entire available balance and generate invoices for the remaining rated, but unapplied amount.
-
After deducting the credit balance, generate the corresponding Credit Outflow transactions and update the applied amount of the usage accordingly.
Note: This process applies only to the rated amount of a usage product. For order products with a non-zero quantity and usage type, they will be billed through the regular billing cycle and will not consume credits.
In conclusion, this comprehensive tutorial has provided you with a thorough understanding of credit burndown within the Nue Usage Accelerator. We have guided you through the entire process, covering essential steps such as defining credits and products, creating quotes and subscriptions, managing usage ingestion, monitoring credit inflows and outflows, and creating invoices for overage credits. However, our journey doesn't end here. In future tutorials, we will delve into the topic of modifying credit burndown subscriptions, with and without prorations, empowering you with even more advanced techniques.