How Does FinOps Hub Work?

Understanding your Azure cost data journey from export to dashboard

Current Status: Latest data from Oct 01, 2025 to Oct 31, 2025
Tracking 8 subscription(s)

The Complete Data Journey

Step 1: Azure Cost Management Export

Azure generates your cost data in FOCUS format

  • Exports run on your configured schedule
  • Data stored as .csv.gz files in Azure Blob Storage
  • Container: msexports

Step 2: Automatic Import (Daily Sync)

System checks for new exports and imports automatically

  • Runs daily at 2:00 AM UTC
  • Scans for new .csv.gz files
  • Smart detection: Only imports new or updated exports

Step 3: Data Parsing & Validation

Raw CSV data transformed into structured records

  • Parses 96 columns of FOCUS-formatted data
  • Validates required fields
  • Handles multiple currencies

Step 4: Database Storage & Indexing

Validated data stored with optimized indexes

  • Each line item becomes a CostRecord
  • Indexed by dates, subscriptions, services
  • Prevents duplicate imports

Step 5: Aggregation & Caching

Pre-computed summaries for fast dashboard performance

  • Daily, weekly, monthly aggregations
  • Grouped by subscription, service, resource group
  • Identifies top cost drivers

Step 6: Dashboard Visualization

Real-time insights with interactive charts

  • Multiple time ranges (7, 30, 60, 90 days)
  • Breakdown by subscription, service, resource
  • Export to CSV for further analysis

Frequently Asked Questions

The daily sync runs at 2:00 AM UTC every day.

  • Allows Azure exports to complete first
  • Processes data during low-traffic hours
  • Fresh data available when you start your day

Azure Cost Management Exports must be configured correctly:

  • Export Type: Cost and usage (FOCUS format)
  • Frequency: Daily (recommended)
  • Container: msexports
  • File Format: CSV (.csv.gz)

Go to Azure Portal → Cost Management → Exports to set up.

Azure Cost Management has an inherent 24-48 hour delay. This is a Microsoft limitation.

  • Azure collects usage data globally
  • Data must be validated and reconciled
  • Billing calculations include discounts and credits

Yes! FinOps Hub auto-detects all subscriptions in your msexports container.

Currently tracking: 8 subscription(s)

  • finops-64c21818-0806-461a-919c-1c02b989a2d1
  • Pay as you go - Tom Privat
  • finops-64c21818-0806-461a-919c-1c02b989a2d1
  • Pay as you go - Tom Privat
  • finops-64c21818-0806-461a-919c-1c02b989a2d1
  • Pay as you go - Tom Privat
  • finops-64c21818-0806-461a-919c-1c02b989a2d1
  • Pay as you go - Tom Privat

Use Django management commands:

python manage.py import_cost_data
python manage.py sync_daily_costs

Or visit the Import Data page.