Die Abrechnung, die lokal bleibt.
Die Nebenkostenabrechnung für private Vermieter mit ein bis fünfzehn Wohnungen. Immobilien, Mieter, Zählerstände und Rechnungen liegen an einer Stelle, am Ende steht eine fertige Abrechnung als PDF. Kostenlos, Open Source und nach BetrKV, HeizkostenV und CO2KostAufG.
Für Windows 10 (ab Version 1809) und Windows 11. Für Server und NAS gibt es ein Docker-Abbild.
Aktuell: Version 0.17.0, erschienen am . Was ist neu?








Jeder Euro hat einen Rechenweg.
Ein Haus mit 340 m² Wohnfläche und neun Bewohnern, die Wohnung im 2. OG links hat 72 m² und zwei Bewohner. So entsteht ihr Anteil an der Wasserrechnung und am Ende die Nachzahlung.
-
Beleg
Die Rechnung für Wasser und Abwasser 2025 lautet auf 1.050,00 €. Sie hängt als PDF oder Foto an der Buchung.
-
Umlageschlüssel
Wasser wird nach Verbrauch verteilt. Alle Wohnungen zusammen haben laut Zähler 210 m³ verbraucht.
-
Anteil
Die Wohnung im 2. OG links hat 48 m³ verbraucht: 1.050,00 € × 48 / 210 = 240,00 €.
-
Nachzahlung
Mit Grundsteuer, Versicherung und Müllabfuhr kommen 880,00 € zusammen. Abzüglich der Vorauszahlungen bleiben 40,00 €.
| Position | Rechenweg | Betrag |
|---|---|---|
| Grundsteuer | 1.020,00 € × 72 m² von 340 m² Wohnfläche | 216,00 € |
| Gebäudeversicherung | 1.360,00 € × 72 m² von 340 m² Wohnfläche | 288,00 € |
| Müllabfuhr | 612,00 € × 2 Personen von 9 Personen | 136,00 € |
| Wasser und Abwasser | 1.050,00 € × 48 m³ von 210 m³ Verbrauch | 240,00 € |
| Gesamtkosten | 880,00 € | |
| Vorauszahlungen | − 840,00 € | |
| Nachzahlung | 40,00 € | |
Ihre Daten verlassen das Haus nicht.
Mieterdaten, Zählerstände und Bankverbindungen gehören nicht in eine fremde Cloud. NebenkostenFix hält sich an drei Grundsätze.
-
Kein Konto nötig
Alles bleibt lokal
Keine Cloud, keine Telemetrie, keine Online-Aktivierung, kein Konto beim Herausgeber. Die Daten liegen in einem Ordner auf Ihrem Rechner oder Server. Von sich aus sieht die App höchstens einmal am Tag nach Updates, und auch das lässt sich abschalten.
-
Beleg verknüpft
Jede Zahl hat einen Beleg
Jeder Betrag in der Abrechnung lässt sich bis zur Rechnung zurückverfolgen, mit Umlageschlüssel und Rechenweg.
-
Hinweis: Zählerstand fehlt
Nichts wird still geschätzt
Fehlt ein Zählerstand oder eine Angabe, sagt NebenkostenFix es Ihnen, statt eine Zahl zu erfinden.
Vom Zählerstand bis zum PDF.
- Immobilien und Wohnungen
- Beliebig viele Einheiten, jede Kostenart mit ihrem Umlageschlüssel.
- Mieter
- Ein- und Auszug im laufenden Jahr, anteilige Abrechnung und Leerstand inbegriffen.
- Rechnungen
- Einzeln, als Sammelrechnung oder als Tabelle erfassen. Belege als PDF oder Foto anhängen.
- Zähler
- Zählerstände mit Beweisfoto, Zwischenablesung und Doppeltarif (HT/NT).
- Heizkosten und CO₂
- Verteilung nach HeizkostenV, CO₂-Kostenaufteilung nach dem Stufenmodell.
- Abrechnung als PDF
- Mit Deckblatt, Anschreiben und Zahlungs-QR-Code (GiroCode) für die Nachzahlung.
- Assistent „Jahr abrechnen“
- Führt Schritt für Schritt durch das Abrechnungsjahr. Dazu eine Beispielimmobilie zum Ausprobieren und eine Hilfe mit Begriffen von A bis Z.
- Import und Umzug
- Daten aus Excel oder CSV übernehmen. Der Umzug auf einen anderen Rechner ist eine einzige Datei.
Gemacht für private Vermieter.
Passt gut
- Private Vermieter mit ein bis fünfzehn Wohnungen
- Wer die Abrechnung selbst erstellen und nachvollziehen möchte
- Wer seine Daten keiner fremden Cloud anvertrauen will
Passt nicht
- Gewerbliche Hausverwaltungen
- Wohnungseigentümergemeinschaften (WEG-Verwaltung)
Kostenlos laden.
Für Windows 10 (ab Version 1809) und Windows 11, auf Deutsch. Für Server und NAS als Docker-Abbild für amd64 und arm64.
-
Im Microsoft Store laden
Microsoft Store
Der einfachste Weg. Windows installiert die App und hält sie aktuell.
-
Neuestes Release
Setup.exe von GitHub
Der Installer aus dem neuesten Release, mit Prüfsumme. Updates prüft die App selbst über eine digitale Signatur.
-
Anleitung lesen
Docker
Für Server und NAS, mit Anmeldung im Browser. Das Abbild:
ghcr.io/nerbry72/nebenkostenfix
Was ist neu
Version 0.17.0
Neu
Zwei Anschriften je Mieter, eine für den Vermieter — #35
Mieter haben eine Wohnungsanschrift und eine Zustellanschrift für die Zeit nach dem Auszug, der Vermieter seine eigene Anschrift für den Briefkopf. Welche Anschrift gilt, entscheidet die App: die Zustellanschrift erst, wenn der Auszug vorbei ist. Fehlt sie dann, bleibt es bei der Wohnung, und beim Erstellen der Abrechnung erscheint ein Hinweis. Hintergrund ist die Frist nach § 556 Abs. 3 BGB, die ab dem Zugang beim Mieter läuft.
Die Abrechnung beginnt mit dem Brief und einem Übersichtsblatt — #35
Blatt 1 ist der Brief mit Anschriften im Briefkopf. Danach folgt ein Übersichtsblatt: Objekt, Wohnung, Zeitraum, Vorauszahlungen, eine Zeile je Kostenposition mit Gesamtkosten, Verteilerschlüssel, Anteil und Betrag, darunter die Summen bis zum Ergebnis. Erst dahinter stehen die einzelnen Berechnungen. Das Blatt prüft seine Summe gegen die Abrechnung und bricht ab, wenn sie abweicht.
Ein Erscheinungsbild für das ganze PDF — #35
Vorher hatte dasselbe Dokument drei verschiedene Tabellenstile. Jetzt gibt es einen. Der Rechenweg steht als Tabelle mit Text links und Betrag rechts statt als Fließtext, der Vermieteranteil ebenso. Der Zeitraum einer Rechnung steht nur noch, wenn er vom Abrechnungszeitraum abweicht.
Rechnungen nach Jahr ansehen — #35
Unter Kosten → Rechnungen gibt es ein Auswahlfeld für das Jahr, mit einer Summenzeile für die gefilterte Auswahl. Das Jahr richtet sich nach dem Rechnungsdatum, Rechnungen ohne Datum sind eine eigene Wahl. Die Zeitleiste folgt Immobilie, Jahr, Kostenart und Suche und zeigt die Summe je Jahr. Das Jahr filtert nur die Ansicht und belegt beim Erfassen nichts vor: Eine Rechnung vom März 2025 betrifft oft das Jahr 2024. Damit das nicht verwechselt wird, heißen die Einträge „Rechnungsdatum 2025“.
Rechnungsdatum für den ganzen Sammelbeleg
Hängen mehrere Rechnungen am selben Beleg, bietet der Dialog an, das Rechnungsdatum für alle zu übernehmen. Der Haken ist nie vorbelegt, ein leeres Datum wird nie übertragen.
Das PDF-Symbol in der Zeitleiste öffnet den Beleg
Wie in der Liste: ein Klick öffnet den Beleg, bei Sammelbelegen auf der ersten Seite der Rechnung.
Docker: ein Tag für die ganze Reihe
Neben :0.17.0 und :latest gibt es das Abbild jetzt auch als :0.17. Mit NK_VERSION=0.17 in der .env bekommen Sie die Fehlerbehebungen dieser Reihe ohne Handarbeit, aber keinen Sprung auf 0.18.
Behoben
Die Statistik nannte jede Heizung „Gas" — #35
Alles, was zur Heizung gehört, landete im Bereich „Gas", auch bei einer Wärmepumpe. Der Bereich kam allein aus der Nummer der Kostenart, die sagt aber nur, wofür die Kosten anfallen, nicht womit geheizt wird. Er heißt jetzt „Wärme", das stimmt für jede Heizung.
Die IBAN brach im Zahlungshinweis mitten durch
Die Nummer stand halb in der einen, halb in der nächsten Zeile. Sie bleibt jetzt in einem Stück.
Der Brief nannte das Ergebnis zweimal
Der vorgegebene Brieftext wiederholte Nachzahlung oder Guthaben, und die Zahlen standen hinter der Unterschrift. Eigene Vorlagen sind nicht betroffen.
Beträge mit und ohne Tausenderpunkt
Im Satz stand „4817,30 €", in der Spalte darunter „4.817,30 €". Jetzt überall mit Punkt, auch in Heizkosten, CO₂-Aufteilung und § 35a-Nachweis.
Die Schlusssummen standen allein auf der nächsten Seite
Sie bleiben jetzt bei ihrer Rechnung, ebenso der Zählernachweis auf einer Seite.
Texte liefen in schmalen Fenstern über ihren Rand
Auswahlfelder, Platzhalter, Zeitleiste, Statistik-Kopf und lange Belegnamen kürzen oder brechen jetzt um, auch bei Handybreite. In der Zeitleiste stehen Beträge und PDF-Symbol wieder untereinander in einer Flucht.
Update
Die Datenbank wird beim ersten Start angepasst, vorher legt die App eine Sicherung an. Eine Wanderung: Anschriften für Mieter und Vermieter. Gespeicherte Abrechnungen aus 0.16.0 bleiben unverändert lesbar, auch im CSV-Export. Die Rechenregeln sind unverändert.
Version 0.16.0
Neu
Eigene Kostenarten anlegen, umbenennen und löschen — #30
Die Namen lassen sich an die Abrechnung der eigenen Hausverwaltung anpassen. Jede Kostenart trägt eine Pflicht-Nummer aus § 2 BetrKV; mehrere dürfen sich eine Nummer teilen (Müllentsorgung und Straßenreinigung beide unter Nr. 8). Nr. 4, 5 und 6 bleiben gesperrt, sie laufen über die Heizkostenabrechnung. Gelöscht wird nur, woran keine Rechnung und kein Zähler hängt.
Kaltmiete: Soll, Ist und geplante Mieterhöhung — #31
Je Mieter ein Soll ab einem Stichtag, eine künftige Erhöhung im Voraus anlegbar und als „geplant" ausgewiesen. Eine Monatsübersicht stellt Soll, Ist und Differenz gegenüber, die Indexmiete nach § 557b steht an der Zeile. Dazu eine Erinnerung an die nächste Mieterhöhung (§ 558: 15 Monate, § 557b: 12 Monate).
Zahlungsstand je Abrechnung
Offen, teilweise beglichen oder beglichen, abgeleitet aus den zugeordneten Zahlungen.
Maßeinheit am Zähler — #32
Die Einheit steht am Zähler, statt aus der Kostenart abgeleitet zu werden. Ein Warmwasserzähler, der Kilowattstunden misst (§ 9 Abs. 2 Satz 1 HeizkostenV, bei Wärmepumpen der übliche Aufbau), ist damit erfassbar. Die Trennung § 7 / § 8 folgt jetzt dem Zweck der Kostenart statt der Einheit. Für vorhandene Zähler ändert sich nichts.
Hausgeldabrechnung prüfen
Nachrechnen, welche Position auf den Mieter umlagefähig ist, was auf den eigenen Anteil entfällt und ob die Summen stimmen. Rechnet nur, speichert nichts.
Warnung bei nicht zugeordneter Heizkostenrechnung
Eine Heizkostenrechnung ohne Wohnung, ohne Anlage und ohne Zähler zerfällt nach Wohnfläche. Das sagt die Abrechnung jetzt und nennt die betroffene Rechnung.
Behoben
Der Posten nach § 7 Abs. 2 HeizkostenV ließ sich nicht wählen — #32
Das Feld blieb gesperrt, beim Übernehmen kam „Heizkostenrechnung braucht beides". Ursache: Das Auswahlfeld der Heizungsanlage meldete seinen Wechsel nicht weiter, der Schalter lief nur beim Öffnen des Dialogs. Jetzt wird das Feld bedienbar, sobald eine Anlage gewählt ist, und erklärt das auch.
Zähler mit verschiedenen Maßeinheiten wurden zusammengezählt
Standen unter einer Kostenart ein Zähler in m³ und einer in kWh, addierte die Abrechnung beide Zahlen zu einem Nenner. Jetzt verteilt sie in diesem Fall nach Wohnfläche und weist darauf hin.
Die Maßeinheit stand an drei Stellen verschieden
Zählerliste, Ableseliste und Verbrauchsübersicht nannten für denselben Zähler unterschiedliche Einheiten. Alle drei nehmen sie jetzt vom Zähler.
Der Hinweis bei Nr. 3 riet zur falschen Nummer
Wer unter Nr. 3 eine zweite Kostenart anlegen wollte, bekam den Rat, Nr. 17 zu nehmen. Für Schmutzwasser wäre das falsch. Der Hinweis nennt jetzt den Weg, der trägt: die vorhandene Kostenart umbenennen.
Bank-, Mahn- und Abschlusskosten galten als offen statt als nicht umlagefähig
In der Prüfung der Hausgeldabrechnung bekamen „Bankgebühren", „Mahngebühren" und „Jahresabschlussprüfung" den Rat, sie seien umlagefähig, wenn der Mietvertrag sie ausdrücklich nennt. Dieser Weg trägt nicht: Verwaltungs- und Rechtsverfolgungskosten bleiben nach § 1 Abs. 2 BetrKV auch mit Mietvertrag beim Eigentümer.
Die Umlageart war ein Formularfeld ohne Wirkung
Das Abrechnungsblatt liest das Kostenprofil des Mieters, nicht die Spalte der Kostenart. Das Feld ist raus, die Spalte trägt jetzt die echten Kodes.
Update
Die Datenbank wird beim ersten Start angepasst, vorher legt die App eine Sicherung an. Drei Wanderungen: Kaltmiete-Soll (neue Tabelle, kein Backfill), Verteilungskatalog, Maßeinheit am Zähler.
NebenkostenFix ist kostenlos, Open Source (GPL-3.0) und bleibt es. Wenn es Ihnen Arbeit spart, freut sich das Projekt über einen Kaffee.