M-Bus Gateway
← Tilbage til blog
· dataeksport· CSV· Excel· Power BI· e-conomic· OIOUBL· API· integration

Dataeksport fra varmeregnskab — til Excel, Power BI og regnskabssystemer

Eksportér aflæsninger, fordelingsgrundlag og afregningslinjer fra varmeregnskabssystemet til Excel, Power BI, e-conomic eller Business Central. Komplet guide.

Af M-Bus Gateway

Varmeregnskabsdata har værdi langt ud over den lovpligtige årsafregning. Her er how du eksporterer og anvender data i dine foretrukne systemer.


Hvad kan eksporteres?

Platformen understøtter eksport af alle primære datatyper:

DatatypeFormatIndhold
AflæsningerCSV, JSONTidsstempel, måler-ID, type, enhed, værdi, RSSI
FordelingsgrundlagCSVAreal, HCA-enheder, 30/70-split pr. lejlighed pr. periode
AfregningslinjerCSVÁ conto, faktisk forbrug, difference, slut-beløb pr. lejer
ÅrsafregningPDFFærdig afregning klar til udsendelse
OIOUBL-fakturaXMLUBL 2.1 Invoice til NemHandel/e-conomic/Business Central
Audit-logCSVAlle handlinger med tidsstempel og bruger

CSV-eksport til Excel

Aflæsninger

REST API:
GET /api/v1/export/readings?property_id=EJD-001&from_date=2025-06-01&to_date=2026-05-31
Authorization: Bearer YOUR_API_KEY

CSV-format (UTF-8 BOM for dansk Excel):
timestamp,meter_id,meter_type,unit_label,value,unit,rssi
2026-01-15T06:01:23Z,12345678,heat,Lejl. 1,1234.56,kWh,-78
...

UTF-8 BOM er inkluderet automatisk — Excel åbner korrekt med æøå og kommaseparering direkte.

Afregningslinjer

GET /api/v1/export/settlement-lines?settlement_id=SLT-2025-001
CSV-format:
unit_label,tenant_name,area_m2,hca_units,heat_share,area_share,total_due,a_conto_paid,balance
Lejl. 1,Anders Hansen,75,120,8500,3200,11700,9600,2100
...

Power BI integration

Direkte via REST API

Power BI understøtter REST API som datakilde via Power Query:

  1. Hent dataWeb → Angiv URL:
    https://api.mbus-gateway.dk/api/v1/readings/monthly?property_id=EJD-001
    
  2. Under Avanceret → tilføj header:
    Authorization: Bearer YOUR_API_KEY
    
  3. Transform JSON-response med Power Query M-script

Automatisk opdatering

Konfigurér Planlagt opdatering i Power BI Service til daglig synk — data opdateres automatisk hver morgen efter gateway-send kl. 06:00.

Anbefalede Power BI-visualiseringer

VisualiseringDataFormål
Line chartMonthly consumption pr. propertyTrend-analyse
Bar chartPer-unit HCA comparisonSammenlign lejligheder
MapRSSI pr. gatewayDækning-overblik
KPI-cardActive meters / Silent metersDrift-status
TableSettlement linesAfregnings-detail

e-conomic integration

Via OIOUBL-faktura (anbefalet for almene/kommunale)

For ejendomme med EAN-nummer kan årsafregninger eksporteres som OIOUBL NemHandel-fakturaer:

GET /api/v1/settlements/{id}/oioubl
→ UBL 2.1 Invoice XML
→ Upload til e-conomic via NemHandel-modtagerboks

Via CSV-import

GET /api/v1/export/settlement-lines?settlement_id=SLT-2025-001&format=csv
→ Importér i e-conomic via Bankafstemning eller Journalbilag

Feltkortlægning til e-conomic:

CSV-felte-conomic felt
tenant_nameDebitornavn
total_dueBeløb inkl. moms
unit_labelTekst/reference
settlement_idBilagsnummer

Business Central (Microsoft)

Business Central underst��tter to metoder:

1. OIOUBL-import

Identisk med e-conomic — via NemHandel-konnektoren.

2. REST API via Power Automate

Power Automate flow:
  Trigger: Planlagt (daglig kl. 07:00)
  Handling: HTTP GET /api/v1/readings/latest
  Handling: Parse JSON
  Handling: Business Central → Opret finansbilag

Grafana + InfluxDB til driftsmonitoring

For tekniske administratorer der vil visualisere gateway-performance:

# Python script til InfluxDB-injektion
import requests, influxdb_client

readings = requests.get(
    "https://api.mbus-gateway.dk/api/v1/readings/latest",
    headers={"Authorization": f"Bearer {API_KEY}"}
).json()

client = influxdb_client.InfluxDBClient(url=INFLUX_URL, token=INFLUX_TOKEN, org=ORG)
write_api = client.write_api()

for r in readings:
    point = (
        influxdb_client.Point("meter_reading")
        .tag("meter_id", r["meter_id"])
        .tag("meter_type", r["meter_type"])
        .field("value", r["latest_value"])
        .field("rssi", r["rssi"])
        .time(r["latest_ts"])
    )
    write_api.write(bucket=BUCKET, record=point)

Automatisér via webhooks

I stedet for polling kan du abonnere på events:

// POST /api/v1/api-keys/webhooks
{
  "url": "https://dit-system.dk/webhook/varme",
  "events": ["reading.new", "settlement.sent", "alarm.created"],
  "secret": "din-webhook-secret"
}

Tilgængelige events:

EventHvornårPayload
reading.newNy aflæsning modtagetmeter_id, value, timestamp
settlement.sentAfregning sendt til lejersettlement_id, unit_id, tenant_email
alarm.createdNy alarmalarm_type, meter_id, severity
gateway.offlineGateway ikke set i 24tgateway_id, last_seen

Datamodel til eget regnskabssystem

Fuld OpenAPI 3.0 spec tilgængeligt på /api — alle endpoints er dokumenterede med request/response-schemas. Understøtter JWT Bearer-token auth.


Konklusion

Aflæsningsdata er ikke låst inde i systemet — alt kan eksporteres via CSV, JSON, OIOUBL eller webhooks. Fra Excel til Power BI til Business Central: vælg den integration der passer til dit regnskabsworkflow.

Se REST API-dokumentation eller opret API-nøgle i portalen.