- Startseite
- Blog
- Hetzner-Rechnung falsch? So prüfen Sie jede Position selbst
Veröffentlicht am 11. Juni 2026
Hetzner-Rechnung falsch? So prüfen Sie jede Position selbst
In diesem Artikel
Im Frühjahr 2026 meldete ein Hetzner-Kunde rund 741 € an Abbuchungen, verteilt über vier Monatsrechnungen, für sechs Floating IPs, die im Dezember davor nur wenige Stunden im Account existiert hatten. Auf einer Rechnung erschien eine einzelne IP 18-mal als identische Position über 3,00 €. Der First-Level-Support prüfte die Belege und antwortete, die Berechnung sehe „für uns völlig korrekt aus". Die Erstattung kam Monate später, nachdem der Kunde die CSV-Belege veröffentlicht hatte und der Thread Aufmerksamkeit bekam.
Die meisten Rechnungszweifel enden weniger dramatisch, beginnen aber genauso: mit einer Position auf der Rechnung, die Sie nicht zuordnen können, und einem PDF, das nicht sagt, zu welcher Ressource die Abbuchung gehört. Der vorige Artikel dieser Serie, Hetzner Cloud Abrechnung erklärt, hat das Abrechnungsmodell beschrieben. Dieser beantwortet die schwierigere Frage: Stimmt diese konkrete Position? Das können Sie selbst prüfen, denn jede PDF-Position lässt sich in Zeilen pro Ressource im Einzelverbrauchsnachweis aufschlüsseln, jede Zeile trägt eine Ressourcen-ID mit Start- und Enddatum, und diese Daten können Sie mit dem Aktivitätsverlauf in der Cloud Console abgleichen. Die ganze Prüfung dauert etwa fünfzehn Minuten pro verdächtiger Position.
Kurz gefasst.
- Das Rechnungs-PDF von Hetzner fasst identische Produkte zu einzelnen Positionen zusammen und kann deshalb keine einzelne Abbuchung bestätigen.
- Die Prüfung beginnt mit dem Einzelverbrauchsnachweis: eine Zeile pro Ressource, als CSV herunterladbar, mit Ressourcen-IDs, Laufzeiten, Sätzen und Monatslimits.
- Der Nachweis existiert erst zusammen mit seiner Rechnung, und die kann bis zu 28 Tage nach Monatsende kommen.
- Rechnen Sie jede Zeile aus Menge und Stückpreis nach, und bestätigen Sie dann die Erstell- und Löschdaten im Aktivitätsverlauf der Hetzner Cloud Console.
- Abrechnungsfehler können jede Form annehmen; prüfen Sie aber zuerst auf eine doppelte Ressourcen-ID im selben Zeitraum, eine Abbuchung nach dokumentierter Löschung und einen Betrag, der sich aus den Zahlen der Zeile nicht nachrechnen lässt.
Das PDF allein kann keine einzelne Position bestätigen
Hetzners Dokumentation zum Abrechnungssystem beschreibt das Design offen: Auf dem Rechnungs-PDF werden „gleichartige Posten zusammengefasst, wenn Produkt, Mengeneinheit und Stückpreis identisch sind", und „einzelne Verbrauchswerte werden nicht in der PDF-Rechnung dargestellt, sondern in einem separaten Einzelverbrauchsnachweis bereitgestellt". Die Gruppierung verbirgt viel. Auf einer echten Aprilrechnung lautet Position 15 eines Cloud-Projekts Product count 42, CX23 Cloud Server, 813 Hours, €5.2032: zweiundvierzig verschiedene Server, deren Stunden zu einer Menge addiert sind, in einer Zeile. Diese Zeile kann zu einer normalen CI-Pipeline passen, die Server erzeugt und löscht, genauso wie zu einem Server, der zweiundvierzigmal berechnet wurde, und das PDF sagt nicht, was zutrifft. Es bestätigt die Summen, aber für die Prüfung einer einzelnen Abbuchung brauchen Sie die Dokumente darunter.
Vier Quellen decken die ganze Kette ab:
| Quelle | Wo zu finden | Was sie liefert |
|---|---|---|
| Rechnungs-PDF | Im Account unter „Rechnungen" oder über den per E-Mail verschickten Link | Das rechtliche Dokument: Zwischensummen, gruppierte Produktpositionen, USt. |
| Einzelverbrauchsnachweis | QR-Code auf der Rechnung, der Verweis auf die detaillierte Nutzung im PDF oder „Rechnungen" im Account; im Browser einsehbar, mit CSV-Download | Eine Zeile pro Ressource: ID, Name, Start- und Enddatum, Satz, Monatslimit, gemessene Nutzung |
| Usage-Vorschau | Hetzner Cloud Console | Auflaufende Kosten des laufenden Monats pro Ressource, bevor eine Rechnung existiert |
| Aktivitätsverlauf | Auf Account-Ebene in der Cloud Console, mit Projektfilter und CSV-Export für einen gewählten Zeitraum | Erstell-, Lösch-, Attach- und Zuweisungsereignisse mit Zeitstempel und dem auslösenden Benutzer oder API-Token |
Der Einzelverbrauchsnachweis ist das Dokument, mit dem Sie arbeiten, und der Aktivitätsverlauf bestätigt, was darin steht.
Ein abgeschlossener Monat hat bis zur Rechnung keine Kostendaten
Der Einzelverbrauchsnachweis entsteht zusammen mit seiner Rechnung, und Hetzners Billing-FAQ für die Cloud nennt, wie spät das sein kann: „Um die Rechnungen zu verteilen, können wir sie bis zu 28 Tage nach Abschluss des letzten Monats erstellen." Dieselbe FAQ schließt den naheliegenden Ausweg aus: Eine Einsicht der Nutzungsdaten ist „nicht möglich, sofern Sie Ihre Rechnung für den Vormonat noch nicht erhalten haben". Auch die Usage-Vorschau füllt die Lücke nicht, denn am Monatsersten setzt sie sich zurück und zeigt nur noch die auflaufenden Kosten des neuen Monats.
Kleine Accounts warten noch länger. Hetzner erstellt eine Rechnung erst, wenn der Rechnungsbetrag 10 Euro überschreitet; kleinere Beträge laufen auf, werden über Monate zu einer Rechnung zusammengefasst und spätestens nach drei aufeinanderfolgenden Monaten unter der Schwelle abgerechnet. Ein 4-€-Testprojekt kann ein Quartal laufen, bevor irgendein Dokument bestätigt, was es gekostet hat.
In diesem Fenster ist der Aktivitätsverlauf der einzige Beleg, der existiert, ein Grund mehr, ihn zeitnah zu exportieren, statt auf die Rechnung zu warten. Die Lücke verzögert auch jede Prüfung: Eine Januar-Anomalie wird typischerweise erst Ende Februar sichtbar. Auch deshalb lief der Geister-IP-Fall vom Anfang über vier Rechnungen.
Jede PDF-Position ihren Verbrauchszeilen zuordnen
Beginnen Sie bei der PDF-Position, an der Sie zweifeln, und suchen Sie die passenden Zeilen in der Verbrauchs-CSV. Die CSV enthält eine Zeile pro Ressource und Abrechnungskondition, mit diesen Spalten: grouping (der Rechnungsabschnitt, etwa ein Cloud-Projekt oder „Dedicated Server"), product, description (der Ressourcenname, bei IPs die Adresse), reference (die übergeordnete Ressource, zu der eine Abbuchung gehört, etwa der Server eines IPv4-Add-ons), quantity, from, until, condition (Satz, Monatslimit und gemessene Nutzung), unit, external id, price und total.
Zwei Zeilen aus einem echten Nachweis, gekürzt:
description from until unit external id total
shared-nat-hel1 2026-04-04 2026-04-04 Hours Server 125860314 €0.0064
shared-nat-hel1 2026-04-04 2026-04-30 Months Server 125860544 €3.9900
condition: "€0.0064/h, max €3.99/mo. Usage: 1 h" (erste Zeile)
condition: "€0.0064/h, max €3.99/mo. Usage: 627 h" (zweite Zeile)
Die Datei lässt sich in Excel und LibreOffice öffnen, mit drei Stolperstellen. Das Feld condition enthält einen Zeilenumbruch; im reinen Texteditor wirken die Zeilen dadurch zerrissen, importiert werden sie aber korrekt, solange das Feld in Anführungszeichen bleibt. Die Zellen price und total enthalten Text wie € 36.7000, den eine Tabellenkalkulation erst summiert, wenn Sie das Währungszeichen in einer Hilfsspalte entfernen. Und auf einem System mit deutschen Formaten erwartet Excel Semikolons und ein Dezimalkomma; nutzen Sie deshalb den Importdialog (Daten → Aus Text/CSV), stellen Sie das Trennzeichen auf Komma und lesen Sie die Zahlenspalten im englischen Zahlenformat ein.
Die Spalte external id ist die, mit der jede weitere Prüfung arbeitet. Sie enthält dieselbe Ressourcen-ID, die auch Cloud Console und API verwenden, und identifiziert die Ressource deshalb auch nach dem Löschen. Filtern Sie die CSV auf die Zeilen, deren Produkt, Einheit und Stückpreis zur PDF-Position passen, und prüfen Sie drei Summen: Die Zeilenanzahl muss der Spalte Product count auf dem PDF entsprechen, die Mengen müssen die PDF-Menge ergeben, und die Zeilenbeträge müssen den Betrag der PDF-Position ergeben. Für die 42-Server-Position oben heißt das: zweiundvierzig CSV-Zeilen, deren Stunden sich auf 813 summieren und deren Beträge sich auf 5,2032 € summieren. Stimmen alle drei Summen, fasst das PDF die Zeilen korrekt zusammen, und die verbleibende Frage ist, ob die Zeilen selbst stimmen.
Den erwarteten Betrag aus der Zeile selbst nachrechnen
Jede Zeile enthält genug Informationen, um ihren eigenen Betrag nachzurechnen. Die Spalte unit sagt, welche Formel gilt.
Hours-Zeilen decken Ressourcen ab, die nur einen Teil des Monats liefen: Die Menge ist die aufgerundete Stundenzahl, und der Betrag ist Stunden mal Stundensatz.
AX41-NVMe: 109 Stunden × 0,0588 €/Stunde = 6,4092 €
Months-Zeilen bedeuten, dass das Monatslimit erreicht wurde. Die Prüfung: Die gemessenen Stunden hätten zum Stundensatz das Limit erreicht oder überschritten. Das funktioniert auch in Teilmonaten: Die zweite shared-nat-hel1-Zeile oben wurde am 4. April erstellt und wird trotzdem als Months abgerechnet, weil 627 Stunden zu 0,0064 € rechnerisch 4,01 € ergeben, mehr als das Limit von 3,99 €.
CX23: 627 Stunden × 0,0064 €/Stunde = 4,0128 €
4,0128 € liegt über dem Limit von 3,99 €, abgerechnet: 3,9900 €
GB-months-Zeilen betreffen Volumes und Snapshots. Das Feld condition listet die Eingangswerte: Mengennutzung in GB, Zeitnutzung in Monaten und das abzurechnende Produkt aus beiden.
Snapshot: 0,8503 GB × 0,8903 Monate = 0,7570 GB-Monate
0,7570 GB-Monate × 0,0143 €/GB-Monat = 0,0108 €
TB-Zeilen sind Traffic-Überschreitung. Die Kondition zeigt die genutzte gegen die inkludierte Menge; der Betrag darf nur den Überschuss enthalten und 0,00 €, wenn die Nutzung im Kontingent blieb. Überschreitung wird in Blöcken von 0,0001 TB abgerechnet (die Billing-FAQ nennt einen Block 100 MB).
Traffic: 0,6137 TB genutzt - 0,5 TB inklusive = 0,1137 TB darüber
0,1137 TB × 7,40 €/TB = 0,84 €
Traffic-Zeilen haben ein Einheitenproblem, das die anderen Zeilentypen nicht haben. Wenn Hetzner GB oder TB schreibt, sind die binären Einheiten gemeint (GiB und TiB), und zwar überall: Ein mit „0,5 TB" Inklusiv-Traffic dokumentierter Tarif kommt aus der API als exakt 512 GiB zurück, und Console, Usage-Vorschau und Einzelverbrauchsnachweis folgen derselben Konvention. Ein Hetzner-„TB" sind deshalb 1.099.511.627.776 Bytes, rund 10 % mehr als die glatte Billion, die das Etikett nahelegt. Keine Hetzner-Dokumentation nennt diese Konvention; wir haben sie ermittelt, indem wir einen Server mit einer gemessenen Menge ausgehenden Traffics unter Last gesetzt und jede angezeigte Zahl mit dem API-Zähler verglichen haben. Die Euro-Prüfung oben bleibt davon unberührt, weil sie mit Hetzners eigener angezeigter Menge rechnet. Die Einheiten werden wichtig, wenn Sie diese Menge oder das Inklusivkontingent mit Ihrer eigenen Traffic-Messung vergleichen: Rechnen Sie Ihre Bytes mit dem binären Faktor um, denn mit dem dezimalen Faktor weichen die beiden Zahlen um rund 9,5 % voneinander ab, und eine korrekte Position fällt durch den Vergleich. Auch bei passenden Einheiten bleibt eine kleine Differenz zu erwarten: In unserem Test lag der abgerechnete Zähler rund 3 % über dem Schnittstellenzähler des Servers selbst.
Eine Zeile mit falscher Arithmetik ist selten. Weit häufiger stimmt die Rechnung, und die eigentliche Frage ist, warum es die Zeile überhaupt gibt. Das beantwortet der Aktivitätsverlauf.
Die Laufzeit der Ressource im Aktivitätsverlauf prüfen
Die Daten from und until in der CSV geben an, wann die Ressource existierte. Bestätigen können Sie sie im Aktivitätsverlauf der Hetzner Cloud Console. Er liegt auf Account-Ebene unter console.hetzner.com/activities, als ein Strom über alle Ihre Projekte; jedes Projekt-Dashboard zeigt zwar seine jüngsten Einträge, der Link führt aber aus dem Projekt heraus in die Account-Liste. Dort können Sie nach Projekt und Zeitraum filtern und das Ergebnis als CSV exportieren. Jedes Ereignis verzeichnet die Aktion, den Zeitstempel, die betroffene Ressource, das Projekt und den auslösenden Benutzer oder API-Token. Die Cloud-API bietet keine entsprechende Liste mehr: Der Endpunkt, der alle Aktionen eines Projekts lieferte, wurde am 30. Januar 2025 entfernt, und Aktionen hängen heute an den einzelnen Ressourcentypen; für Rechnungsprüfungen ist der Console-Export der praktikable Weg.
Zwei Ereignisse aus einem echten Export, gekürzt:
activity_type created resources
server.create 2026-03-18 18:23Z Server 124147042, stress-4cpu-16gb-hel1-1
server.delete 2026-03-26 05:30Z Server 124147042, stress-4cpu-16gb-hel1-1
Eine Verbrauchszeile für Server 124147042 muss from 2026-03-18, until 2026-03-26 und höchstens 180 aufgerundete Stunden zeigen; eine Abbuchung außerhalb dieses Fensters wäre falsch. Ein Lesehinweis: Der Export führt die meisten Aktionen doppelt auf, einmal mit Status requested und einmal mit success; zählen Sie jede Aktion nur einmal.
Prüfen Sie für jede Zeile, an der Sie zweifeln, drei Dinge. Das Erstellereignis passt zum from-Datum. Das Löschereignis, falls vorhanden, passt zum until-Datum. Und außerhalb dieses Fensters wurde nichts abgerechnet, was bei einer gelöschten Ressource heißt: In keinem späteren Monatsnachweis erscheint eine Zeile mit derselben external id.
Ein Vorbehalt: Hetzner dokumentiert keine Aufbewahrungsgarantie für Aktionsdaten. Wirkt eine Rechnung falsch, exportieren Sie die betreffenden Aktivitätseinträge noch am selben Tag, statt anzunehmen, dass sie bei der Support-Antwort noch da sind. Besser noch: Exportieren Sie die Aktivitäts-CSV regelmäßig und führen Sie ein eigenes Archiv, dann liegen die Belege für einen älteren Monat schon bereit, wenn eine Frage aufkommt.
Muster, die wie Fehler aussehen, aber korrekt sind
Die meisten verdächtigen Positionen erweisen sich als korrekt, sobald Sie auf die Ressourcen-ID schauen. Vier Muster decken fast alle Fälle ab. Und wenn jede Position die Prüfungen besteht, die Summe aber trotzdem höher ist als erwartet, liegt das Problem bei der Nutzung statt bei der Abrechnung: Warum Ihre Hetzner-Rechnung höher ausfällt als erwartet behandelt diesen Fall.
Derselbe Servername erscheint in zwei Zeilen
Die beiden shared-nat-hel1-Zeilen oben sehen aus wie eine Doppelabrechnung: gleiches Projekt, gleiches Produkt, gleicher Name, gleicher Tag. Die external ids unterscheiden sich aber, weil der Server am 4. April gelöscht und neu erstellt wurde. Server 125860314 existierte keine Stunde; Server 125860544 ist sein Ersatz und lief den Monat zu Ende. Ein Name kann wiederverwendet werden, doch jede ID ist eine eigene Ressource, und die Abrechnung folgt der ID.
Dieselbe IP-Adresse erscheint in drei Zeilen
Ein Einzelverbrauchsnachweis kann dieselbe IPv4-Adresse dreimal zeigen, unter drei verschiedenen Primary IP-IDs, in einem Monat. Das passiert, wenn eine Adresse freigegeben und neu bezogen wird: Jeder Bezug ist eine neue Ressource mit eigener Zeile und eigener aufgerundeter erster Stunde. Drei Zeilen für eine Adresse unter drei verschiedenen IDs sind normale Fluktuation. Drei Zeilen mit derselben ID wären ein echtes Problem; darum geht es im nächsten Abschnitt.
Dutzende Ein-Stunden-Zeilen am Ende eines Projekts
CI-Pipelines, Packer-Image-Builds und automatische Cluster-Provisionierung hinterlassen Dutzende Zeilen wie packer-69f30a28..., 1 hour, €0.0064. Jede steht für einen kurzlebigen Server, der Minuten existierte und für seine aufgerundete Stunde abgerechnet wurde, genau wie es die Aufrundungsregel vorsieht. Einzeln kosten sie weniger als einen Cent, und zusammen zeigen sie die Fluktuation Ihrer Automatisierung statt eines Abrechnungsfehlers. Diese Zeilen stehen auch hinter den hohen Product-count-Werten auf dem PDF, wie der 42-Server-Position oben.
Eine Position für eine vor Wochen gelöschte Ressource
Hetzner rechnet rückwirkend ab: Die Rechnung, die im Juni kommt, begleicht den Mai. Eine Ende Mai gelöschte Ressource erscheint auf dieser Rechnung korrekt, genau einmal. Ein Fehler wäre dieselbe Ressource noch einen Monat später.
Wie ein echter Hetzner-Rechnungsfehler aussieht
Der 741-€-Fall vom Anfang zeigt, wo sich ein echter Fehler verstecken kann. Die Rechnung jeder einzelnen Position war in sich stimmig, weshalb der First-Level-Support vermutlich eine Berechnung sah, die „völlig korrekt aussieht". Der Defekt steckte in den Zeilen selbst: dieselben Floating IPs, unter denselben Kennungen, 4- bis 18-mal innerhalb eines Abrechnungszeitraums wiederholt, für Ressourcen, deren Löschung Monate zuvor dokumentiert war. Kein legitimes Muster erzeugt das.
Keine Liste von Abrechnungsfehlern ist vollständig; ein neuer Defekt kann beliebig aussehen, und die Prüfungen in diesem Artikel sagen Ihnen dann nur, dass etwas nicht aufgeht. Die bisher gemeldeten Fälle zeigen vier Warnzeichen:
- Dieselbe external id erscheint mehrfach für dasselbe Produkt im überlappenden Zeitraum. Neu erstellte Ressourcen bekommen neue IDs; eine wiederholte ID innerhalb eines Zeitraums ist Doppelabrechnung.
- Eine Abbuchung in einem Monat nach der dokumentierten Löschung. Eine letzte Rechnung nach dem Löschen ist die normale rückwirkende Abrechnung, aber eine Zeile mit derselben ID zwei Monate später heißt, dass das Abrechnungssystem den Überblick über die Ressource verloren hat.
- Die gemessene Nutzung übersteigt die Stunden des Monats. Keine Ressource kann im April 800 Stunden nutzen.
- Die CSV-Zeilen ergeben nicht die PDF-Position. Das deutet auf die Gruppierung selbst statt auf eine einzelne Ressource.
Das Beweispaket zusammenstellen, bevor Sie das Ticket öffnen
Abrechnungsfragen laufen über eine Support-Anfrage aus Ihrem Kundenkonto; Hetzners Zahlungsdokumentation nennt das als schnellsten Weg, mit [email protected] als Ausweichadresse, wenn Sie sich nicht anmelden können. Was Sie anhängen, entscheidet, ob der Support das Ticket beim ersten Kontakt lösen kann. Mindestens gehören dazu:
- Die Rechnungsnummer und die exakten PDF-Positionen, die Sie bestreiten.
- Die Verbrauchs-CSV-Zeilen zu diesen Positionen, mit hervorgehobenen
external id-Werten. - Die Belege aus dem Aktivitätsverlauf zu jeder ID: Erstell- und Löschzeitstempel, exportiert oder als Screenshot gesichert, solange sie verfügbar sind.
- Ihre Erwartungsrechnung pro Zeile, in denselben Einheiten wie die CSV.
- Die Differenz: abgerechneter Betrag minus erwarteter Betrag, pro Rechnung.
Eine Reklamation der Form „Primary IP 125084797 wurde laut Aktivitätsverlauf am 04.04.2026 gelöscht, erscheint aber mit derselben ID auf den Nachweisen für Mai und Juni; erwartet 0,0008 €, abgerechnet 1,0008 €" gibt einem Abrechnungsspezialisten etwas zum Nachprüfen statt etwas zum Deuten. Der 741-€-Fall wurde am Ende auf genau dieser Art von Belegen erstattet; die Monate Verzögerung entstanden, weil die Reklamation Stufe für Stufe eskaliert werden musste, und klare Belege beschleunigen das.
Jeder Euro sollte erklärbar sein
Eine unerklärte Position ist selten ein Einzelfall. Die Geister-IPs im Eingangsfall liefen über vier Rechnungen, weil nichts auf Hetzners Seite die wiederholten Abbuchungen gestoppt hätte, und jeder unbeanstandete Monat fügte rund 185 € hinzu. Was auf der Rechnung dieses Monats unerklärt bleibt, steht auch auf der des nächsten.
Üben Sie die Prüfung deshalb, solange nichts falsch ist. Ordnen Sie auf Ihren nächsten zwei, drei Rechnungen eine PDF-Position ihren CSV-Zeilen zu, rechnen Sie einen Betrag nach und schlagen Sie eine external id im Aktivitätsverlauf nach. Der erste Durchgang ist langsam, doch beim dritten brauchen Sie nur noch Minuten. Mit etwas Glück brauchen Sie das nie für einen echten Streitfall, doch wenn eine Position je falsch aussieht, können Sie die ganze Prüfung noch am selben Tag durchführen, statt das Verfahren erst zu lernen, während sich die Abbuchungen wiederholen.
Die laufende Beobachtung von Monat zu Monat lohnt sich trotzdem zu automatisieren. CloudTally zeichnet den Lebenszyklus jeder Ressource auf, während er passiert, und führt daneben einen laufenden Erwartungsbetrag, sodass die Hetzner-Rechnung, wann immer sie eintrifft, nur bestätigt, was Sie bereits wissen.
Dieser Artikel wurde maschinell übersetzt.
Mehr aus dem Blog
Hetzners Preiserhöhung im Juni 2026: richtig skalieren
Hetzners Preisanpassung vom 15. Juni trifft Neubestellungen und Rescales, nicht bestehende Server. So sichern Sie aktuelle Preise und skalieren gezielt.
Hetzner Cloud Abrechnung: Stundensatz, Monatslimit und Rechnung
Hetzner Cloud rechnet stündlich mit Monatslimit ab, rundet Teilstunden auf und stellt nachträglich in Rechnung. So lesen Sie Ihre Monatsrechnung.