Drucken ist der einzige Service mit Kosten pro Nutzung — und der am leichtesten nicht abgerechnete
Eine Tür kostet gleich viel, ob sie zweimal oder vierzigmal aufgeht. WLAN kostet gleich viel, ob der Gast streamt oder schläft. Drucken ist die Ausnahme: jede Seite hat Grenzkosten — und damit ist es der einzige Service, bei dem Nichtmessen ein langsamer Geldabfluss ist.
Der Service, bei dem das Messen das Produkt ist
Zutritt, WLAN und Drucken sehen von weitem wie dieselbe Art Integration aus: es gibt eine Buchung, jemand soll etwas nutzen dürfen, und danach muss die Berechtigung verschwinden. Zwei der drei sind wirklich nur Berechtigungen. Drucken nicht.
Toner, Papier, Trommelverschleiß und Servicevertrag skalieren alle mit Seiten. Das ändert die Aufgabe der Integration. Bei einer Tür ist "ging sie auf?" betriebliche Neugier. Bei einem Drucker ist "wie viele Seiten?" eine Rechnungszeile — und wer die Zahl nicht liefern kann, hat nur die Wahl, Drucken einzupreisen oder es zu schlucken.
Beides sind legitime Entscheidungen. Keine Entscheidung ist, erst nach dem Versprechen an die Mitglieder, dass pro Seite abgerechnet wird, zu merken, dass man nicht messen kann.

Ein Kontingent ist ein Prepaid-Guthaben, kein Zähler
Dieses Denkmodell macht den Rest verständlich. Auf einem Druckserver mit Kostenumlage gewährt man einem Gast zwanzig Euro Drucken, indem man einen Nutzer anlegt und sein Kontoguthaben auf zwanzig setzt. Die Druckmechanik zieht davon ab.
Der Verbrauch ist also nichts, was man ausliest, sondern eine Subtraktion: ausgegeben minus übrig. In Boris werden die Kosten genau so abgeleitet — Kontingent minus das noch auf dem Konto liegende Guthaben — neben den kumulativen Seiten- und Auftragszählern, die der Druckserver je Nutzer führt.
Die Folge wird leicht übersehen und ist teuer: das Guthaben ist der Beleg. Verliert man es, setzt es auf null oder liest es im falschen Moment, sind die Kosten des Aufenthalts im Nachhinein nicht mehr feststellbar.
Der Fehler, der jedem das ganze Kontingent berechnet
Diese Reihenfolge schreibt sich von selbst, wenn niemand darüber nachdenkt. Der Aufenthalt endet. Das System widerruft das Drucken, was auf den meisten Servern heißt, das Guthaben auf null zu setzen, damit eine alte Berechtigung nicht mehr druckt. Dann läuft ein Job, der die Nutzung beendeter Aufenthalte aktualisiert.
Er liest ein Restguthaben von null. Kontingent minus null ist das ganze Kontingent. Jeder abreisende Gast gilt nun als hätte er jeden Cent seiner Zuteilung verbraucht — und die Zahl sieht plausibel genug aus, um lange zu überleben, bis jemand merkt, dass niemand je weniger als genau zwanzig Euro druckt.
Die Korrektur ist Reihenfolge, nicht Raffinesse: die Nutzung vor dem Widerruf erfassen, speichern, und jede späte Abfrage den gespeicherten Wert als endgültig liefern lassen statt ihn aus einem Guthaben neu zu berechnen, das nichts mehr bedeutet. In Boris liest der Widerrufspfad das selbst, und eine Aktualisierung auf einer nicht mehr aktiven Berechtigung gibt den gespeicherten Wert als veraltet gekennzeichnet zurück statt den Server erneut zu fragen.
Eine schon ausgegebene Berechtigung nie neu ausstellen
Die zweite kontingentspezifische Falle. Eine Buchung wird verlängert oder verschoben, oder jemand klickt zweimal auf Bereitstellen. Stellt das die Berechtigung neu aus, steht das Guthaben wieder auf dem vollen Kontingent.
Der Gast hat seine Zuteilung nun zweimal, und die Spur der ersten Hälfte ist nicht bestritten, sondern verschwunden. Eine aktive Berechtigung wird daher an ihrem Platz aktualisiert, nicht neu erzeugt. Dieselbe Disziplin wie bei der Zutrittskontrolle für eine verschobene Buchung, nur hat der Fehler hier ein Preisschild.
Der Ablauf verdient dieselbe Sorgfalt. Eine Berechtigung, deren Gültigkeitsfenster vorbei ist, sollte ein geplanter Lauf widerrufen — und dabei die abschließende Nutzung lesen — statt sie unbegrenzt aktiv zu lassen, weil der Aufenthalt still endete und niemand etwas gedrückt hat.
Nicht jede Plattform kann zählen, und das entscheidet Ihre Preisliste
Dieser Teil gehört geklärt, bevor Hardware gekauft oder etwas unterschrieben wird. Druckplattformen unterscheiden sich darin, was sie tatsächlich können:
- Gastkonten. Lässt sich eine kurzlebige Identität für jemanden anlegen, der am Freitag weg ist?
- Kontingente. Kann diese Identität ein Ausgabenlimit tragen, oder ist Zugang binär?
- Nutzungsberichte. Lassen sich Seiten, Aufträge und Kosten pro Nutzer zurücklesen — nicht nur eine Standortsumme?
- Kostenumlage. Bewertet die Plattform den Auftrag selbst (Farbe, Duplex, Format), oder multipliziert man am Ende Seiten mit einem geschätzten Mittelwert?
- Sichere Freigabe. Wartet der Auftrag am Gerät auf die Person? Genau das verhindert das Fach voller liegengelassener Ausdrucke, die niemand zahlt.
Boris modelliert das als ausdrückliche Fähigkeitsmerkmale je Anbieter, und der Grund ist Ehrlichkeit in der Oberfläche: einem Anbieter, der keine Nutzung melden kann, darf kein "diesen Aufenthalt abrechnen"-Knopf angeboten werden. Von den beiden heute angebundenen Druckanbietern unterstützt einer Kontingente und Nutzung und leitet die Kosten aus dem Restguthaben ab, der andere kann Gastkonten, meldet aber keine Nutzung pro Nutzer. Das sind zwei verschiedene Geschäftsmodelle — und die Wahl gehört bewusst getroffen, nicht bei der ersten Rechnung entdeckt.
Zwei Zahlen, die nicht dieselbe sind
Ein letztes Detail, das Berichte still ruiniert. Die Zähler, die ein Druckserver je Nutzer führt, sind meist kumulativ über die gesamte Lebensdauer dieses Nutzers. Legt man ein einziges wiederverwendbares Gastkonto an, ist der gelesene Seitenzähler der aller Gäste seit der Installation, und die Zahl pro Aufenthalt ist nicht rekonstruierbar.
Abrechnung pro Aufenthalt braucht also Identität pro Aufenthalt: ein für die Buchung angelegter Nutzer mit eigenem Kontingent und eigenen Zählern, widerrufen am Ende. Mehr Objekte im Druckserver und deutlich weniger Diskussionen am Empfang.
Was wir wirklich getestet haben
Da dieser Leitfaden davon handelt, Zahlen zu vertrauen, gilt derselbe Maßstab für ihn. Der PaperCut-Anbieter in Boris wurde gegen einen echten PaperCut-Server validiert: Verbindungstest, der handgeschriebene XML-RPC-Codec (die PHP-Erweiterung dafür wurde in PHP 8 entfernt, also musste er nach Spezifikation geschrieben werden), das Anlegen interner Nutzer sowie das Setzen und Lesen von Kontoguthaben und Nutzereigenschaften. Nicht ausgeübt wurde aus Mangel an Hardware die Druckererkennung gegen echte Warteschlangen und das Lesen von Zählern ungleich null. Der andere Anbieter entstand aus der Dokumentation.
Das ist die ehrliche Fassung des Kaufratschlags dieses Artikels: fragen Sie nach der Fähigkeitsliste, und fragen Sie dann, was gegen echte Geräte gelaufen ist. Das sind zwei verschiedene Fragen, und üblicherweise wird nur eine beantwortet.
Häufige Fragen
Warum ist Drucken anders als die übrigen Integrationen?
Weil es Kosten pro Nutzung hat. Zutritt und WLAN sind Berechtigungen: gewähren, widerrufen, und die Wirtschaftlichkeit ändert sich nicht mit der Menge. Ein Druckkontingent ist ausgegebenes Guthaben, und was davon am Ende des Aufenthalts übrig ist, ist das Einzige, was sagt, was dieser Aufenthalt wirklich gekostet hat. Ein System, das zeigt, wer gedruckt hat, aber nicht wie viel, kann es nicht abrechnen.
Warum den Zählerstand vor dem Widerruf lesen?
Weil das Kontingent in einem Guthabensystem ein Prepaid-Betrag ist und die Kosten aus dem Rest abgeleitet werden. Ein Widerruf setzt das Guthaben meist auf null: liest man danach, ist der Rest null und man schließt, der Gast habe das ganze Kontingent verbraucht. Die Nutzung muss erfasst werden, solange die Berechtigung aktiv ist, und jede spätere Abfrage muss den gespeicherten Wert liefern statt neu zu rechnen.
Was passiert, wenn man mitten im Aufenthalt neu ausstellt?
In einem Kontingentsystem setzt man ein Guthaben zurück, das der Gast schon ausgegeben hat: die Zuteilung gibt es zweimal, und der Nachweis der ersten Hälfte ist weg. Eine aktive Berechtigung wird aktualisiert, nie neu ausgestellt — dieselbe Regel wie bei der Zutrittskontrolle, nur mit Geld daran.
Kann jeder Druckanbieter Nutzung melden?
Nein, und das ist die Frage, die vor jeder Installation geklärt sein muss. Manche Plattformen können Gastkonten und Freigabe, liefern aber keine Zähler pro Nutzer. Damit können Sie einem Mitglied Drucken geben und werden es nie genau abrechnen können: völlig in Ordnung, wenn Drucken im Preis inbegriffen ist, und ein stiller Verlust, wenn es ein Extra sein sollte.
