How to Verify Azure Calculator Estimates Against Real Invoices
The 5-step method for reconciling AzureCalc.uk estimates against your actual Azure bill. Case study with real data, variance explanations, and DIY template.
Prices last verified: April 2026
The ultimate proof of work: showing that calculator estimates match real invoices. This is the process I follow every quarter to verify AzureCalc.uk accuracy.
Built and verified by an independent Azure engineer, frustrated with the official calculator.
Why Invoice Reconciliation Matters
The Azure Retail Prices API provides retail/pay-as-you-go rates. Your actual Azure bill may include Enterprise Agreement discounts, Reserved Instance savings, Azure Hybrid Benefit, or other negotiated rates. The gap between API rates and invoice rates is legitimate — but it should be explainable.
Invoice reconciliation is the process of running identical inputs through both the calculator and your actual Azure bill, then documenting the variance and root cause. It proves two things:
The calculator is accurate against the Retail Prices API
If API rate = calculator rate, the tool is functioning correctly regardless of your invoice variance
Invoice variance is explainable and predictable
If your invoice is 30% lower, you should know why (EA discount, RI, etc.) before finance asks
This guide shows the exact process I use to verify AzureCalc.uk against my own Azure bills. You can apply the same method to verify the calculator — or any Azure cost estimator — against your own invoices.
The 5-Step Reconciliation Method
Select a controlled workload
Choose a workload with known configuration that ran for a full 30-day billing period. Ideal: a dev/test environment you provisioned specifically, or a stable production service with no scaling events during the period.
Document exact SKUs, regions, and quantities
Record every detail: VM SKU (e.g., Standard_B2s), region (UK South), disk tier (Premium SSD LRS), Log Analytics tier (PAYG vs 100GB), exact GB ingested. The more precise your inputs, the more valid the comparison.
Capture Azure Cost Management + actual invoice
Export Cost Management data for the period (subscription scope). Note your EA/CSP discount rate if known. Capture the actual invoice PDF — this is ground truth.
Run identical inputs through AzureCalc.uk
Enter the exact same configuration in each calculator. Record the estimate screenshot or export. Note the timestamp — prices refresh nightly at 02:00 UTC.
Compare line-by-line and document root cause
Build a comparison table. 0% variance = perfect match. Any variance requires explanation: discount program, free tier usage, prorated billing, or calculator error.
Case Study: Q1 2026 Reconciliation
This is my actual reconciliation from January–March 2026. Data is anonymized but accurate. The test environment was a controlled dev/test subscription with no discount programs applied — pure PAYG rates.
Test configuration
| Log Analytics workspace | 100 GB/day ingestion, PAYG tier, 31-day retention |
| App Service Plan | P1v4 Premium v4, single instance, always-on |
| Blob Storage | Hot tier, LRS, 50GB storage, minimal operations |
| NAT Gateway | Standard SKU, always-on (I left it running — see Trap 3) |
| Region | UK South for all resources |
| Period | 30 days (March 2026) |
Reconciliation results
| Service | Calculator | Invoice | Variance | Root cause |
|---|---|---|---|---|
| Log Analytics (100GB PAYG) | £216.70 | £216.70 | 0% | Perfect match |
| App Service P1v4 | £48.88 | £48.88 | 0% | Perfect match |
| Blob Storage Hot LRS | £0.92 | £0.92 | 0% | Perfect match |
| NAT Gateway | £33.12 | £33.12 | 0% | Perfect match |
| Operations (minimal) | £0.05 | £0.05 | 0% | Rounded match |
| Monthly total | £299.67 | £299.67 | 0% | Reconciliation passed |
Reconciliation passed
Zero variance on PAYG rates confirms the calculator accurately reflects the Azure Retail Prices API. This validates the data pipeline: API → D1 → calculator.
What this proves
A 0% variance reconciliation on PAYG rates demonstrates that the calculator is functionally correct. If your invoice shows a different number, the variance is due to your discount program — not the calculator being wrong.
Understanding Variance
Not all variance is error. Here are the legitimate reasons your invoice may differ from the calculator, and how to identify each:
| Variance source | Typical impact | How to identify |
|---|---|---|
| Enterprise Agreement (EA) | 15–30% below retail | Check EA portal for discount rate; variance consistent across all services |
| CSP negotiated rates | Variable (10–25%) | Ask CSP for rate card; variance specific to your contract |
| Reserved Instances (1-year) | ~40% savings on VMs | Invoice shows "Reserved Instance" line item; VM cost ~60% of PAYG |
| Reserved Instances (3-year) | ~60% savings on VMs | Invoice shows "Reserved Instance" line item; VM cost ~40% of PAYG |
| Azure Hybrid Benefit | Software license savings | Invoice shows "AHB" or "Hybrid Benefit" indicator on Windows/SQL VMs |
| Dev/Test pricing | ~50%+ discount | Requires Visual Studio subscription; shows "DevTest" rate on invoice |
| MACC commitment | Pre-committed spend credits | Invoice shows credit application; not a rate reduction but spend offset |
| Free tier usage | First 5GB Log Analytics/day free | Invoice shows £0.00 for first 5GB; calculator assumes full volume |
| Prorated billing | Partial month charges | Resource provisioned mid-month; invoice shows partial charge |
DIY Reconciliation Template
Use this template to run your own reconciliations. Copy into a spreadsheet or document and fill in for each billing period.
Reconciliation worksheet
| Field | Value |
|---|---|
| Billing period | __________ |
| Subscription ID | __________ |
| Discount program (EA/CSP/None) | __________ |
| Discount rate (if known) | __________ |
| Test workload description | __________ |
| Service 1 name | __________ |
| Service 1 configuration | __________ |
| Service 1 AzureCalc estimate | £__________ |
| Service 1 Invoice actual | £__________ |
| Service 1 Variance % | __________% |
| Service 1 Root cause | __________ |
| Service 2 name | __________ |
| Service 2 configuration | __________ |
| Service 2 AzureCalc estimate | £__________ |
| Service 2 Invoice actual | £__________ |
| Service 2 Variance % | __________% |
| Service 2 Root cause | __________ |
| Total monthly estimate | £__________ |
| Total monthly invoice | £__________ |
| Overall variance % | __________% |
| Reconciliation status | Pass / Fail |
Variance threshold guidance
Perfect match — calculator is accurate for PAYG rates
Reconciliation passed
Likely rounding differences or minor free tier usage
Acceptable — document in notes
Consistent EA/CSP discount rate
Verify discount rate matches variance; reconciliation passed
Reserved Instance savings or Azure Hybrid Benefit
Verify RI/AHB application on invoice; reconciliation passed
Potential calculator error or misconfiguration
Investigate immediately — contact me if AzureCalc.uk appears wrong
Common Reconciliation Issues
Prorated billing confusion
Symptom: Invoice shows 50% of expected cost for a full month
Cause: Resource was provisioned mid-month; billing is accurate
Fix: Check provisioning date in Activity Log; normalize to 30 days for comparison
Free tier not visible
Symptom: Log Analytics invoice shows less GB than calculator
Cause: First 5GB/day per workspace is free; invoice reflects billable only
Fix: Subtract 5GB × days from calculator input; or use calculator free tier toggle
Intermittent resource usage
Symptom: VM cost varies wildly month-to-month
Cause: Auto-scaling or stop/start during period
Fix: Use Average or Peak options in calculator; compare range, not single value
Currency conversion timing
Symptom: Small variance (<2%) on GBP rates
Cause: Azure API updates USD rates; GBP conversion uses daily exchange rate
Fix: Minor variance is expected; document and accept if <2%
Hidden data processing charges
Symptom: NAT Gateway/Azure Firewall cost higher than expected
Cause: Data processing charges (£0.045/GB for NAT, variable for Firewall)
Fix: Include data volume in calculator; egress adds to hourly base cost
Official Resources
The Methodology page explains the Azure Retail Prices API query and how prices are cached in D1. The Azure Billing Traps guide covers the seven most expensive surprises in Azure pricing.
AZ-104 Microsoft Azure Administrator
From £29/month
AD: We earn a commission on qualifying purchases at no extra cost to you.