Subscription Billing - Item Types

When signing up for a subscription, there are often different methodologies of how to pay for that subscription. Similarly, companies require different methodologies for billing. For example, some companies bill for their services at a flat rate per period. Others may operate on a usage basis, such as $x.xx per hour used. Lastly, some billing occurs as a fixed amount that gets billed when the goods/services are fully consumed.

Orange "Subscribe now!" button with cursor on top

The Subscription billing module in Dynamics 365 for Finance offers the flexibility to bill using these different methodologies. There are different Item Types and Pricing methodologies that can be used, and I am going to start breaking them down in this blog post for you today! This blog post will cover the different Item types available, and I will break down the Pricing methods in a separate blog post. 

Item Types

The different Item types available for the Billing schedule lines in Subscription billing are as follows:

  • Standard
  • Usage
  • Milestone

Screenshot of the Item type dropdown on the Billing schedule line to show the three types of items: Standard, Usage, and Milestone


The Standard Item type is going to be the most simple, straightforward method of billing an Item. This Item type will be selected if the quantity is going to be static, or remain the same, on a billing line. 

For example, I set up a Billing schedule for Item type Standard, quantity of 5.00 to be billed quarterly. 

Item type set to Standard and the quantity is set to 5.00 on the Billing schedule line
The Item type is set to Standard and the quantity is set to 5.00 on the Billing schedule line

When I review my billing details (Click View billing detail on the Billing schedule line)...

Click View billing detail to see billing schedule
Click View billing detail

I see that this means that the Customer is going to be billed the quantity of 5.00 per period specified, which in our example, is quarterly. 

Overview of the billing structure with a static quantity of 5.00 per period
The quantity of 5.00 is static per period to be billed


Usage allows for metered readings or consumption of items. When this type is selected, the view on the Billing schedule line no longer allows for a quantity to be entered.

Screenshot of the billing schedule line with Usage selected as the Item type and an "X" through the Quantity field, indicating that a value cannot be entered.
When Item type Usage is selected, a Quantity cannot be entered on the line

There are two methodologies for Usage, and they are Meter and Consumption

Usage - Meter

The methodology of reading meters allows for an accurate reading of a metered subscription. 

On the Billing schedule line details, set the Reading option to Reading. Reading means that the methodology of Meter reading will be utilized in this instance of Usage billing. 

Reading option set to Reading

Click View billing detail on the Billing schedule line to enter the Usage. 

Screenshot of the Billing schedule line with the View billing detail button highlighted
Click View billing detail to enter the usage

In the following example, I entered the Current reading for the first period as 3.00.

For the next period, the current reading automatically populated the Previous reading column and when I entered the next period's Current reading as 15.00, a Consumed quantity of 12.00 was calculated (Current reading - Previous reading = Consumed quantity). The Consumed quantity is what gets billed!

A great example of this is the electric company reading the meter on your residence and billing you for the consumed quantity within your current billing period. 

An image of an electricity meter on a home
Electricity meter

Usage - Consumption

Now, if a meter is not available and your company has another methodology of calculating usage, the Consumption Reading option is what you would want to select on the Line details of your Billing schedule line.

Line details field Reading options showing the dropdown options of Reading and Consumption with Consumption being selected
Reading option dropdown in the Line details showing Reading and Consumption options

Once Consumption is selected on the Line details for the Billing schedule line that you are generating, navigate to View billing detail to enter the usage. 

Screenshot of the Billing schedule line with the View billing detail button highlighted
Click View billing detail to enter the usage

Here, the usage can be entered directly into the Consumed quantity column and no calculations are performed on the readings between billing periods. The Current reading column is not editable when Consumption is selected. 

Consumed quantity gets entered into the View billing detail form directly
Consumed quantity is entered directly


The third Item type is called Milestone. Milestone billing is an item that gets billed once as part of the subscription. For example, this may be a satellite dish (hardware) and installation fees that comes as a one-time fee for signing up for satellite TV service. 

Satellite dish

These lines can be entered individually, or using a Milestone template. 

Individually, you add the item to the line and select type Milestone. Note that the Milestone lines are listed as One-time under billing frequency. 

Subscription billing schedule with Milestone lines

The Milestone template offers a way to maintain consistency with the Milestone parent item, subitems, and billing if the billing methodology remains the same from customer to customer. There are multiple types of Milestone billing templates, and there is a synopsis of each one below. 

Milestone Template

Milestone templates are created to assign different allocation methods to an item. Milestone templates are found at Subscription billing > Recurring contract billing > Setup > Milestone templates.

There are four types of Allocation methods in Milestone templates:

  • Percentage
  • Variable amount
  • Equal amount
  • Percent completed

Allocation methods in Milestone templates. Percentage, Variable amount, Equal amount, Percent completed
Allocation methods in Milestone templates

Milestone templates can be assigned to items at Subscription billing > Recurring contract billing > Setup > Items. Here, you can tie a Milestone template to an item.

Item 200085 tied to the Percentage Milestone template
Item 200085 is tied to the Percentage Milestone template


Percentage allows you to set a grouping of items in the Milestone template to be consumed at a percentage of the top billing item. The top billing item drives the rate. In our example, item 200085 - Service is $500.00. In the Milestone template, I added three different items into the template:

  • Installation Services - 30%
  • Hardware - 55%
  • Training Service - 15%

Screenshot of template as described above

You can see that the total percentage equals 100%.

When I add the 200085 - Services item to my Billing schedule line, then change the Item type to Milestone, the 200085 - Services item becomes a Milestone parent item and the items from my Milestone template populate as Milestone subitems. The billing frequency is set to "One-time" on each line item, and the Net amount shows the true billed amount of $500 on the Milestone parent item, and the three Milestone subitems split the $500 based on the percentages defined in the Milestone template.

  • Installation Services - 30% or $150
  • Hardware - 55% or $275
  • Training Service - 15% or $75

Let's focus on the Milestone parent and Milestone subitem lines. The hierarchy structures on the Billing schedule lines indicate the relationship between the Milestone parent item with the Milestone subitems that were defined on the Milestone template. 

Top level hierarchy and children hierarchy structures
These hierarchy structures indicate the relationship of the Milestone parent item with Milestone subitems as defined on the Milestone template.

Next, on the Billing schedule line, click Milestone allocation. 

Click Milestone allocation on the Billing schedule line

This will open up a new screen that breaks out the amounts as defined. Here, you can modify the amounts or make changes as desired. When you are satisfied with the amounts, click Process. This step is not necessary unless you are wanting to make a change to the amounts! 

Modify the template in the Milestone allocation screen

On the Billing schedule line, you may have noticed that the End date was blank. Because the details in the View billing details screen are defined based on the end date, the View billing details screen will be blank until an End date is populated. 

Screenshot of blank End date for Milestone billing
End date on the Billing schedule line for Milestone billing is blank

In order to process invoicing on a per-line basis, manually enter the End date when the Milestone was completed and then click View Billing detail. 

In the View billing detail screen, you can see the expected line is ready to be invoiced.

Billing details are populated once the end date is defined
Billing details for line with End date

Variable amount

The Variable amount template allows for you to define a unique quantity per line that cannot be defined by percentages. In the Milestone template, I defined the items as such:

  • Training service - $40
  • Hardware - $360
  • Installation services - $110

For a total amount of $510.00

When I tie the Variable amount template to the 200085 - Services item, then put into a Billing schedule with the Item type Milestone, the billing breaks out according to amounts I defined in my template. Please note that the default sales price for the top level item is $500 and on my template I defined the subitems to equal $510. When I input the item and select Milestone as my Item type, the new price of $510 is defined at the Milestone parent item. This Milestone template overrides the item sales price based on this setup! 

New prices as defined by the Variable amount template

Equal amount

The Equal amount template allows for items added to the template to automatically be split equally by percentage. This template will always equal 100% and the lines will always be as close to equal as possible. For example, two lines would be split at 50% each, four lines will be split at 25% each, etc. 

In my example, because I am using three items, the template splits out to 33.33% each (approximately).

Equal amount template divides the percentage equally across the items

When I tie the Variable amount template to the 200085 - Services item, then put into a Billing schedule with the Item type Milestone, the billing breaks out in equal amounts as defined in my template.

Equally distributed amounts, per the template
Equally distributed amounts, as defined by the template

Percent completed

The Percent completed allocation method allows for a cumulative completion value to be used for each line in the template. 

For example, I entered the items in my template as such:

Training service - 20%
Hardware - 50%
Installation services - 100%

Percent complete Milestone allocation template populated as described above

If we were using the Percentage allocation method, this would err because it would equal 170%. Because we are using the Percentage completed allocation method, each line calculates based on the cumulative completion value defined. 

Percent complete calculations
Percent complete amounts, as defined by the template

So, how is this calculated? Since this is a cumulative calculation, each amount works off the prior line. Here is a breakdown of the calculation.

First line: 20% of the total = $100
Second line: 50% (as defined on template) - 20% (taken on first line) = 30% or $150
Third line: 100% (as defined on template) - 50% (cumulative from lines 1 & 2) = 50% or $250

Here is a link with additional reading on Milestone billing through Microsoft Docs: Milestone billing


The Item types drive a lot of functionality in the Subscription billing module's Recurring contract billing, and it's important to understand how the Item types work when defining subscriptions for your customers. Practice using these and you may find that this functionality will open a world of opportunities in billing. 

No comments: