Catalogue, Pricing, and Calculator
Catalogue, Pricing, and Calculator
Overview
Catalogue and pricing records define what CMS can bill and estimate. Pricing can be scoped to regions or tenants, with tenant-scoped pricing overriding regional pricing.
Catalogue Areas
| Platform | Catalogue data |
|---|---|
| Azure Stack | Meters and SKUs. |
| Azure Local | Meters and image records stored through the template path. |
| Public Azure | Azure resource type mappings and pass-through pricing. |
| CloudStack | Offers and templates. |
Platform catalogue tabs are shown only when at least one region exists for that platform. If a platform catalogue is opened before a region exists, the portal shows an empty-state alert instead of empty grids.
Pricing
Platform administrators can create pricing rows for supported platform pricing types:
| Platform | Pricing types |
|---|---|
| Azure Stack | Meter and SKU. |
| Azure Local | Meter and Template. |
| Public Azure | Pass-through pricing using PassThroughIncrease. |
| CloudStack | Offer and Template. |
Pricing rows can be scoped to a region or tenant. Tenant pricing overrides region pricing for the selected tenant scope.
Pricing Import and Export
The Pricing grid supports CSV export and update-only CSV import.
CSV export includes stable import identifiers such as meter, SKU, offer, template, platform, related type, related ID, and pricing type.
CSV import:
- Requires PlatformAdministrator.
- Matches only existing rows in the selected price-list scope.
- Supports dry-run validation.
- Rejects rows whose scope columns do not match the selected scope.
- Does not create missing pricing rows.
Planned Behaviour: A future create-missing-rows import mode is listed as backlog once product rules for creating platform catalogue pricing from CSV are defined.
Pricing Thresholds
Tiered pricing is represented through pricing thresholds where enabled. Billing and calculator workflows must respect tiered pricing where the relevant pricing rows and thresholds apply.
Public Azure Pass-Through Pricing
Public Azure does not create per-meter CMS price rows for imported Azure cost details. CMS starts with the Azure source cost, applies CMS currency conversion when needed, then applies PassThroughIncrease.
Formula:
FinalCost = ConvertedSourceCost + (ConvertedSourceCost * PassThroughIncrease / 100)
Calculator
The calculator lets users estimate monthly cost from price lists they are allowed to use.
The calculator API returns only scoped tenants, regions, platforms, and price-list items. The portal uses those scoped options instead of broad entity endpoints.
Role behaviour:
| Role family | Calculator scope |
|---|---|
| Platform roles | All tenants, regions, and scoped price lists. |
| Distributor roles | Tenants and pricing under the distributor hierarchy. |
| Partner roles | Tenants and pricing under the partner hierarchy. |
| Tenant roles | Own tenant pricing only. |
Region tenant access is applied before options and pricing are returned.
Security and Scoping
Pricing mutation routes require PlatformAdministrator. Price-list import matching is scoped by platform, related type, related ID, and pricing type. Display names, categories, descriptions, and row order are not used for import matching.
The calculator is available to all roles, so its API enforces tenant, partner, distributor, region, and price-list visibility server-side.
Related Pages
- Regions and Platforms
- Usage, Billing, and Invoicing
- Quotas