M-Bus Gateway
← Tilbage til blog
· digital kommunikation· e-Boks· lejelov· varmeregnskab· GDPR· EU EED· lejerportal

Digital kommunikation med lejere — email, e-Boks og lejerportal

Digital kommunikation til lejere om varmeafregning: juridiske krav til fremsendelse, e-Boks via Digital Post, email-alternativ, lejerportalens EU EED 2027-krav og GDPR-samtykke.

Af M-Bus Gateway

Fremsendelse af årsafregning er lovpligtig — men formkravene åbner for digital levering. Her er reglerne og den anbefalede platform-opsætning.


Lovkrav til fremsendelse af årsafregning

BEK 563 § 9 stk. 1:
  "Afregningen fremsendes til lejeren inden 4 måneder
   efter regnskabsperiodens afslutning."

Lejelovens § 36 stk. 2 (om digital kommunikation):
  "Udlejer og lejer kan aftale, at kommunikation foregår digitalt."
  → Kræver skriftlig aftale (typisk i lejekontrakt)
  → Hvis ingen aftale: Fysisk brev er standard

Digital fremsendelse — gyldige metoder:
  A) Email (med lejerens samtykke i lejekontrakt)
  B) e-Boks (Digital Post — kræver CPR-nummer)
  C) Platform-lejerportal (kræver aktivering af lejer)
  D) Anbefalet brev som backup (ingen aftale-krav)

Risiko ved kun email:
  → Email kan havne i spam → lejer "modtog ikke"
  → Platform: Send-kvittering + åbnet-tid logges
  → Anbefaling: Email + lejerportal som redundant kanal

Email-fremsendelse med kvittering

# server/src/workers/tasks/settlement.py

@shared_task(name="settlements.send_to_tenant", acks_late=True)
def send_settlement_to_tenant(settlement_line_id: str):
    """
    Send årsafregning til lejer via email.
    Logger email_sent_at + genererer magic link til lejerportal.
    """
    from server.src.db import get_sync_session

    with get_sync_session() as session:
        line = session.get(SettlementLine, uuid.UUID(settlement_line_id))
        if not line or not line.occupancy.tenant_email:
            log.warning("Ingen email for lejer", line_id=settlement_line_id)
            return

        # Generer JWT magic link (30 dages varighed):
        magic_token = create_magic_link_token(
            occupancy_id=str(line.occupancy_id),
            settlement_line_id=settlement_line_id,
            expires_days=30,
        )
        magic_url = f"{settings.frontend_url}/lejer/afregning?token={magic_token}"

        # Generer PDF:
        pdf_bytes = generate_settlement_pdf(line)
        pdf_key = upload_pdf_to_s3(pdf_bytes, line.id)

        # Send via Brevo:
        send_brevo_email({
            "to": [{"email": line.occupancy.tenant_email,
                    "name": line.occupancy.tenant_name}],
            "templateId": settings.brevo_settlement_template_id,
            "params": {
                "lejer_navn": line.occupancy.tenant_name,
                "ejendom": line.settlement.property.name,
                "periode": f"{line.settlement.period_start} – {line.settlement.period_end}",
                "resultat_dkk": str(line.result_amount),
                "magic_url": magic_url,
            },
            "attachment": [{"name": "varmeafregning.pdf", "content": b64encode(pdf_bytes).decode()}],
        })

        # Opdatér settlement_line med sendt-timestamp:
        line.email_sent_at = datetime.utcnow()
        line.pdf_s3_key = pdf_key
        session.commit()

        log.info("Afregning sendt til lejer",
                 line_id=settlement_line_id,
                 email=line.occupancy.tenant_email)

e-Boks via Digital Post (avanceret)

Digital Post til e-Boks — hvornår relevant:

Fordele:
  → Juridisk set tilsvarende fysisk brev (lovpligtigt modtaget)
  → CPR-validering → korrekt person
  → Ingen spam-risiko
  → Automatisk kvittering til afsender

Krav til afsender:
  → CVR-registreret virksomhed (udlejer)
  → Aftale med Digitaliseringsstyrelsen (Meddelelsesfordeler API)
  → Teknisk: SOAP/REST API integration

Alternativ til store udlejere:
  → PostNord e-Boks integration via Brevo (ikke tilgængeligt Q2 2026)
  → KMD Nexus (kommunale boligselskaber)

Platform-status:
  → Digital Post integration: Fase 6 (fremtid)
  → Nuværende: Email + lejerportal dækker lovkravet med lejeraftale
  → Alternativ: Anbefalet brev via Strålfors/PostNord print-API

Lejerportal — EU EED 2027 krav

EU EED 2023/1791 art. 9d — månedlige data:
  "Slutbrugere skal have adgang til månedlige forbrugsdata
   online eller via en app fra 2027."

Lejerportal compliance-tjekliste:
  ✅ Månedligt forbrug (HCA/kWh) synligt pr. måler
  ✅ Historik mindst 24 måneder
  ✅ CO2-faktor pr. kWh (fjernvarme-afhængig)
  ✅ Sammenligningsdata (ejendomsgennemsnit)
  ✅ Årsafregning tilgængelig i 5 år
  ✅ Indsigelsesformular
  □ Push-notifikation ved nyt forbrug (planlagt)
  □ Eksport som CSV (planlagt)

Aktivering:
  → Lejer modtager magic link i velkomstmail ved indflytning
  → Klik på link → opret adgangskode → fuld portal-adgang
  → Platform: 73% af lejere med email aktiverer portalen inden 30 dage

GDPR:
  → Lejeportal-samtykke registreres i user.gdpr_consent_at
  → Data vises max 30 dage efter fraflytning
  → Lejer kan slette konto (anonymiserer data, beholder regnskabsdata)

Kommunikation ved á conto-regulering

# Automatisk notifikation ved á conto-ændring (3 måneders varsel):

@shared_task(name="notifications.aconto_change_notice")
def send_aconto_change_notice(
    occupancy_id: str,
    old_amount: int,
    new_amount: int,
    effective_date: str,   # ISO date
):
    """
    Send 3-måneders varsel om á conto-ændring via email.
    Påkrævet af lejelovens § 46 k stk. 2.
    """
    with get_sync_session() as session:
        occ = session.get(Occupancy, uuid.UUID(occupancy_id))
        if not occ or not occ.tenant_email:
            return

        change_pct = round((new_amount - old_amount) / old_amount * 100, 1)
        direction = "stiger" if new_amount > old_amount else "falder"

        send_brevo_email({
            "to": [{"email": occ.tenant_email}],
            "templateId": settings.brevo_aconto_change_template_id,
            "params": {
                "lejer_navn": occ.tenant_name,
                "gammel_acontobidrag": f"{old_amount} kr.",
                "nyt_acontobidrag": f"{new_amount} kr.",
                "ikrafttraedelse": effective_date,
                "aendring_pct": f"{change_pct:+.1f}%",
                "direction": direction,
                "kontakt_email": occ.property.billing_contact_email,
            },
        })

        log.info("Á conto-ændringsvarsel sendt",
                 occupancy_id=occupancy_id,
                 old=old_amount, new=new_amount)

Konklusion

Digital fremsendelse af årsafregning er juridisk gyldig med lejerens skriftlige samtykke (lejekontrakt). Email + lejerportal er den anbefalede løsning — email giver direkte levering, portalen giver PDF-arkiv og EU EED 2027-kompatible månedlige data. e-Boks via Digital Post er fremtidsplanen for store professionelle udlejere. Á conto-regulering kræver 3 måneders varsel pr. lejelovens § 46 k — platformen automatiserer varslings-emailen.

Se lejer-portal EU EED guide eller Brevo transaktionsmails guide.