Components allow you to introduce additional “line items” to your products that are often expressed as “add-ons”, upsold features, or pay-per-use items.
Components are defined at the product family level, and are therefore available to all products within the family.
Components & Product Families
Creating Components

Create a component in your site

Select what type of component to create
Editing Components
Once you have created a component, it will appear under the product family on the Products tab. You can make changes to the component by clicking the ‘Edit’ link

Edit a component
Archiving a Component
You can archive a component if you no longer wish it to be applied to new subscriptions. Customers who are currently subscribed to a component will not be affected.

Select archive component

Confirm your choice
To unarchive a component, simply locate the component under “Archived Items” and select unarchive to make the component available for purchase again.

Unarchive your component
Types of Components
Before you apply a component to a subscription, you must understand the five types of components that you can build within Advanced Billing. Please read-on to understand the complexities of components. Of course, if you have any questions, please reach out to our knowledgeable staff with any questions.
Metered Components
Metered components are used to bill for any type of unit that resets to 0 at the end of the billing period (think daily Google Adwords clicks or monthly cell phone minutes). This is most commonly associated with usage-based billing and many other pricing schemes.
For metered components, you tell us every time one of your customers uses some unit or units of your “widgets”. At the end of the billing period, Advanced Billing will bill your customer for the total number of widgets used, and then we will reset the widget count to zero and the whole process starts over for the new billing period.
Note that this is different from recurring quantity-based components, which DO NOT reset to zero at the start of every billing period. If you want to bill for a quantity of something that does not change unless you change it, then you want quantity components, instead.
Some examples:
- An email gateway provides 1000 credits per period, but allows you to send over your credit limit at a cost of $0.10 per email per period
- A hosting company that charges for hours of compute time at a certain cost per hour
- Bill for daily Google Adwords clicks
- Bill in arrears for monthly cell phone minutes
- Bill for any type of Usage
- Bill for overages
Quantity Based Components (Recurring)
Recurring quantity-based components are used to bill for the number of some unit (think monthly software user licenses or the number of pairs of socks in a box-a-month club). This is most commonly associated with billing for user licenses, number of users, number of employees, etc.
Each “widget” that you’ve reported to us as being in use is assumed to remain in use by that customer until some future change. In other words, the quantity allocated does NOT reset to 0 at the end of the billing period. In contrast, metered-usage component usages DO reset to 0 at the end of the period.
Common Examples:
-
Bill for the number of user licenses
-
Bill for the number of (fill in the blank)
- IP addresses:
- Basic service offers 1 custom IP address for free
- Extras can be purchased for $1 each
- Extra projects:
- Project management service allows users to purchase extra “projects” a la carte for $5/each/month.
-
Software seats that cost $100/each when you buy 1-5, $90/each when you buy 6-10, etc.
- Charge flat fees based on a number of customers:
- 0-50 customers = $0
- 51-500 = $49
- etc
Quantity Based Components (One-time)
One-time quantity-based components are used to create ad hoc usage charges that do not recur. For example, at the time of signup, you might want to charge your customer a one-time fee for onboarding or other services.
The allocated quantity for one-time quantity-based components immediately gets reset back to zero after the allocation is made.
Common Examples:
-
Your customer purchases an onboarding package at the time of signup
-
Bill for the number of (fill in the blank)
On/Off Components
On/off components are used for any flat fee, recurring add on (think $99/month for tech support or a flat add on shipping fee).
Common Examples
- Adding $5/mo for shipping
- Adding $100/mo for tech support
- A web app offers an SSL connection upgrade at $5/month
An on/off Component consists of 6 pieces of information:
- Name: The name of the component. i.e. text messages
- Description A description for the component that will be displayed to the user on the hosted signup page (if enabled below).
- Price: The amount the customer will be charged per unit
- User Access: Whether or not to allow a subscriber to update this component in the Billing Portal
- Tax Settings Is the component subject to taxes?
- Public Signup Settings Which Publice Signup Pages should this component be displayed on?
Once you have created an On/Off Component, it will appear under the Product Family on the Products tab. You can make changes to the component by clicking the ‘Edit’ link.
Prepaid Components
Prepaid components allow customers to pre-purchase units that can be used up over time on their subscription. In a sense, they are the mirror image of metered components; while metered components charge at the end of the period for the amount of units used, prepaid components are charged for at the time of purchase, and we subsequently keep track of the usage against the amount purchased.
Compared to other component types, prepaid components also have a number of unique characteristics.
- Overage pricing can be specified at a different rate than the normal pricing, to charge for units used past their pre-purchased amount.
- Prepaid allocations can be automatically re-allocated for the next period.
- Leftover prepaid usage can be rolled over to the next billing period.
- Prepaid allocations can also have expiration dates, in conjunction with the other rollover settings.
- Proration schemes are not applicable.
For more information on these unique settings, please see our documentation section on prepaid components.
Below are some common use cases for this component type:
- A plan offering includes 10,000 free email validations for the first year.
- A package of 1,000 SMS messages can be purchased each month, and any additional messages are billed as overages.
Pricing Schemes Explained
The following information will help you determine which pricing scheme is correct for your Component.
- Per Unit: Charge the same amount per unit
- Tiered: Charge a different per unit price
- Volume: Charge a different per unit price, but the price per unit for all units is determined by the prevailing price based on the allocated quantity
- Stairstep: Charge based on a range
We’ll use the same bracket information in the examples below to indicate how pricing can vary using different schemes.
In order to create a tiered, volume, or stairstep pricing scheme, you must define brackets.
Price Bracket Rules
- Brackets may not overlap in quantity
- Gaps in quantity are not allowed; however the lowest bracket need not start at 1
- Defining Infinity: One bracket with a blank “ending quantity” is allowed – a blank value here indicates an unbounded quantity (∞)
- Per-Unit or Per-Bracket: Prices should be given as “per unit” for per-unit, tiered, and volume pricing schemes. Prices for the stairstep pricing scheme are given as a cost for the entire bracket.
Per Unit Pricing
Simple enough. Enter a cost per unit and you’re done.
In a per-unit pricing scheme, prices are defined as per-unit costs, and all units cost the same. Thus, only 1 price bracket may be defined. If you define a component for “IP Addresses” that cost $1/each/period and a customer buys 3, then a $3 charge would be added at the end of the period.
The cost per unit can go up to 8 decimal points.
Tiered Pricing
In the tiered pricing scheme, multiple price brackets define the prices at different quantity levels. Prices are given on a per-unit basis. Your customers will pay the defined price per unit for each allocated unit. An example can illustrate this the best. Say you allow your customers to purchase extra widgets to augment their monthly plan. The pricing structure is defined as follows:
Starting quantity | Ending quantity | Price Each |
1 | 10 | $2 |
11 | 20 | $1 |
If a customer buys 10 units, they will pay $2 per unit, for a total of $20.
If a customer buys 20 units, they will pay $2 each for the first 10 units, plus $1 each for the next 10 units, for a total of $30 (10 x $2 + 10 x $1).
Volume Pricing
In the volume pricing scheme, multiple price brackets define the prices at different quantity levels, much like in the tiered scheme. However, unlike the tiered scheme, the price per unit for all units is determined by the prevailing price for the allocated quantity. So, taking the pricing setup from the earlier example:
Starting quantity | Ending quantity | Price Each |
1 | 10 | $2 |
11 | 20 | $1 |
If a customer buys 10 units, they will pay $2 per unit, for a total of $20.
If a customer buys 20 units, they will pay $1 per unit for all units, for a total of $20.
Stairstep Pricing
In the stairstep pricing scheme, multiple price brackets are defined, but the pricing is given as a total cost for the whole bracket instead of per unit costs. This is how Advanced Billing itself works.
Starting quantity | Ending quantity | Price Each |
1 | 10 | $10 |
11 | 20 | $20 |
If 10 units are allocated (i.e. 10 paying customers), then the cost would be $10 total for this component.
If 20 units are allocated, then the cost would be $20 total for this component.
Please note that there is never a charge if the quantity is zero.
Quantity Settings
Quantity & metered component allocations are represented as whole numbers by default (i.e. 5 Licenses). Checking ‘Allow fractional quantities’ setting will allow you to allocate partial quantities (i.e. 4.5 Minutes). API representations of this component will return a decimal instead of an integer for the quantity values

Allow fractional quantities
Component Settings
Component Name
Now, you’ll need to enter some descriptive information about the component. Please be as specific as possible. This data will flow through to subscriber statements.
Give a name to your component that is compact and suitable for use on statements. The length of this field is purposefully restricted.

Naming a component
Unit Name
Specify what the component is measured in. This entry should be in lowercase and singular form. Advanced Billing may elect to properly pluralize this unit name when constructing reports.

Unit Name
Description
Give your subscribers an exact idea of what component they are purchasing. Provide as much detail, as this information will be displayed on the Public Signup Page, versus the statement.

Component Description
Price Points
Component price points allows you to charge customers different amounts for the same component. You will be able to define multiple prices and pricing schemes, and then choose which price point to use for each subscription.
Alternately, keep it simple and have just one price point for each component.
Example:
You sell a widget for $1.00 per unit, but for a segment of your customers you want to sell it for $2.00 or $3.00 per unit.
In this case you would have three price points:
- A default price point for $1.00 per unit.
- A second price point for $2.00 per unit.
- A third price point for $3.00 per unit.
All new subscriptions will use the $1.00 per unit default pricing, unless you specify a different price point. You can change the price point associated with a subscription at anytime.
Price Point Webinar
During the initial release of price points, Advanced Billing presented the user base with an informative webinar. This webinar covers many aspect of how to use, implement and edit price points.
Single Price Point
By default, the component pricing editor will create one, static, price point for your component. If you only have one price for a component, enter the details required and save your component.

Create a single price point for a component
Multiple Price Points
Create individual pricing schemes for each individual price point by adding another price point to your pricing setup:
As an example, you may have:
- Price Point AAA:
- Pricing Scheme: Per Unit
- Unit Price: $10.00
- Price Point BBB:
- Pricing Scheme: Volume
- Quantities 1 - 100: $50
- Quantities 101 - 200: $25
The above setup is expressed in the sample image below:

Define multiple component price points
Default Price Point
After you’ve set up multiple price points and saved your work, you may now adjust which price point is the default for the component. Let’s take a look at the example below:

Select a default price point
As you can see, the “MSRP Helmet” is the default price point. For all new subscribers, this will be the default product they are charged in your site.
To change the default price point for a subscription, simply click on the gear icon of the price point you’d like to change. Select make default. This will transition the selected price point to the default price point.

Open the gear menu and select "make default"
The result will display the new price point as the default. You can easily change the default price point for your components. Please be aware this is a global change and will affect only new subscribers to the component.

Result: new default component
Moving Subscriptions Between Price Points
When editing a component, you can also move subscriptions between price points.

Select which price point you'd like to move subscriptions to in your site

Move subscriptions
Locking Subscriptions into Component Price Points
If you’re using multiple price points, you may want to lock all existing subscriptions that are not currently using a component into a price point to ensure that any possible future component usage gets charged at a specific price. An example scenario would be a component price increase: you want to increase the price of a component for any new subscriptions, but ensure that all existing subscriptions get the original component price (if ever used).
- Subscriptions can be locked into a price point from the component edit page.
- If any subscriptions exist that are not currently using the component, a ‘Lock Subscriptions’ option will be available for each price point.

Open the gear menu and select "Lock Subscriptions"

Lock in subscriptions
Archive / Unarchive a Price Point
At any time, you can archive a price point, as long as it isn’t the default price point.
Archived price points can be viewed by toggling them in the application, and can be unarchived from the dropdown menu.

Show archived price points

Select "unarchive" to make price points available in your site
User Access
Define whether or not to allow a user to make updates to the component amount via the Billing Portal

Will you allow subscribers to edit their component quantities?
Tax Settings
Define whether or not the component is subject to taxes.

Select the ideal tax setup for your components, if necessary
Tax Type
Select or fill in the appropriate tax for the type of component offered. This is especially important when using the Avalara service to tax based on locale. If a tax type is not specified, Advanced Billing will use the Product’s tax code to determine the tax rate for component charges.
If you’re not sure which Avalara tax code relates to your component, you can click the ‘View List of Tax Codes’ link to view Avalara’s tax code search page.
Component Proration
Choose to use the Site Default settings or make custom proration choices for your component. When customizing Component Proration, you will have the option to select what you want to do when the component price increases and when the component price decreases. Select a custom value or individually rely on the Site Level Default Settings.

Select the desired behavior for the component's Proration settings
NOTE: These settings will override the Site Default settings.
NOTE: The setting for what to do when there is a charge can only be set from the Site Default settings.
How Components work within Subscriptions
Recurring period for components
All components follow the same recurring period as the product that your subscriber has purchased. For example, if you have a Subscriber that has purchased a product that has a recurring period of 1 month, the component applied to that Subscription will be charged every month.
This also applies to products that are annual, as well. If you have a product that has a recurring period of 12 months, charges for the component will be assessed annually as well.
Trial periods and components
Please pay close attention to when you add your components to a subscription. The moment when you add a component to a subscription can result in two different behaviours outlined below:
-
If product has trial, components added at time of signup are not charged. These will be charged at the time of the renewal. This will be the product cost + component cost.
-
If the component allocation is done during the trial period, after signup, the charges assessed will follow the pricing scheme is selected with the component allocation like normal.
Applying Proration and Recording Components
Once a component has been defined for a product family, any subscription to a product within that family may have usage or allocation data reported in order to assess charges for them at the end of the period.
Proration and it’s full affects on subscriptions is covered in full detail here.
Display on Public Signup Pages
To display a component on a particular Public Signup Page, you must configure this on the individual signup page itself. For more information please see our article here.
The function to display a component on a Public Signup Page has now moved to the individual Public Signup Page. It was formerly an option to display a component on a particular component, but has since been relocated.
Suppress Service Dates on Invoices
This option allows you to choose on a per component basis if the service date range for a component should be included in the invoice line items. By default a component will be created with the option not selected and it will show the date range.

Selecting this option will hide the date range for this component on invoice line items.
Here is an example of when the option is enabled for a component:

This shows how the date range will not be included on invoice line items