Usage Data Billing
Generally, usage data billing is a billing model that charges users based on a consumed product or service usage. JustOn implements usage data billing based on specifically configured objects and subscriptions.
Understanding Usage Data Billing
In subscription-based business scenarios, you charge customers repeatedly for a continuous use of a product or service. Since this usage typically varies, you may want to offer a fair, transparent billing approach – track the usage and bill the consumption.
This is what usage data billing (aka metered billing, usage-based billing or pay-per-use) does: Typically, customers subscribe to a product or service plan. It may include a (recurring) base price, but the key feature is to charge the actual consumption.
Usage Data Billing in JustOn
Usage data represent product consumptions (volume or traffic data, service coverage, etc.) that are to be invoiced. To this end, usage data include the following information:
- the date and time the consumption took place,
- the quantity for the consumption, like a number of worked hours, or a number of consumed units, etc.,
- an identifier, which is used to assign the usage data to a subscription item.
In broad strokes, usage data billing works as follows:
Itemizing and billing usage data
JustOn Billing & Invoice Management retrieves raw usage data (for example, via data import or a third-party integration) and usually saves it to custom objects. The continuous invoice run creates invoices and invoice line items out of these objects. It uses the transaction builder functionality to itemize the consumption data in the background, and then matches this data against the defined subscription items. Finally, it evaluates the provided quantity information and calculates the item's subtotal, producing the corresponding invoice line item.
Configuring usage data billing with JustOn
Usage data billing usually involves:
- Custom object
- Set up to hold both the usage data and the controlling data
- "Target" subscription and corresponding items
- Holds the items set up to match the transactions for the invoice generation
- Transaction filter
- Defines which objects and records to include in the transaction build process
- Continuous invoice run
-
Creates invoices and invoice line items directly out of the objects that hold usage data
Usage data billing requires the (continuous) invoice run using the transaction filter, triggered either manually or as a scheduled job. Manually generating an invoice from the target subscription (using the New Invoice button) does not invoke the transactional billing.
- Minimum fee
- Optionally, set up to bill a fix base charge, irrespective of actually incurred costs
Usage data billing, continuous invoice run, transaction builder?
Usage data billing is the general name for JustOn's approach to generate invoices from custom object records that represent product consumptions (volume or traffic data, service coverage, etc.).
The continuous invoice run is the key player in this operation: it creates invoices and invoice line items from the object records that hold usage data. As the name suggests, it can run multiple times, repeatedly aggregating new usage data to existing invoice line items as long as an invoice is Draft
.
The continuous invoice run, for its part, relies on the transaction builder. This mechanism itemizes the consumption data – converting it to actually billable items.
Configuring Usage Data Billing
Enabling Minimum Fees
Individual Prices or Quantities
Certain business use cases require individual (account-specific) prices, price tiers or quantity information for consumption data. To this end, you can add multiple price and quantity fields to the source object. An (account-specific) subscription item can then retrieve the intended value from the specified source field. Doing so usually requires to aggregate the relevant values from multiple source records.
Retrieving and aggregating individual source prices
Aggregating individually priced source records
Think of usage data records that match with the same subscription item but that each define an individual price in the ON_Price
field. Now the continuous invoice run must aggregate these prices. To support this, you configure the following fields on the transactional item:
Field | Value |
---|---|
Transaction Price Field | ON_Price__c |
Aggregate Indiv. Priced Transactions (checkbox) | true |
Usage Data Tables
Your business use cases may require to include the list of itemized usage data records with the invoice. To this end, you can configure JustOn to
- Directly print a table of itemized usage data records on an invoice, or
- Generate CSV files for itemized usage data records to be attached to invoices.
Displaying Transaction Records on Invoices
Attaching Transaction CSV to Invoices
Transactions
When billing usage data, you usually create invoices and invoice line items directly out of objects that hold usage data. The continuous invoice run uses the transaction builder functionality to itemize the consumption data using "transient" transactions. It does, however, not generate "tangible" transaction records. Certain use cases, however, may require to do so.
There are two ways to invoke the transaction builder to generate "tangible" transaction records:
- Selecting a transaction filter when executing an invoice run
- Using a transaction build job
Usually, each transaction results in an individual invoice line item. Certain business use cases, however, require transactions to be aggregated but still keeping individual records for transaction tables. To this end, JustOn supports transaction details, which are in a master-detail relationship with transactions.
For aggregating values, JustOn makes use of roll-up summary fields that sum up specific fields over all transactions details that belong to a specific transaction.