Hafiz Khalid · hmsk.life

Nebenkosten Check

Is your Nebenkostenabrechnung correct?

For tenants in Germany who got their yearly Nebenkostenabrechnung and want to know whether to pay it. Enter the dates and cost lines; you get the problems with their legal source and a letter in German. No signup, nothing leaves your browser.

Runs
In your browser
Signup
Not needed
Licence
MIT, open source
Topic
Everyday life
  1. 1.

    Use it free

    Open it in your browser. The first result needs no signup.

  2. 2.

    Run it yourself

    Open source under MIT. Take the code to your own server.

  3. 3.

    Stay in touch

    One email when it gets a new feature. Nothing else.

Screenshot of Nebenkosten Check in the browser, with example data: Checks a German utility bill for tenants and writes the objection letter to the landlord. (open the full-size image)
Fig. 1: Nebenkosten Check with example data.

What it does

  1. Checks the deadlines in § 556 Abs. 3 BGB: billing period of at most 12 months, statement received within 12 months after the period (otherwise no extra payment), and your own 12-month objection deadline with a calendar reminder.
  2. Flags cost lines a landlord may not pass on under the BetrKV: management, repairs, reserves, bank charges, empty flats, rented smoke detectors, emergency call-out fees, cable TV after June 2024.
  3. Recalculates your share from the building total and the allocation key (floor area, persons, flats, consumption) and spots different floor areas for the same flat.
  4. Heating: consumption share of 50 to 70 %, the 15 % cut when it was not billed by consumption, the 3 % cut without monthly consumption information, and the CO2 cost split by the ten-step model (CO2KostAufG).
  5. Compares each line with the Deutscher Mieterbund Betriebskostenspiegel (billing year 2024) so unusually high costs stand out.
  6. Writes the letter: an objection with every point and its legal source plus a request to see the receipts, or only the receipt request. Edit it, print it or save it as PDF.

Why I built it

Every year millions of tenants in Germany get a utility statement, and many pay it without checking because the rules are spread across four laws and the deadlines are easy to miss. Most errors are simple: a management fee that does not belong there, a share that does not match the key, a statement that came too late. I built this so you can find those in ten minutes and send a proper letter, without signing up anywhere and without your rent details leaving your device.

Hafiz

Limits. Not legal advice. The checker summarises the rules as of 19 October 2026 and only checks what you enter, not the receipts. For larger amounts or a dispute, ask a Mieterverein (tenants' association) or a tenancy lawyer.

Run it on your own server

One static folder (HTML, CSS, JavaScript), no build step and no dependencies. Copy public/ to any web server or run python3 -m http.server.

Stack
HTML, JavaScript
Licence
MIT
git clone https://github.com/Shazi1212/hmsk-nebenkosten-check.git

Also for everyday life

Newsletter

Hear when Nebenkosten Check gets better.

One email when Nebenkosten Check or another tool gets a real update. A few times a year, no tracking.