diff --git a/README.md b/README.md
index 93fa15f..c6ad12d 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,7 @@ vCTP is a vSphere Chargeback Tracking Platform, designed for a specific customer
- Snapshots are registered in `snapshot_registry` so regeneration via `/api/snapshots/aggregate` can locate the correct tables (fallback scanning is also supported).
- Reports (XLSX with totals/charts) are generated automatically after hourly, daily, and monthly jobs and written to a reports directory.
- Hourly totals in reports are interval-based: each row represents `[HH:00, HH+1:00)` and uses the first snapshot at or after the hour end (including cross-day snapshots) to prorate VM presence by creation/deletion overlap.
+- Monthly aggregation reports include a Daily Totals sheet with full-day interval labels (`YYYY-MM-DD to YYYY-MM-DD`) and prorated totals derived from daily summaries.
- Prometheus metrics are exposed at `/metrics`:
- Snapshots/aggregations: `vctp_hourly_snapshots_total`, `vctp_hourly_snapshots_failed_total`, `vctp_hourly_snapshot_last_unix`, `vctp_hourly_snapshot_last_rows`, `vctp_daily_aggregations_total`, `vctp_daily_aggregations_failed_total`, `vctp_daily_aggregation_duration_seconds`, `vctp_monthly_aggregations_total`, `vctp_monthly_aggregations_failed_total`, `vctp_monthly_aggregation_duration_seconds`, `vctp_reports_available`
- vCenter health/perf: `vctp_vcenter_connect_failures_total{vcenter}`, `vctp_vcenter_snapshot_duration_seconds{vcenter}`, `vctp_vcenter_inventory_size{vcenter}`
diff --git a/components/views/index.templ b/components/views/index.templ
index 5d9b2a8..cd017f1 100644
--- a/components/views/index.templ
+++ b/components/views/index.templ
@@ -51,31 +51,32 @@ templ Index(info BuildInfo) {
vCTP is a vSphere Chargeback Tracking Platform.
Hourly snapshots capture inventory per vCenter (concurrency via Daily summaries aggregate the hourly snapshots for the day; monthly summaries aggregate daily summaries for the month (or hourly snapshots if configured). Snapshots are registered in Reports (XLSX with totals/charts) are generated automatically after hourly, daily, and monthly jobs and written to a reports directory. Hourly totals are interval-based: each row represents Monthly aggregation reports include a Daily Totals sheet with full-day interval labels (YYYY-MM-DD to YYYY-MM-DD) and prorated totals. SamplesPresent is the count of snapshots in which the VM appears; TotalSamples is the count of unique snapshot times for the vCenter. AvgIsPresent = SamplesPresent / TotalSamples (0 when TotalSamples is 0). Daily AvgVcpuCount/AvgRamGB/AvgProvisionedDisk = sum of per-sample values divided by TotalSamples (time-weighted). Daily pool percentages use pool hits divided by SamplesPresent, so they reflect only the time the VM existed. Monthly aggregation weights daily averages by daily total samples, then divides by monthly total samples. CreationTime is only set when vCenter provides it; otherwise it remains 0.Overview
+ Overview
Snapshots and Reports
-
-
+ Snapshots and Reports
+ hourly_snapshot_concurrency).snapshot_registry so regeneration via /api/snapshots/aggregate can locate the correct tables (fallback scanning is also supported).[HH:00, HH+1:00) and uses the first snapshot at or after the hour end (including cross-day snapshots) to prorate VM presence.Prorating and Aggregation
-
-
+ Prorating and Aggregation
+
vCTP is a vSphere Chargeback Tracking Platform.