M-Bus Gateway
← Tilbage til blog
· tomgang· ledig lejlighed· udlejningsstopp· BEK 563· fællesbidrag· frostbeskyttelse· pro-rata

Varmeregnskab ved tomgang og udlejningsstopp — hvad gør udlejeren?

Varmeafregning ved ledige lejligheder og udlejningsstopp: fordeling af tomgangsomkostninger, frostbeskyttelse BR18, platformkonfiguration, á conto ved tomgang og korrekt pro-rata ved genudlejning.

Af M-Bus Gateway

En tom lejlighed bruger stadig varme til frostbeskyttelse og fællesforbrug. BEK 563 kræver at ejendommens samlede udgifter fordeles — men hvad sker der med den tomme lejligheds andel?


Tomgangsomkostninger — hvem betaler?

Retsgrundlag:

BEK 563 kræver at ejendommens SAMLEDE varmeudgifter fordeles.
Der er ingen specifik paragraf om tomme lejligheder.

Udgangspunkt: Ingen lejer = ingen til at bære omkostningen
  → Tom lejlighed registrerer stadig HCA-enheder (frostbeskyttelse)
  → Disse enheder har ingen lejer at tilknytte

Branche-praksis (to modeller):

  Model A — Udlejer bærer tomgangsomkostningen:
    → Standard: Udlejer er ansvarlig for sin ejendom
    → HCA-enheder i tom lejlighed medregnes ikke til øvrige lejere
    → Udlejer dækker differencen via driftsbudget
    → Klarest juridisk: Ingen lejer = ingen lejerforpligtelse

  Model B — Fordeling til øvrige lejere (ved aftale):
    → Kræver eksplicit aftale i husorden eller lejekontrakt
    → Tomgangsandel fordeles proportionalt med m²
    → Øvrige lejere betaler en smule mere
    → Skal fremgå af årsafregningen som separat post

Platform-konfiguration:
  Property.vacancy_cost_bearer: "landlord" | "other_tenants"
  Default: "landlord" (klarest juridisk)

Frostbeskyttelse og minimumsvarme

Lovkrav til frostbeskyttelse i tomme lejligheder:

BR18 § 297 (Bygningsreglementet):
  → Udlejer har pligt til at forebygge frostskader
  → Tom bolig: Mindst 5°C i alle rum (frostpunkt)
  → Vandinstallationer: Afblændes eller holdes frostfri

Praktisk opsætning:
  → Termostat: Sæt til 10-12°C (margin over frostpunkt)
  → HCA-registrering: Viser lavt men ikke nul forbrug
  → Platform-alarm: "Muligt varmestop" udløses IKKE ved lavt forbrug
    (supprimeres automatisk ved Unit.status = "vacant")

Fjernvarme vs. elvarme ved tomgang:
  → Fjernvarme: Fordelingsrør holder temperaturen passivt
  → Elvarme: Dyrere — kun frostbeskyttelse nødvendig
  → Vandlåse i toiletter: Fyldes med frostvæske ved lang tomgang

Platform-alarm konfiguration:
  Unit.status = "vacant"
  → Supprimerer "stille måler"-alarm (ingen daglig alarm ved lavt forbrug)
  → Registrerer frostbeskyttelsesaflæsning (kontrol én gang pr. uge)
  → Notificerer udlejer ved VERY lav temperatur (< 8°C)

Tomgangsberegning i fordelingsregnskabet

# server/src/distribution/vacancy.py
from decimal import Decimal
from dataclasses import dataclass
from datetime import date


@dataclass
class VacancyPeriod:
    unit_id: str
    vacant_from: date
    vacant_to: date    # Dato for ny lejer indflytning
    hca_units_during_vacancy: Decimal

    def days(self) -> int:
        return (self.vacant_to - self.vacant_from).days

    def fraction_of_year(self, period_days: int) -> Decimal:
        return Decimal(self.days()) / Decimal(period_days)


def allocate_vacancy_costs(
    vacancy_periods: list[VacancyPeriod],
    occupied_units: list[dict],    # [{"unit_id": str, "floor_area_m2": Decimal}]
    total_hca_units: Decimal,
    vacancy_bearer: str = "other_tenants",
) -> dict[str, Decimal]:
    """
    Fordel tomgangs-HCA-enheder til øvrige lejere (proportionalt m²).
    Returnerer ekstra-bidrag pr. unit_id.
    """
    if vacancy_bearer == "landlord":
        return {}    # Udlejer bærer det selv — ingen fordeling

    total_vacancy_hca = sum(vp.hca_units_during_vacancy for vp in vacancy_periods)

    if total_vacancy_hca == Decimal("0"):
        return {}

    total_occupied_area = sum(
        Decimal(str(u["floor_area_m2"])) for u in occupied_units
    )

    if total_occupied_area == Decimal("0"):
        return {}

    # Fordel tomgangs-HCA proportionalt til øvrige lejere
    extra_allocation: dict[str, Decimal] = {}
    for unit in occupied_units:
        share = Decimal(str(unit["floor_area_m2"])) / total_occupied_area
        extra_allocation[unit["unit_id"]] = total_vacancy_hca * share

    return extra_allocation

Pro-rata ved genudlejning

Ny lejer indflytter i tomgangsperiode:

Eksempel:
  Regnskabsperiode: 1. juni 2025 → 31. maj 2026
  Lejlighed tom: 1. oktober 2025 → 31. januar 2026 (123 dage)
  Ny lejer indflytning: 1. februar 2026

  Pro-rata for den tomme periode (okt-jan):
  → HCA-forbrug: 180 enheder (frostbeskyttelse)
  → Bæres af udlejer (model A) eller fordeles til øvrige (model B)

  Pro-rata for ny lejer (feb-maj):
  → HCA-forbrug: 95 enheder
  → Andel: 120 dage / 365 dage = 32,9%
  → Ny lejer betaler kun for sin periode

Platform:
  → Occupancy afsluttes (vacant_to) ved gammel lejers fraflytning
  → Ny occupancy oprettes ved ny lejers indflytning
  → Platform beregner automatisk:
    1. Tomgangsperiode HCA → fordeles til øvrige
    2. Ny lejers pro-rata baseret på dage
  → PDF-afregning: Viser korrekt periode + HCA-andel

Konklusion

BEK 563 indeholder ingen specifik paragraf om tomme lejligheders varmeomkostninger — branchen anvender to modeller: udlejer bærer omkostningen (model A, klarest juridisk) eller fordeling til øvrige lejere ved eksplicit aftale i husorden (model B). Platform-konfiguration med Unit.status = "vacant" supprimerer stille-måler-alarmer og beregner automatisk tomgangs-fordeling. Pro-rata for ny lejer fra indflytningsdato beregnes automatisk. Frostbeskyttelse (10-12°C) er udlejers pligt og registreres som lavt HCA-forbrug i platformen.

Se varmeregnskab renovering tomgang guide eller pro-rata guide.