Products consist of Data Sources that are sold as a package to customers. Products have associated subscription terms and fees, overage rates, quotas, SLAs, and more attached to them.
Products are used to apply pricing and billing rules to usage created via data Sources. Once a product is built, you can assign one or more Subscribers to the product by creating a Subscription.
When configuring a product, the default options allow you to define a recurring charge, determine the invoicing periods (i.e. how often invoices are generated), define pricing for different volumes of usage, whether you wish to invoice in advance or arrears, and how Subscribers will pay for the product.
The product configuration form also includes a number of optional configurations that can be added by checking the appropriate box in the creation form.
Pricing for Products
Basic pricing rules are established by creating pricing tiers as shown below. In this example, subscribers to this product will pay a Recurring Charge of 100 per invoice period, and usage charges will vary depending on the number of transactions. In addition, you can choose whether each transaction is charged based on the tier it falls in or whether a Subscriber receives the price of the highest tier for all transactions once a higher tier is reached.
If you wish to create a price model without price tiers, you could also create just one tier. In this model, each transaction would be charged a flat fee regardless of volume.
This is the most basic pricing structure supported by Revenium. Many additional complex pricing configuration options are explained below.
Required Product Attributes
Attribute
Usage
Product Name
Shown in storefronts to display the name of your product to end subscribers
Invoicing Period
Determines how often an invoice is generated and when usage counters and charges reset. In addition to the standard options like monthly & annual, the following options are supported.
5 Minutes (no synthetic transactions) - for one hour, this will open and close an invoicing period every 5 minutes for every active Subscription you create for this product. This will generate subscriber notifications and invoices each five minutes so that you can test that everything is working as expected without waiting for actual settlement periods to close.
5 Minutes (randomized synthetic transactions) - this option behaves identically to the previous option, but in addition, a randomized number of transactions will be simulated for sources included in the products throughout the one-hour period so you can check how charges are applied to randomized usage scenarios and ensure your product's payment model is configured as you intended.
Custom - this selection allows you to define non-standard invoicing periods (i.e. every 2, 3, or 6 months)
Invoice Schedule
In Advance - this will send an invoice for setup fees and recurring fees at the beginning of each invoice period. Because usage can only be charged for after it occurs, usage fees are still billed in arrears.
In Arrears - this invoices all charges at the end of each invoice period.
Payment Options
Invoice Only - Revenium sends invoices to customers to be paid manually.
Invoices with External Payment Updates - Same as ‘Invoice Only,’ but Revenium also tracks invoice payment status based on updates from your financial system to Revenium. (this allows you to track overdue invoices and suspend subscriptions for subscribers with overdue payments)
Stripe-Enabled Payments - external payment configurations will display here as options to automatically collect payment via credit card (the payment status of stripe-enabled payments is automatically tracked in Revenium)
Send invoices to Subscription owners
By default, this option is selected. In general, only unselect this box if you are set up to provide your own invoicing based on usage data exported from Revenium.
Automatically resend unpaid invoices
if you are updating Revenium when your invoices are paid in an outside system (often Oracle, SAP, etc.), checking this option will resend your subscribers invoices on a monthly basis if they are unpaid. This will occur for up to four times if an invoice remains unpaid before stopping. Each invoice will be titled differently (i.e. second notice, third notice, final notice)
Allow immediate cancellations and pro-rated invoices
By default, Subscriptions that are deactivated will remain valid until the end of their current invoicing period. This means that a subscriber with monthly invoicing who cancels a Subscription in the middle of the month will continue to have access to their products through the end of the month (and pay for the entire month).
However, if you select the 'allow immediate cancellations' option, as soon as an associated Subscription for this product is canceled, it will take effect immediately, and a pro-rated invoice will be created to charge only for the time of the subscription prior to cancellation.
Metering Elements for Complex Pricing Plans
Metering Elements must be created prior to adding them to a product.
Metering Elements allow you to modify the amount charged based on key value pairs received in the transactions sent to Revenium (i.e. to enable usage-based charges that scale based on metrics other than transaction counts).
When adding Metering Element charges to a product, you can choose from the following charge models.
Element Charge Models
Charge Logic
Required Fields
Explanation
Average of All Values Received
Element Description
Element Charge
Average all values received for a given element in a period and multiply that value by a defined charge.
Maximum of All Values Received
Element Description
Element Charge
Find the maximum of all values received for a given element in a period and multiply that value by a defined charge.
Sum Element Values Received
Element Description
Element Charge
Sum all values received for a given element in a period and multiply that value by a defined charge.
Count Element Occurrences
Element Description
Element Charge
Count the number of times a given element is observed (with any value) in a period and multiply the count by a defined charge.
Count Unique Values Received
Element Description
Element Charge
Count the number of unique values received for a given element and multiply the count by a defined charge.
On each occurrence of specific value
Element Description
Element Charge
Element Value
Count the number of times a specific value is received for a defined element and multiply the count by a defined charge. (Example: match every time the value "Germany" is received in an element named "Country" and charge $2 / occurrence)
On first occurrence of specific value
Element Description
Element Charge
Element Value
Count the first time a specific value is received for a defined element and charge a defined amount. (Example: match the first time the value "Germany" is received in an element named "Country" and charge $2 / occurrence)
Optional Product Attributes
Optional Attributes
Default Notification Recipients: This field is typically used to send copies of customer notifications to an internal product owner or distribution list. If configured, recipients here will receive copies of notifications that are sent to all subscribers to this product (such as quota notifications, invoice notifications, and others)
The Product Quota field defines a limit on the number of transactions to be enforced. Depending on the payment model chosen, the behavior of this field differs (either to absolutely block traffic once the quota is reached or to begin rating transactions at the average rate once the quota is reached). Note that quota enforcement is dependent on the type of Revenium Connector type chosen. Please contact us for questions on how to enable quotas for a specific connector.
Default Quota Notification Threshold allows you to set a percentage of the maximum transactions when a notification will be sent to the configured e-mail addresses chosen in the Provider Notification Addresses field on page 2 of the product creation process. Note that end subscriber notifications can be configured for each Subscription that is created for a product.
For products using volume-based pricing, a notification will be sent when this percentage is reached for each tier in the plan. For example, if a volume-based plan had a 50% notification threshold set, and included tiers with prices that changed at volumes of 200, 500, and 1000 transactions, a notification would be sent at 100 calls, 250 calls, and 500 calls (50% of each volume tier limit).
Recurring Charge Per Invoicing Periods: Defines the amount (if any) that will be charged in each invoicing periods.
Invoice Timing: This field allows you to choose whether recurring charges are invoiced at the beginning or end of each invoicing period. (note that if you choose to have clients pre-pay recurring charges then any setup fees must also be pre-paid)
Include free trial? If this option is selected, all Subscriptions created for this product will default to include a free trial period of the duration specified. Free trials automatically convert to the paid version of the product after the trial period expires if they are not canceled during the trial period.
Notify customer before end of trial? If this option selected, the owner of the Subscription will receive a notification 24-hours before the end of the trial period reminding them that their trial will automatically convert to paid if not canceled. If this option is not selected, the subscriber will receive no notification before the Subscription converts to the paid version of the product.
One-time setup fee: If you enter an amount in this field, new subscribers will be charged a setup fee according to the options set below.
Charge setup fee per Subscription - If this option is chosen, every new Subscription that is created will charge the setup fee. If the same client subscribes more than once to a product, they will pay a setup fee each time.
Charge setup fee per Client - If this option is chosen, every new client that signs up for the product will pay the setup fee. If the same customer subscribes more than once to a product, they will only pay the setup one time.
Custom Pricing Rules allow you to select a previously configured Pricing Rule that will apply for Subscriptions issued under this product.
Configuration for Products Sync'd with API Gateways
API Gateway Synchronization
Revenium supports synchronizing products that are created to API Gateways. This allows you to publish products that are created in Revenium to supported gateways and API storefronts for purchase by end subscribers.
APIM Provider: (note that the choice made here cannot be changed once the product is saved)
Create a linked gateway product: Select from a previously configured APIM provider. Using a linked gateway will allow API product owners to choose from Sources that have been synchronized from that gateway and allow for the automatic creation of products in a supported gateway once saved in Revenium.
Create an unlinked gateway product (default): in this case, the API product is manually created in a supported gateway and optionally linked using the "External ID" field that is explained below.
Gateway Environment: If you selected the linked gateway product above, then this field will allow you to choose which environment you wish to deploy your product (i.e. Staging vs. Production) after saving it in Revenium. (this cannot be changed once saved)
External ID: this field allows you to manually link this product to an external gateway so that it can be dynamically displayed in a supported commerce portal like Anypoint Community manager from MuleSoft. More information available here.
External Display Name: This field configures how a single instance of your product will be displayed to subscribers in a commerce portal (i.e. if you have a hosted version of your product both in Europe & in the USA, you would define each here so that end subscribers know which to select when purchasing & using your API products). This cannot be changed once saved.
Product Code: This field is used to map revenue from this product to integrated ERP systems. Enter your internal identifier here that is used to associate revenue appropriately within your financial system.
Sources: choose the data sources that are bundled into this product. If you created a linked gateway product above, this list will automatically filter the correct Sources from your gateway environment that are available for product bundling. If not, you can manually choose from any configured Sources in Revenium.
Product Rate Limiting:This option is currently available only in MuleSoft linked gateways. This section allows you to define a traffic throughput limit as a part of the Revenium product.
Rate Limit Name: a name for the rate limiting policy that will be visible to end subscribers during the checkout process. i.e. "Gold Policy"
Max # of Requests Per # of units of time (define as needed)
Example Configuration: 100 requests per 10 minutes
Rate Limit Description: This description is for internal purposes only to further describe this rate limiting policy.
SLA Definition: Allows you to choose a previously created SLA to associate with this product.
Provider Notification Address: The addresses configured here will receive all notifications related to the product (i.e. when new Subscriptions are issued, when invoices are issued, and when customer quotas are reached). This field is meant for API product owners or other API provider employees, not for end subscribers. Note that end subscribers notifications can be configured for each Subscription that is created for a product.
Tags: define tags as are useful for your own use case.
Configuration for Products Linked to Digital Storefronts
The configurations in thi ssection are only necessary if you are publishing products to a linked Storefront (i.e. a developer portal with embedded monetization capabilities).
Storefront-Related Configurations:
Publish to Commerce Portal: If a linked commerce portal has been set up, setting this to Published will display the new Product in your public API Product catalog.
Product Audience: This filter is also used in linked commerce portals. The following options are available:
All Users: default behavior, the product is public and viewable by anyone
Named Subscribers: if selected, only commerce portal subscribers with a compatible, pre-configured Subscription in Revenium will be able to view this product. Named subscribers are matched either to the client owner of a subscription or the array of Named subscribers on a subscription. If the end user logged into the commerce portal matches either of these lists, a product configured for a named subscriber audience will be visible to them, otherwise, it will not be visible.
Named Customers: Named Customers audiences work the same was as Named Subscribers in terms of requiring a compatible, pre-configured Subscription, though the matching is done against an array of Organizations listed in the Product License. The match is done in two ways:
Commerce portal Subscribers who are a member of the Revenium Organization are allowed to access the product (emails are used to match between the commerce portal and Revenium's Subscriber record).
Commerce portal Subscribers whose e-mail domain matches a list of pre-configured domains set in the associated 'Named Customers' will be able to view and register for access to this product.
The terms & conditions fields on this page allow you to expose multiple required acceptance boxes when checking out to purchase a product (i.e. privacy agreement, contract terms, etc.). These will be automatically displayed during checkout in linked commerce portals.
The short, long, and pricing descriptions are shown in different places in linked commerce portals so that end users can see a brief summary in a catalog listing and full product details once they navigate to a specific product.
Note that if including images in these descriptions, you may have to make adjustments to your front end dev portal to trust the sites that are hosting these images. (particularly if using a salesforce front-end, this setting is required)
The custom pricing description option allows you to customize how pricing is presented for each product instead of using Revenium's default pricing template for presenting pricing.
Audience Filtering Example: using product audience filtering can be a bit complex. A complete example is provided below to help with implementation.
Sample implementation: This configuration would automatically allow all developers who are a member of the AcmeSoft, Inc. Revenium organization, or all developers with an email address from pre-approved domain(s) to access products without naming them individually.
AcmeSoft, Inc. is set up as an Organization in Revenium with a list of "associated domains" that includes acmesoft.com and acmesoft.inc. These are the two domains used by AcmeSoft for email and they want all internal Subscribers to have access automatically.
A new Subscriber is created in the AcmeSoft Organization in Revenium for a contractor they have hired who is from contractingcompany.com. This Subscriber also requires access to the product for testing purposes. Because he is a user in the Named Customers, he will be able to access the private product.
A new product is created with "Named Customers" selected for the product audience because it is meant to be seen only by Subscribers who work for AcmeSoft, Inc.
A new Subscription is created with the named customer of AcmeSoft. This is the final link that will allow any members of AcmeSoft in Revenium, or outside Subscribers with a matching email domain to access the private product.
The images below step through this list of bullet points in sequential order
Create the Named Customer
Create a User in the Named Customer (optional)
Create a Product With "Named Customer" Audience
Create a Subscription
Now when members of the named customers or Subscribers with matching email domains log into the linked commerce portal, they will be able to see the custom/private product and request credentials to utilize it. Subscribers from other companies will not be able to see this product.
Creating Free Products
It is also possible to create products with no associated pricing. This is sometimes useful in scenarios like this:
for internal reporting purposes
to generate the additional analytics that come from products versus from API Sources alone.
to limit usage of a Product in a free tier by enforcing quotas without costs
To create a free product, you simply do not enter pricing for usage and configure all other options as you normally would. Depending on your use case, you may wish to disable the option to "Send Invoices to Subscription Owners" for free products.