How does spot price billing work when generating invoices from meter data?
When you generate tenant invoices from actual meter data (rather than uploading a utility PDF), the system fetches energy spot prices to calculate costs. Here is the full flow:
Step 1: Building price zone
Your building must be linked to an energy price zone. When you add a building address, the system geocodes it and detects the nearest ENTSO-E price zone (e.g., NO1 for Oslo, NO2 for Kristiansand, SE3 for Stockholm). This is stored as energy_price_zone_id on the building.
Step 2: Spot prices are fetched automatically
The platform automatically fetches hourly day-ahead spot prices from ENTSO-E (the European energy exchange) for all configured zones. Prices arrive in EUR/MWh and are converted to local currency per kWh (e.g., NOK/kWh). These are stored in the energy_spot_prices table and updated regularly.
Step 3: Monthly average is used for billing
When generating a bill for a period, the system calculates the average spot price for that month and zone. For example, if January 2025 in NO1 had an average spot price of 0.85 NOK/kWh, that becomes the base rate.
Step 4: Surcharge is applied
Your billing template can include a surcharge percentage (e.g., 15%). The final rate becomes:
- FinalRate = SpotPrice × (1 + surchargePercent / 100)
- Example: 0.85 × 1.15 = 0.9775 NOK/kWh
Step 5: Cost is calculated per tenant
For each tenant's allocated consumption:
- TotalCost = AllocatedConsumption × FinalRate
- Example: 3,750 kWh × 0.9775 = 3,665.63 NOK
For non-electricity meters (heating, water, gas): the system uses the unit_price from the meter_readings table instead of spot prices, since these utilities don't have a spot market. The surcharge is still applied on top.
Where to configure: Buildings → edit building → verify price zone is detected. Tenant Billing → Templates → set surcharge percentage.