Guides
Warum sich eine Frist nicht einfach ausrechnen lässt
„Drei Monate zum Quartalsende“ klingt nach einer Subtraktion. Vier Stellen im BGB sagen etwas anderes — und an der fünften, dem Zugang, hört das Rechnen ganz auf.
- Stand

Im Vertrag steht „drei Monate zum Quartalsende“. Das klingt nach einer Subtraktion, die jede Tabellenkalkulation beherrscht. Sie ist keine. Wer eine Fristenüberwachung baut oder eine kauft, sollte wissen, an welchen vier Stellen das Rechnen aufhört und das Beurteilen anfängt.
Danach weißt du:
- welcher Tag mitzählt und welcher nicht, und woran sich das entscheidet
- warum das Fristende eine Spiegelung ist und keine Zählung
- wann sich ein Fristende auf den nächsten Werktag verschiebt — und wann eben nicht
Dieser Beitrag ist keine Rechtsberatung. Er gibt wieder, was in den Vorschriften steht, und zieht daraus die Folgerungen für ein Programm.
Der erste Tag zählt manchmal nicht
§ 187 BGB regelt nur eine Frage: Zählt der Tag mit, an dem die Frist ausgelöst wird? Die Antwort hängt davon ab, wodurch sie ausgelöst wird.
Fällt ein Ereignis mitten in den Tag — der Zugang einer Kündigung um vierzehn Uhr, eine Übergabe, ein Schaden —, wird dieser Tag nach Absatz 1 nicht mitgerechnet. Gerechnet wird ab dem Folgetag, damit niemand einen angebrochenen Rest-Tag als vollen Fristtag angerechnet bekommt.
Ist dagegen der Beginn eines Tages der maßgebende Zeitpunkt — „der Vertrag beginnt am 1. Oktober“ —, zählt dieser Tag nach Absatz 2 mit. Es gibt keinen angebrochenen Tag, den man ausgleichen müsste.
Für ein Programm heißt das: Der Auslöser muss bekannt sein, bevor gerechnet werden kann. Ein Datum allein reicht nicht; man muss wissen, ob es ein Ereignis bezeichnet oder einen Tagesbeginn.
Das Ende ist eine Spiegelung, keine Zählung
Bei Fristen nach Wochen, Monaten oder Jahren wird nicht durchgezählt. § 188 Absatz 2 spiegelt ein Datum, und welcher Tag gespiegelt wird, hängt wieder davon ab, welcher Fall des § 187 vorliegt:
- Ereignisfrist: Die Frist endet mit Ablauf des Tages der letzten Woche oder des letzten Monats, der dem Ereignistag durch seine Benennung oder seine Zahl entspricht. Ereignis am 10. März, drei Monate, Ende am 10. Juni.
- Beginnfrist: Die Frist endet mit Ablauf des Tages, der dem entsprechenden Tag vorhergeht. Beginn am 1. April, drei Monate, Ende am 30. Juni.
Kurzformel: Ereignisfrist endet am gleichzahligen Tag, Beginnfrist am Tag davor. Wer beides gleich behandelt, liegt systematisch um einen Tag daneben — und ein Tag ist bei einer Kündigungsfrist die ganze Kündigung.
Der Monat, den es nicht gibt
Ereignis am 31. Januar, Frist ein Monat. Gespiegelt wäre der 31. Februar. Für diesen Fall bestimmt § 188 Absatz 3, dass die Frist mit Ablauf des letzten Tages jenes Monats endet, also am 28. Februar oder im Schaltjahr am 29.
Der häufigste Denkfehler an dieser Stelle: Die Frist läuft nicht in den März über. Sie wird verkürzt, nicht verlängert. Ein Programm, das einfach dreißig Tage addiert, landet beim 2. oder 3. März und liegt damit außerhalb der Frist.
Wochenende und Feiertag, und die drei Einschränkungen
§ 193 BGB ist die Vorschrift, die am häufigsten zu weit verstanden wird. Sie besteht aus einem einzigen Satz und hat keine Absätze. Sie sagt: Ist an einem bestimmten Tag oder innerhalb einer Frist eine Willenserklärung abzugeben oder eine Leistung zu bewirken, und fällt dieser Tag auf einen Sonntag, einen Sonnabend oder einen am Erklärungs- oder Leistungsort staatlich anerkannten allgemeinen Feiertag, so tritt der nächste Werktag an seine Stelle.
Drei Einschränkungen stecken darin, und alle drei werden im Alltag überlesen:
- Sie gilt nicht für jede Frist, sondern nur, wenn eine Willenserklärung abzugeben oder eine Leistung zu bewirken ist. Es ist eine Regel über Handlungstermine, nicht über Zeiträume.
- Sie betrifft nur den letzten Tag der Frist, nicht den Beginn und keinen Zwischentag. Fällt der Fristbeginn auf einen Sonntag, verschiebt sich nichts.
- Der Feiertag ist ortsbezogen. Maßgeblich ist der Erklärungs- oder Leistungsort — ein bayerischer Feiertag hilft in Hamburg nicht.
Und die Verschiebung geht ausschließlich nach hinten, über eine ganze Kette von Wochenend- und Feiertagen hinweg bis zum nächsten Werktag.
Und dann kommt der Zugang
Alles bisher Gesagte betrifft die Berechnung. Der Punkt, an dem sie für die Praxis endet, ist ein anderer: Eine empfangsbedürftige Willenserklärung gegenüber Abwesenden wird erst mit ihrem Zugang wirksam. Nicht mit dem Verfassen, nicht mit dem Absenden.
Für eine Kündigung heißt das, dass der berechnete Tag der letzte mögliche Tag des Zugangs ist und nicht der letzte Tag, an dem man den Brief einwerfen kann. Wie lang der Weg dorthin ist, hängt von Postlauf, Empfangsvorrichtung und Bürozeiten ab — und das kann kein Kalender wissen.
Deshalb ist jedes automatisch berechnete Datum ein Kandidat und keine Frist. Wer eine Fristenüberwachung baut, sollte diesen Unterschied in die Ausgabe schreiben, nicht in die Fußnote.
Was ein Programm davon kann
Nach diesen vier Stellen bleibt eine nüchterne Aufteilung übrig. Ein Programm kann die Kalenderarithmetik zuverlässig, wenn man ihm sagt, welcher Fall des § 187 vorliegt und ob am letzten Tag etwas zu erklären oder zu leisten ist. Es kann erkennen, dass ein Fristende auf einen Samstag fällt, und darauf hinweisen. Es kann einen Vertragsstapel danach sortieren, was zuerst dran ist.
Es kann nicht entscheiden, ob § 193 im konkreten Fall greift, es kennt den Erklärungsort nicht, und es weiß nichts über den Zugang. Ein Werkzeug, das an dieser Stelle „Frist“ schreibt statt „rechnerischer Kandidat“, verspricht etwas, das es nicht halten kann — und das ist bei Fristen die teuerste Sorte Versprechen.
Für eine Kanzlei kommt eine organisatorische Folge dazu, die der Beitrag über Mandatsakte, Fristenkalender und DMS ausführlicher begründet: Ein berechneter Kandidat gehört in eine Vorschlagsliste, nicht in den Fristenkalender. Der Kalender ist ein Kontrollsystem, und ein Eintrag, den niemand geprüft hat, sieht dort genauso aus wie ein geprüfter.
Wie das praktisch aussieht, steht im nächsten Beitrag: sechs Verträge, drei berechnete Kandidaten, drei zur Sichtung.
Zum Nachbauen
Das Paket zu diesem Beitrag ist kein Fristenkalender, sondern eine Anschauung: ein Prüfbogen, zehn Fälle und ein Rechner, der die Fälle durchrechnet und bei einem davon nein sagt.
- fristen-pruefbogen.md: die vier Stellen aus diesem Beitrag plus den Zugang als fünf Fragen mit Ankreuzfeldern und je zwei bis drei Beispielen. Gedacht für die Person, die einträgt, nicht für die Software.
- beispiele.csv: zehn Fälle mit Auslöser, Art (Ereignis oder Tagesbeginn), Dauer, Einheit, der Angabe, ob am letzten Tag eine Handlung vorzunehmen ist, erwartetem Ergebnis und der Regel, die es trägt.
- frist_rechner.py: liest die CSV, rechnet §§ 187, 188 und 193 und vergleicht mit dem erwarteten Datum. Braucht python-dateutil, für Ostern und die Monatsspiegelung.
- lauf.txt: die Ausgabe des Rechners vom 18. September 2026.
Der Kern des Rechners ist kurz. Die Spiegelung nach § 188 Absatz 2 und die Kappung nach Absatz 3 sehen so aus:
monate = dauer * (12 if einheit == "jahre" else 1)
if art == "ereignis":
# § 188 Abs. 2 Alt. 1: der Tag, der dem Ereignistag durch seine Zahl entspricht.
# relativedelta kappt einen fehlenden 29./30./31. auf den Monatsletzten,
# das ist genau § 188 Abs. 3.
ende = ausloeser + relativedelta(months=monate)
if ende.day != ausloeser.day:
return ende, "§ 188 Abs. 3: gleichzahliger Tag fehlt, letzter Tag des Monats"
return ende, "§ 188 Abs. 2: gleichzahliger Tag"
# § 188 Abs. 2 Alt. 2: der Tag VOR dem gleichzahligen Tag.
zielmonat = ausloeser + relativedelta(months=monate, day=1)
letzter = calendar.monthrange(zielmonat.year, zielmonat.month)[1]
if ausloeser.day > letzter:
return zielmonat.replace(day=letzter), "§ 188 Abs. 3: gleichzahliger Tag fehlt, letzter Tag des Monats"
return zielmonat.replace(day=ausloeser.day) - timedelta(days=1), "§ 188 Abs. 2: Tag vor dem gleichzahligen Tag"Zwei Dinge daran sind absichtlich so. Erstens rechnet der Code in Monaten, nie in Tagen; die Zahl dreißig kommt nirgends vor. Zweitens wird der Fall „Tagesbeginn“ nicht als „Ereignis minus ein Tag“ gelöst, sondern getrennt, weil bei der Kappung auf den Monatsletzten die beiden Fälle nicht mehr um einen Tag auseinanderliegen.
Die Verschiebung nach § 193 ist ebenso knapp, und sie hat einen Schalter, der nicht im Code, sondern in den Daten liegt:
def paragraph_193(ende, handlung):
grund = kein_werktag(ende)
if not grund:
return ende, []
if not handlung:
return ende, [f"Ende faellt auf {grund}; § 193 greift nicht (Zeitraum, keine Handlung am letzten Tag)"]
kette = []
d = ende
while kein_werktag(d):
kette.append(f"{fmt(d)} {kein_werktag(d)}")
d += timedelta(days=1)
return d, [f"§ 193: {' -> '.join(kette)} -> naechster Werktag {fmt(d)}"]Ob am letzten Tag eine Erklärung abzugeben oder eine Leistung zu bewirken ist, steht in der Spalte „handlung“ der CSV. Das ist keine Bequemlichkeit, sondern die Grenze: Diese Frage kann der Rechner nicht selbst beantworten, also verlangt er die Antwort als Eingabe. Und kein_werktag kennt nur die neun bundeseinheitlichen Feiertage. Es ist so benannt, damit niemand den Rechner in München für Fronleichnam oder in Hamburg für den Reformationstag hält.
Drei Zeilen aus dem Lauf vom 18. September 2026, Python 3.12.2, python-dateutil 2.9.0:
Monat ohne 31., Ende faellt auf Samstag
ereignis 31.01.2026 +1 monate -> Kandidat 02.03.2026 (Mo) [wie erwartet]
§ 188 Abs. 3: gleichzahliger Tag fehlt, letzter Tag des Monats
§ 193: 28.02.2026 Samstag -> 01.03.2026 Sonntag -> naechster Werktag 02.03.2026
Probezeit endet am Samstag, keine Verschiebung
beginn 01.08.2026 +3 monate -> Kandidat 31.10.2026 (Sa) [wie erwartet]
§ 188 Abs. 2: Tag vor dem gleichzahligen Tag
Ende faellt auf Samstag; § 193 greift nicht (Zeitraum, keine Handlung am letzten Tag)
Zugang der Kuendigung
Ausloeser 15.09.2026 -> nicht berechnet: Der Zugang einer Erklaerung ist keine Rechnung,
sondern eine Tatsache (§ 130 Abs. 1 S. 1 BGB). Postlauf, Empfangsvorrichtung und
Buerozeiten kennt kein Kalender.
9 wie erwartet, 0 abweichend, 1 nicht berechnet.Der dritte Fall ist der wichtigste im Paket. Ein Rechner, der beim Zugang ein Datum ausgibt, hätte etwas erfunden.
Fristberechnung: Prüfbogen, zehn Beispielfälle und Fristenrechner
HerunterladenStand dieses Artikels
Geprüft am 12. September 2026 gegen die Normtexte der §§ 187, 188 und 193 BGB sowie § 130 Absatz 1 Satz 1 BGB. Keine Rechtsberatung; die §§ 186 ff. BGB sind Auslegungsregeln und weichen abweichenden Vereinbarungen oder Spezialvorschriften.
Der Rechner im Paket wurde am 18. September 2026 mit Python 3.12.2 und python-dateutil 2.9.0 gegen die zehn Fälle aus beispiele.csv ausgeführt: neun wie erwartet, einer bewusst nicht gerechnet. Die erwarteten Ergebnisse haben wir selbst aus den Normtexten abgeleitet; sie sind nicht gegen einen kommerziellen Fristenrechner oder gegen Rechtsprechung abgeglichen. Feiertage sind nur bundeseinheitlich hinterlegt. Ob ein Fall unter § 193 fällt, steht in der CSV als Eingabe, nicht als Ergebnis.
Häufige Fragen
Zählt der Tag des Ereignisses bei einer Frist mit?
Nein, wenn die Frist durch ein Ereignis im Lauf des Tages ausgelöst wird — dann beginnt die Rechnung am Folgetag. Ja, wenn der Beginn eines Tages der maßgebende Zeitpunkt ist, etwa bei einem Vertrag, der an einem bestimmten Tag beginnt.
Verlängert sich eine Frist, wenn sie am Wochenende endet?
Nur unter Bedingungen. § 193 BGB verschiebt auf den nächsten Werktag, wenn an diesem Tag eine Willenserklärung abzugeben oder eine Leistung zu bewirken ist. Er betrifft nur den letzten Tag, und beim Feiertag kommt es auf den Erklärungs- oder Leistungsort an.
Was passiert bei einer Monatsfrist, wenn der Zieltag im Monat fehlt?
Die Frist endet mit Ablauf des letzten Tages dieses Monats. Aus dem 31. Januar plus einem Monat wird der 28. Februar, nicht der 3. März — die Frist wird verkürzt, nicht in den Folgemonat verlängert.

Was ein automatisierter Ablauf wirklich kostet
Gefragt wird nach dem Preis pro Anfrage. Der macht rund ein Prozent aus. Drei Blöcke, eine durchgerechnete Beispielrechnung — und die Menge, an der alles kippt.

Warum es überzeugend falsch liegt
Eine erfundene Antwort klingt genau wie eine richtige. Abstellen lässt sich das nicht, aber ein Ablauf lässt sich so bauen, dass ein Irrtum auffällt. Vier Bauformen, an sieben Fällen mit einem kleinen Modell ausprobiert.

Was so ein Modell eigentlich tut
„Das weiß die KI doch." Ein Sprachmodell weiß nichts, es setzt fort. Was daraus folgt, ist die eine Unterscheidung, mit der sich fast jedes Vorhaben vorab einschätzen lässt.