Neuer Autoinvoice-Auslöser: Abrechnung am letzten Tag des Monats
Bisher hatten alle zeitbasierten Autoinvoice-Auslöser in ZEIT.IO eine Gemeinsamkeit: Sie rechnen immer den Vormonat ab. Der Auslöser day_of_month erstellt am 3. Juli eine Rechnung über den Juni, day_of_month_range verhält sich genauso. Das ist für viele Abrechnungsmodelle richtig – aber nicht für alle.
Immer wieder erreichte uns derselbe Wunsch: Die Rechnung soll noch innerhalb des Monats erstellt werden, den sie abrechnet. Genau dafür gibt es jetzt einen neuen Auslöser: last_day_of_month.
Was der neue Auslöser macht
Mit last_day_of_month erstellt ZEIT.IO die Rechnung am letzten Tag des Monats – und rechnet dabei den laufenden Monat ab, nicht den Vormonat.
Ein Beispiel: Der Auslöser feuert am 31. August. Der Abrechnungszeitraum der erzeugten Rechnung ist dann der 1. bis 31. August. Die Arbeit des Augusts wird also noch im August in Rechnung gestellt.
ZEIT.IO ermittelt das Monatsende dabei automatisch korrekt – der 28. oder 29. Februar, der 30. April, der 31. Mai. Du musst nichts konfigurieren, es gibt bei diesem Auslöser bewusst kein Tagesfeld.
| Auslöser | Abrechnungszeitraum | Rechnung wird erstellt am |
|---|---|---|
day_of_month | Vormonat | Am konfigurierten Tag (day) |
day_of_month_range | Vormonat | Täglich im konfigurierten Zeitraum |
last_day_of_month | Laufender Monat | Am letzten Tag des Monats, um 20:00 Uhr |
Einrichten
In der Oberfläche findest du den neuen Auslöser dort, wo auch die anderen stehen:
- Im Projekt unter Auto-Rechnungen – dort gilt er für dieses eine Projekt.
- Beim Kunden unter Einstellungen → Auto-Rechnung – dort gilt er als Vorgabe für alle neu angelegten Projekte dieses Kunden.
Wählst du „Der letzte Tag des Monats" aus, verschwinden die Tagesfelder, denn das Datum ergibt sich von selbst. Alle sechs Rechnungstypen stehen zur Verfügung – genau wie beim Auslöser day_of_month.
Über die REST-API funktioniert es wie gewohnt:
PATCH /api/v1/org/projects/:id/autoinvoices/:aid
apiKey: dein-api-key
Content-Type: application/json
{
"trigger": "last_day_of_month",
"language": "de",
"payment_target": 14,
"target_state": "draft"
}
Warum 20:00 Uhr und nicht Mitternacht?
Das ist die wichtigste Design-Entscheidung bei diesem Auslöser – und der Grund für den Hinweis im nächsten Abschnitt.
Die übrigen Tagesjobs in ZEIT.IO laufen kurz nach Mitternacht. Für einen Auslöser, der den laufenden Monat abrechnet, wäre das die schlechteste denkbare Uhrzeit: Um 00:05 Uhr am 31. August hat noch niemand einen einzigen Zeiteintrag für den 31. August erfasst. Der komplette letzte Tag des Monats würde jeden Monat aus der Rechnung fallen.
Deshalb läuft dieser Job bewusst erst um 20:00 Uhr (deutsche Zeit) – nach Feierabend, aber mit genügend Puffer bis Mitternacht, falls doch einmal etwas manuell nachgeholt werden muss.
⚠️ Wichtig: Zeiteinträge nach 20:00 Uhr können durchs Raster fallen
Bitte lies diesen Abschnitt, bevor du den Auslöser produktiv einsetzt.
Um 20:00 Uhr am letzten Tag des Monats erstellt ZEIT.IO eine Momentaufnahme: In die Rechnung kommen genau die Zeiteinträge, die zu diesem Zeitpunkt existieren und bereits genehmigt sind.
Alles, was danach passiert, ist zu spät:
- Ein Zeiteintrag, der am 31. August um 21:30 Uhr erfasst wird, ist in der Rechnung vom 31. August nicht enthalten.
- Ein Zeiteintrag, der zwar am 31. August um 14:00 Uhr erfasst, aber erst am 1. September genehmigt wird, ist ebenfalls nicht enthalten. Nicht genehmigte Einträge werden grundsätzlich nicht abgerechnet.
Und hier liegt der eigentliche Haken: Diese Einträge werden auch später nicht automatisch nachgeholt. Der Lauf im Folgemonat rechnet den Zeitraum 1. bis 30. September ab – ein Eintrag mit dem Datum 31. August fällt aus diesem Zeitraum heraus. Er bleibt damit dauerhaft unabgerechnet, bis ihn jemand manuell in Rechnung stellt.
Bei den bisherigen Auslösern konnte das nicht passieren, weil dort immer ein bereits abgeschlossener Monat abgerechnet wurde. Beim neuen Auslöser ist der abgerechnete Monat zum Zeitpunkt der Rechnungserstellung noch nicht vorbei – das ist genau der gewünschte Effekt, hat aber eben diese Kehrseite.
Was du dagegen tun kannst
- Zeiterfassung und Genehmigung vor 20:00 Uhr abschließen. Am letzten Tag des Monats sollten alle Einträge erfasst und genehmigt sein, bevor der Job läuft. Ein kurzer Blick auf offene Genehmigungen am Nachmittag des Monatsletzten spart die Nacharbeit.
- Rechnung als Entwurf erstellen lassen (
target_state: "draft"). Dann kannst du sie vor dem Versand prüfen und fehlende Positionen ergänzen. Beisentgeht die Rechnung sofort an den Kunden – inklusive der Lücke. - Nachzügler manuell abrechnen. Wird ein Eintrag doch einmal zu spät genehmigt, muss er in einer separaten oder in der nächsten Rechnung manuell erfasst werden.
- Bei starker Genehmigungsverzögerung besser
day_of_monthverwenden. Wenn Stundenzettel in deiner Organisation typischerweise erst Tage später genehmigt werden, ist die Abrechnung des Vormonats das robustere Modell.
Wir prüfen derzeit, ob ZEIT.IO solche Nachzügler künftig automatisch in die Rechnung des Folgemonats übernehmen soll. Bis dahin gilt der Hinweis oben.
Noch ein Hinweis zum manuellen Auslösen
Über den Button „Aktualisieren & Auslösen" kannst du eine Autoinvoice-Konfiguration jederzeit von Hand starten. Beim Auslöser last_day_of_month gilt dabei: Der Abrechnungszeitraum ist immer der volle laufende Monat, egal an welchem Tag du den Button drückst. Löst du am 15. August manuell aus, entsteht eine Rechnung über den 1. bis 31. August.
Damit dabei keine Dubletten entstehen, prüft ZEIT.IO vor dem Erstellen, ob für dieselbe Konfiguration und denselben Zeitraum bereits eine nicht stornierte Rechnung existiert. Ist das der Fall, wird keine zweite Rechnung erzeugt.
Fragen?
Wenn du Fragen zum neuen Auslöser hast oder unsicher bist, welches Abrechnungsmodell für deine Projekte das richtige ist, schreib uns gerne an support@zeit.io.