meshStack imports Azure costs through the Cost Management API using the Amortized cost view. Azure spreads reservation and savings plan purchases evenly over their term in this view. The Azure Portal cost analysis defaults to the Actual cost view, and the Microsoft invoice follows the same logic: the full purchase appears in the month it was bought.
As a result, chargeback statements for subscriptions that purchased a reservation do not match the Azure Portal or the invoice in the purchase month. Finance teams that reconcile meshStack against the Microsoft invoice see a significant gap and open support tickets, even though both figures are correct for their respective view.
Proposed solution
Let platform operators choose which Azure cost view meshStack collects per Azure platform:
  • Amortized cost (current behavior): usage-based costs with reservation purchases spread over the term. Best for showing teams a stable monthly cost.
  • Actual cost: matches the Azure Portal default and the Microsoft invoice, including one-time reservation and savings plan purchases in the month of purchase. Best for invoice reconciliation.
Ideally the choice is visible on the chargeback statement and the tenant usage report, so users know which view they are looking at.