How do meter readings become tenant invoices?
The path from raw meter readings to a tenant invoice follows this flow:
Step 1 — Meter readings are collected
Data arrives via any of the four import methods (file upload, email, API connection, webhook) or manual entry. Readings are stored per meter with timestamps.
Step 2 — Consumption is calculated
For the billing period, the system calculates consumption per meter:
- Cumulative meters: end reading minus start reading
- Period meters: sum of all period values within the billing window
Step 3 — Cost allocation matrix is applied
The building's cost allocation configuration determines how total costs are split among tenants. The allocation matrix defines:
- Which cost types to allocate (electricity, heating, water, etc.)
- The allocation method per cost type (by area, by area×hours, equal, custom factors)
- Each tenant's allocation percentage/factor
Step 4 — Tenant shares are calculated
Each tenant's share = (Building total consumption × unit price) × tenant's allocation factor
Step 5 — Invoice is generated
A draft invoice is created with line items for each allocated cost type. You can review, adjust, and then finalize and send the invoice.
Where each step happens
- Analytics → Data Import (or Buildings → Meters for manual readings)
- Automatic — happens during billing calculation
- Cost Allocation → select building → configure methods
- Automatic — calculated when you generate a bill
- Tenant Billing → Create New Bill
Common issues with zero amounts on invoices
- No readings exist for the billing period
- The meter isn't assigned to the building or tenant
- The allocation factor for the tenant is 0%
- The meter is inactive