Vor knapp 10 Jahren wurde mit der EG-Richtlinie 1999/93/EG („Signaturrichtlinie“) der Grundstein für elektronischen Signaturen gelegt. Das im allgemeinem Sprachgebrauch auch als „digitale Unterschrift“ bekannte Pendant zur handschriftlichen Unterzeichnung von Dokumenten sollte den juristisch notwendigen Schulterschluss im digitalen Geschäftsverkehr und später für das sogenannte E-Government schaffen.
Elektronische Rechnungen
Im Zuge der Automatisierung der Buchhaltung meines Informationstechnologieunternehmens war ich 2008 zum ersten Mal selbst mit diesem Thema konfrontiert. Da ich vorwiegend Geschäftskunden zu meinem Kundenstamm zähle, müssen per E-Mail zugestellte Rechnungen eine digitale Signatur tragen. Die Signatur erfüllt dazu die Anforderungen einer fortgeschrittenen elektronischen Signatur gemäß § 2 Nr. 2 SigG bzw. qualifizierten elektronischen Signatur gemäß § 2 Nr. 3 SigG und berechtigt damit das rechnungserhaltende Unternehmen zum Abzug der Vorsteuer gemäß §14 UStG.
Lohnt sich das?
Soweit die Theorie. In der Praxis sind eine Reihe von Auflagen zu beachten, damit die Signaturen nicht nur im technischen Sinne die Anforderungen erfüllen, sondern auch einer juristischen/fiskalischen Prüfung standhalten. Aufgrund der fehlenden Zertifizierung zur Bestätigung der Konformität zu SigG / SigV war die Entwicklung einer eigenen Signaturkomponente oder die Integration von OpenSC / OpenSSL nicht möglich. Ich habe mich daher für die Lizensierung der Anwendung SecSignerServer der SecCommerce GmbH entschieden.
Die Kosten, die ich bis zu diesem Zeitpunkt für Softwarelizenzen, Kartenlesegerät (ReinerSCT cyberjack e-com) und Signaturkarte (D-Trust multicard 2048 Bit) investiert habe, betrugen knapp 1500,00 €. Es wird deutlich, dass der postalische Versand der Rechnungen wirtschaftlich günstiger gewesen wäre. Für durchschnittlich 10 Rechnungen / Tag, die durch die bereits vorhandene vollautomatisierte Fakturierung erstellt wurden, lohnte der Aufwand also nicht unbedingt. Dennoch macht eine derartige Vollautomatisierung für kleine Unternehmen Sinn, sodass die knappen „Human Resources“ nicht durch derartige Tätigkeiten gebunden werden.
Nach 2 Monaten Entwicklungsarbeit war die Integration abgeschlossen und das System (basierend auf Ruby on Rails) umgestellt, sodass alle Kunden ihre Rechnungen per E-Mail bekommen und die Debitorenkonten mittels FinTS/HBCI-Anbindung synchronisiert werden.
Elektronische Steuererklärung
Durch diese Umstellung hat sich eine weitere, sinnvolle Anwendung der Signaturkarte ergeben. Bisher sind nicht unerhebliche Kosten für den Steuerberater angefallen, der jedes Quartal u.a. ein umfangreiches Rechnungsjournal auswerten musste, um die Erkenntnisse in Form einer Umsatzsteuervoranmeldung dem Finanzamt vorzutragen. Ich habe nun die Zeit, einmal im Quartal meine Kostenseite und die automatisch erfassten Einnahmen zu analysieren, um selbst mittels ElsterFormular eine entsprechende Umsatzsteuervoranmeldung einzureichen. Das spart Kosten und schafft zudem einen guten Überblick über das eigene Unternehmen. Nicht zuletzt hat diese Tätigkeit teilweise eine Art Controlling-Charakter bekommen, der an verschiedenen Stellen wirtschaftliches Optimierungspotential aufzeigt.
Optimierungspotential gibt es aber auch in technischer Hinsicht.
So würde ich mir wünschen, dass der Zertifizierungsprozess eigener Software zur Bestätigung der Konformität zu SigG / SigV vereinfacht wird. So praktisch die Software von SecCommerce auch sein mag – ich hätte eine elegantere Lösung in Form eines REST-Interfaces auf Ruby-on-Rails-Basis mit nativem Zugriff auf ISO 7816 SmartCard-Interfaces bevorzugt. Übrigens: zum damaligen Zeitpunkt war JRuby noch nicht produktiv einsetzbar – denn ansonsten hätte ich mich für SecSignerAPI als Signaturanwendungskomponente entschieden, deren Integration in eigene Software eine erneute Zertifizierung optional macht.
Erfahrungsbericht: ElsterFormular / Signaturkarte
Was mich ein wenig stutzig macht, war die komplizierte Installation der Middleware für den Zugriff auf die Signaturkarte aus ElsterFormular heraus. Die Installation des ReinerSCT cyberjack e-com Kartenlesegeräts ist unter Windows[1] kein Problem. Die Initialisierung der D-Trust multicard Signaturkarte war ebenfalls mit wenigen Mausklicks erledigt. Download und Installation von ElsterFormular („Bundestrojaner“) ist auch nicht der Rede wert. Die Ahnungslosigkeit des Supports von D-Trust und REINER SCT, sowie die Unerreichbarkeit der Elster-Hotline schon. Wählt man beim Übertragen der Steuererklärung an das Finanzamt die Signaturkarte „D-Trust qualified“ unter ELSTER-Plus aus, dann erhält man die folgende Fehlermeldung:
Die Datei “Personal.dll” konnte im Verzeichnis C:\\Windows\system32\ nicht gefunden werden.
Diese Datei wurde zusammen mit dem Kartenleser auf Ihrem PC installiert. Sie ist für den Zugriff auf Ihre Signaturkarte notwendig. Bitte geben Sue den Ort dieser Datei an.
Da ich Windows als unnötiges Übel meide, bin ich selbst ein wenig überfragt gewesen. Klar – DLL sagt mir was. Das ist das, was unter Windows immer kaputt geht oder, sowie hier, fehlt. Also den Support kontaktiert. Als erstes hab ich mich an die Elster-Hotline gewendet – die Entwickler, so dachte ich, sind in diesem Fall die besten Ansprechpartner. Aber nach 4 Versuchen, die jeweils nach 15 Minuten durch Zwangstrennung unterbrochen wurden, hab ich aufgegeben. Wer masochistisch veranlagt ist, sollte sich die Warteschleife mal zu Gemüte führen: 01805 / 235055.
Als nächstes habe ich die Fehlermeldung wörtlich genommen – ein Verhalten, dass man sich selbst als Entwickler von seinen Anwendern immer wieder wünscht. Ein Anruf bei REINER SCT, deren Support übrigens schnell, kompetent und direkt erreichbar ist, hat mich nicht weitergebracht. Dort sagte man mir, dass entsprechende Dateien signaturkartenspezifisch seien und niemals zusammen mit dem Kartenlesegerät installiert würden. Und da ich die Signaturkarte von D-Trust hatte, rief ich dann eben dort an – nachdem ich auf deren Website nichts passendes gefunden hatte. Denn das vorherige Lesen der FAQ wünscht man sich von seinen Kunden ebenfalls – und da wollte ich mit gutem Beispiel vorangehen.
Ohne Middleware geht nichts
Nexus Personal als kostenpflichtige Middleware. Die Software kann nur per E-Mail bestellt werden und wird dann postalisch auf einem Datenträger gegen Rechnung versendet – Downloadversionen, Kreditkartenzahlung & Co. sind hier nicht möglich. Und da andere Software nicht offiziell unterstützt wird… hatte ich ganze 3 Tage später die Möglichkeit, Nexus Personal zu installieren, um endliche meine Umsatzsteuervoranmeldung einzureichen.
Die Fehlermeldung konnte ich dann dadurch beheben, dass ich die Datei C:\\Programme\Personal\bin\personal.dll manuell nach C:\\Windows\system32\Personal.dll kopiert habe. Herausfinden musste ich das allerdings selbst – der D-Trust-Support war in dieser Hinsicht leider ratlos. Ich hoffe daher, dass Google beim Suchen dieser Fehlermeldung meinen Artikel anzeigt. Danach konnte ich ElsterFormular starten, die gespeicherte Steuererklärung öffnen und die Übertragung starten. Verärgert hingegen hatte mich dann die nächste Fehlermeldung nach Eingabe der Card-PIN:
Die Datenübertragung ist gescheitert.
Dem von Ihnen verwendeten Zertifikat konnte kein Account bei ElsterOnline zugeordnet werden. Sie verwenden ein Zertifikat, das nicht bei ElsterOnline registriert/ von ElsterOnline ausgestellt wurde.
Fehlercode: 080015019
Registrierung bei ElsterOnline
Man muß sich scheinbar nochmal registrieren, um seine Identität zweifelsfrei an Steuernummer und Signaturkarte zu binden. Das Wort Bürokratie kann ich mir an dieser Stelle nicht verkneifen. Nun gut, ein bißchen Geduld war noch übrig. Browser auf und ins ElsterOnline-Portal zur Registrierung navigiert. ElsterBasis, ElsterSpezial, ElsterPlus mit Preisangaben von kostenlos über 41 € bis hinzu zwischen 50 € und 150 €. Wofür die Preise stehen ist nicht ersichtlich. Ich vermute, das die Registrierungen prinzipiell kostenlos und damit nur die zu erwartenden Zusatzkosten für Hardware & Co. gemeint sind.
ElsterPlus ist laut Übersichtsseite die richtige Wahl, wenn man eine bereits vorhandene Signaturkarte verwenden möchte.
Signaturkarte für Authentifizierung
Verfügt der Benutzer über eine von ELSTER unterstützte Signaturkarte für Authentifizierung, so kann er diese auch im Rahmen des ElsterOnline-Portals einsetzen.
Signaturkarten für Authentifizierung stellen den elektronischen Ersatz Ihrer handschriftlichen Unterschrift dar und werden z. B. von Banken ausgegeben. Ein mit einer Signaturkarte für Authentifizierung signiertes Dokument wird als rechtsverbindlich angesehen. Die Finanzverwaltung fordert bei der Verwendung von Signaturkarten für Authentifizierung ein Mindestmaß an Sicherheit, das in der ELSTER-Policy festgehalten wurde.
Die persönliche Registrierung ist auf den ersten Blick einfach und übersichtlich gehalten und daher schnell ausgefüllt. Was folgt, ist die obligatorische E-Mail-Bestätigung zur Verifizierung. Danach folgt ein Hinweis, der zusammen mit einer Aktivierungs-ID kommt:
Die Aktivierungs-ID benötigen Sie für den zweiten Schritt der Registrierung zusammen mit dem Aktivierungs-Code, den Sie gesondert per Post erhalten. Bewahren Sie deshalb diese E-Mail unbedingt auf, bis auch der Brief mit dem Aktivierungs-Code bei Ihnen vorliegt. Für die Zusendung des Aktivierungs-Codes wird die zu Ihrer Steuernummer gespeicherte Adresse verwendet.
Warten wir also ab. 14 Tage kann das dauern.
Nach 6 Tagen ist der Aktivierungs-Code vom Finanzamt per Post angekommen. Um meine Registrierung abzuschließen, habe ich entsprechend des Schreibens meine Aktivierungs-ID nebst des Aktivierungs-Codes auf der Website eingeben wollen. Die folgende Fehlermeldung, verursacht durch ein bekanntes Problem mit Java-Version 6 Update 15, erforderte zunächst die Anpassung der Java-Plugin-Konfiguration.
Ich habe beim Versuch, mich ins Portal einzuloggen einen Hinweis auf einen Fehler in der Version Java 6 Update 15 von Sun Microsystems erhalten. Wie kann ich diesen Fehler umgehen?
Durch einen Fehler in der am 6.8.2009 veröffentlichten Version Java 6 Update 15 kann es sein, dass kein Login im Portal mehr möglich ist. Diesen Fehler können Sie umgehen, indem Sie im Java Control Panel (in der Systemsteuerung unter “Java” zu finden) unter “Erweitert” – >
“Java-Plug-In” das Häckchen neben “Java-Plug-In der nächsten Generation aktivieren” entfernen und anschließend den Browser neu starten.
Anwender von Java 6 Update 14 oder älter sind nicht betroffen. Die genaue Version kann im Java Control Panel unter “Allgemein” -> “Anwendungsinfo” ermittelt werden. Die Zahl hinter dem Begriff “Aktualisierung” entspricht der Nummer des Updates.
Die Fehlermeldung enthielt folgenden Stacktrace:
Exception in thread "AWT-EventQueue-2" java.lang.InternalError: couldn't create component peer
(…)
java.lang.NoClassDefFoundError: de/elster/portal/applet/ZoomApplet
(…)
Caused by: java.lang.ClassNotFoundException: de.elster.portal.applet.ZoomApplet
(…)
Caused by: java.io.IOException: open HTTP connection failed:https://www.elsteronline.de/eportal/applet/de/elster/portal/applet/ZoomApplet.class
(…)
Ausnahme: java.lang.NoClassDefFoundError: de/elster/portal/applet/ZoomApplet
Nachdem ich der obigen Anweisung zur Fehlerbehebung gefolgt bin, konnte ich die Registrierung abschließen. Trotzdem kann ich mich nicht gegen den Eindruck wehren, dass beim Entwurf von ElsterOnline der Usability-Aspekt an (vermutlich) juristischen Rahmenbedingungen gescheitert ist.
Gibt man nicht binnen 15 Sekunden seinen Card-PIN ein, bricht das Applet mit einer Fehlermeldung ab. Gibt man ihn ein, so muß man die Eingabe beim Login ein weiteres Mal wiederholen. Fast jeder Schritt, den man nach Login ausführen möchte, erfordert ebenfalls die Eingabe der Card-PIN. Das Lesen von Nachrichten ist auch alles andere als benutzerfreundlich:
- Klick auf die Nachrichten im Nachrichteneingang
- Eingabeaufforderung der Card-PIN
- Download der Nachricht als PDF oder HTML
- Versuch des Java-Applets, die lokal gespeicherte Datei zum Anzeigen zu öffnen
Als (ehemaliger) Nutzer des Software-Zertifikats war ich dieses Vorgehen nebst Mehrfacheingabe der PIN schon gewohnt. Aber immerhin bekommt man jetzt auch die Möglichkeit, eine Steuerkontenabfrage zu machen. Zumindest dann, wenn man den dazu notwendigen Zusatzantrag ausfüllt, der wiederum erst bearbeitet werden muß.
[1] Unter Mac OS X ist das manuelle, nachträgliche Entfernen einiger installierter Treiberkomponenten notwendig