Components

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. See the blog post about quantity-based components that introduces the Components feature in general.

Components are defined at the Product Family level, and are therefore available to all Products within the Family.

Quantity-Based and On/Off Components associated with a Subscription are billed in advance along with the product, while Metered Component usage is billed in arrears. See Setting Component Allocations for more information.

Creating Components

To create a component:

  • Select the Products tab
  • Select “Create Component”
  • Choose the type of component you’d like to create
  • Please read-on to understand how to create components and which component to choose for your application

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

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.

Components & Product Families

Components are defined on the Product Family level, and are available to all Products within the Family. To create any Component for a Product Family, start on the “Products” tab and click “Create a Component”.

Next, you’ll be able to choose what type of component to create.

If you create a product in "Product Family A", it will not be available in "Product Family B". You must recreate the component in each Product Family to make it available across Product Families.

Setting Component allocations on Subscriptions

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.

For more information, please see Setting Component Allocations.

Metered Components

The difference between the two is that a Metered Component will reset to 0 at the end of the Billing Period and a Quantity Based Component will not. This Billing Period is defined at the Product level. So for example, if you have a Product that bills every 3 months, any Component you attach to that Product will bill every 3 months as well.

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 Awords clicks or monthly cell phone minutes). This is most commonly associated with Usage Based Billing, billing for overages, and much more.

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, Chargify 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 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

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 – say your basic service offers 1 custom IP address for free, and extras can be purchased for $1 each
  • Extra Projects – say your 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

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.

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 4 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 Chargify 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.

Appying Proration

Proration and it’s full affects on subscriptions is covered in full detail here.

You can prorate the cost of components that are added during a billing period, and Chargify will calculate the proration down to the second. For example, a SaaS company may sell user licenses at $10/each, and if a license is added exactly half way through the month, they can charge a prorated cost of $5.

  • Go to the Settings Tab
  • Click “Components”
  • Choose your default component proration. Reference the “At Time of Change” and “At End of Period” to determine what each type of proration means. These prorations apply to quantity and on/off components. (They do not apply to metered components).

Component Name

Give a name for this component that is suitable for showing customers and displaying on billing statements, i.e. “Text messages”

Unit Name

A name for the unit this component is measured in. Should be lower case and in singular form, i.e. “text message”. We may pluralize this value when constructing reports, i.e. “20 text messages”

Description

A description for the component that will be displayed to the user on the hosted signup page (if enabled below).

Tax Settings

Define whether or not the component is subject to taxes.

User Access

Define whether or not to allow a user to make updates to the component amount via the Billing Portal

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

Display on Public Signup Pages

This setting will allow the component to be displayed on some (or all) of your Public Signup Pages. Your customer will be able to purchase additional components, depending on the pages they are displayed.

Component Versions

Currently, Chargify does not support the versioning of components. As soon as a component is edited, all subscribers that have purchased the component will be affected.

Archiving a Component

You may 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.

Step 1. Locate the component you wish to archive.

Step 2. Select ‘Archive’.

Step 3. You’ll be presented with a simple warning to ensure you understand the implications of archival.

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