Hallo,
wie wäre denn folgende Lösung.
Ausgehend davon, dass das defekte Kabel, die leere Patrone etc. ausgetauscht werden, wird anschließend an diesem Client die Rechnung erneut ausgedruckt (davon ist ja wohl auszugehen). Warum also die Rechnungsnummer auf dem Server als noch nicht vergeben markieren. Daher mein Vorschlag:
Dein Client bekommt die Rechnungsnummer vom Server und legt sie zunächst in einer Datenbank auf den Client ab. Wird der Druck exakt ausgeführt, wird diese Nummer wieder gelöscht, andernfalls kann beim nächsten Rechnungsdruck diese Nummer verwendet werden. Also
mal.