VM Billing Report

Use the VM Billing report to provide a metered view of actual VM resource allocation and associated cost. The VM Billing report shows you summarized daily costs for any period you choose. For example, you can report on:

  • costs for a particular VM, including resource, OS and custom costs
  • resource costs for the last week, the last month, or the last year
  • costs for resources assigned to a particular owner
  • costs for VMs that provide services to multiple organizations

By default, the report includes data for all VMs for which at least one billing record was generated during the period. Templates are not included in the report.

Report data is based on costs from billing records, which are generated nightly. The costs in the VM billing records, in turn, are calculated from the VM at the time the billing records are written, and from the relevant cost model values. See Configuring Cost Models for details.

By default, this report uses historical data. If the managed system was added to vCommander recently, retrieving historical data (for vCenter, AWS and Azure) will provide more data for this report. When historical data is retrieved, vCommander automatically generates billing records for the retrieval period. If no historical data is available, the report provides options to use current data with projections. To learn how to retrieve historical data, see:


  • Because GCP billing data doesn't include costs for individual VMs, the VM Billing Report always uses estimated costs for GCP VMs, rather than historical costs from billing data.
  • Because AWS and Azure generate billing records for the last day of the month a few days late, we recommend scheduling your VM Billing Report to run several days after the last day of each month.

Report settings

Access through:

Reports menu > Chargeback and IT Costing > VM Billing


From the Cost Analytics dashboard: Views > Solutions > Cost Analytics

Available to:

All Access Rights Levels

During: Specify a time period for the report.

  • When you select By Period, the period will be the last completed day, week, month, quarter or year. For example, if the current month is May and you select Last 3 Months, the range for the report will be February, March and April. See Using Date Filters for Reporting and Searching for more information.
  • When you select By Dates, vCommander prepopulates the From Date field with the earliest date available for selection, which is the date when the first managed system was added to vCommander. Note that this date doesn't reflect the period for which vCommander has retrieved AWS or Azure billing data.

Cost Model: Generate VM costs for the Current Location based on:

  • historical costs — This is the default option. It uses both the cost model and VM resource usage from the billing records. With this option, VM uptime is taken from the nightly billing records.

    If the managed system was added to vCommander recently, retrieving historical data for vCenter, AWS and Azure provides more data for this report. For GCP managed systems, however, VM billing records and the VM Billing Report always use estimated costs, rather than historical data.

  • current costs — Show costs as though the current cost model were in effect for the specified timeframe, but take VM resource usage from the historical billing records. This option allows you to change your cost model but still use the actual VM resource usage from the billing records. With this option, VM uptime is taken from the nightly billing records.
  • projected costs — Show costs as though the current cost model and current VM resource usage were in effect for the specified timeframe. Only VMs that currently exist are included in the report. With this option, VM uptime is set to 100% for currently running VMs and to 0% for currently powered-off VMs.

    The Current and Projected options aren't supported for AWS or Azure, because the Historical option is based on retrieved billing data and is much more accurate. When you select either Current or Projected and the Location is set to an AWS or Azure managed system, a message is displayed in the Report Generator to indicate that this option isn't supported, and it's not possible to generate the report. When you select Current or Projected and the Location is set to Global, AWS and Azure VMs are excluded from the report, and the report displays a message to indicate this exclusion.

Location: Use the tree to narrow down the set of VMs to report on (for example, choose a managed system or your Production infrastructure).

Organization: If you're generating a billing report for a particular customer, you likely want to filter the report by organization.

  • Any Organization: VMs that are not assigned to an organization are excluded from the results.
  • All VMs: The report includes all VMs, regardless of organizational assignment.

    You can also select a particular organization name from the drop-down list.

    If you want to use a Contains operator, an advanced Organization Name filter is also available.

Cost Details: With the default option, Show all, shared-cost services are displayed in the main report table, "VM Costs to Date". To display shared-cost VMs in a separate table, select Show shared-cost services separately. Shared-cost VMs are then displayed in a table labeled "Shared Service Costs to Date", underneath the main table. To report on all shared-cost services for all organizations (and no unshared services), select Show shared-cost services only.

When a billing name is assigned to VMs, the billing name is always used in the report. When multiple VMs are assigned the same billing name and you select the default Show all, you may see multiple rows in the table with the same value for the Name column. When you select Show shared-cost services separately, by contrast, all services with the same billing name are grouped into a single table row.

If the VM Billing report spans a period both before and after you allocated service costs, the report includes only VMs; shared services don't appear. For example, let's say you allocated service costs on Wednesday. On Friday, you generate a VM Billing report for the period from the previous Monday to Friday. The shared-cost VMs appear as VMs, not as shared services. If you change the period of the report so that it covers only Wednesday to Friday, then the shared services appear.

For more information and an example, see Allocating Service Costs among Multiple Organizations.

Uptime Percentage: Choose to show or hide the Uptime (%) column in the report. By default, this column is hidden. This column displays the uptime percentage for each VM in the report. VM uptime affects report costs if any costs have been set to be calculated only while VMs are running.

VM uptime calculations are related to the Cost Model report option. When the Cost Model option is set to Current costs or Historical costs, VM uptime is taken from the nightly billing records. When the Cost Model setting is set to Projected costs, by contrast, VM uptime is set to 100% for currently running VMs and to 0% for currently powered-off VMs.

Upgrade note: Billing records created before the introduction of the VM uptime feature are considered to have an uptime percentage of 100% for reporting purposes.

Group By: There are several ways to group the report data (for example, you can group by cost center).

Add Advanced Filters: You can filter the report by VM name, custom attributes, ownership and organization name.

When filtering by Organization Name, you can use a contains operator. For example, if you have organizations named Acme 1 and Acme 2, filtering the report by "Organization Name contains Acme" ensures that the report contains data for both organizations. Note that the Organization Name filter doesn't take cost allocation into account. You can also use the Organization basic filter.

When filtering by a custom attribute, vCommander retrieves the list of all VMs which existed in the location targeted by the report during the reporting period. Records for any VM for which there is no billing record are discarded. Then, records for any VMs that did not have the selected custom attribute applied on at least one of the following points in time are discarded:

  • The first day of the reporting period
  • The day the VM was created
  • The day the VM was deleted
  • The last day of the reporting period

This means that it's possible for VMs with the filtering attribute applied on other dates to be excluded from the report.

Once the rows are filtered to VMs with the filtering attributes applied on one of these dates, the complete billing records for the reporting period will be displayed, whether or not the attribute was applied for the entire period.

For more information on setting report options, see Running and Scheduling Reports.

How do infrastructure and cost model changes affect the VM Billing report? 

How does moving a VM affect the VM Billing Report?

For example, cost model A was assigned to a VM when billing record 1 was generated. Then the VM was moved within the operational tree, and as a result, cost model B is assigned to the VM when billing record 2 is generated. This means:

  • If you generate the report using Historical costs, vCommander simply uses the costs stored in the two VM billing records.
  • If you generate the report using Current costs:

    For billing record 1: vCommander uses the cost model currently in effect for the VM's previous location in the tree.

    For billing record 2: vCommander uses the cost model currently in effect for the VM's new location in the tree.

What happens to the VM Billing report if I make a change to the operational tree?

If you make changes to the operational tree, for example, if you delete a resource pool or folder, a VM Billing report generated with the Historical setting is unaffected, because it uses costs from the VM billing records. A VM Billing report generated with the Current setting will no longer use that cost model, unless the model is applied to a higher node in the current hierarchy.

What happens if a cost model is deleted?

If a cost model is deleted, the next cost model higher up the tree is applied. If no cost model is found, the Default Private Cloud cost model is applied.

Understanding the report

If you have allocated service costs among multiple organizations, the report will include information for shared-cost services. For an example and explanation, see Allocating Service Costs among Multiple Organizations.

The Days column in the "VM Costs to Date" table represents the number of days that a billing record was generated for the VM.

If you see a message in the "VM Costs to Date" section indicating that only the first 1,000 VMs are displayed, use the Location setting or Advanced Filters to report on a subset of your VMs.

You may see a section at the bottom of the report titled "VMs Without Billing Records". This section includes:

  • VMs that have been managed by vCommander for less than a day
  • VMs for which vCommander has no historical events

If you see a section titled "Value not set", it contains VMs with no value for the grouping option you selected. For example, if you've grouped by organization name, this section lists VMs not owned by an organization.

Example VM Billing report

VM Billing Report, Part 1
VM Billing Report, Part 2