⚠ 5. Juli 2023: Es gibt eine neue Version als Docker-Container, siehe https://github.com/muhme/ust
Im Jahr 2000 bin ich mit meiner Einnahme/Überschuss- und Umsatzsteuer-Berechnung vom Mac auf Linux umgestiegen. Dazu habe ich mir eine J2EE-Anwendung geschrieben, die ich als Projekt fertigstellen und dann unter der GNU Lizenz publizieren wollte. Inzwischen arbeite ich mit der Anwendung nun schon das fünfte Jahr und ein guter Freund nutzt sie auch schon. Daher stelle ich diese unfertige Anwendung zur Verfügung. Kommentare, bug reports und Erweiterungen sind willkommen. Bei Interesse mache ich gerne weiter und baue die kleinen Unschönheiten aus, an die ich mich schon so gewöhnt habe :)
Ach so, was noch zu sagen ist. Dieses Programm ist von keiner Finanzbehörde zertifiziert. Es ist als J2EE-Studie zu verstehen und hat keinerlei Relevanz zum deutschen Steuerrecht.
Hier ist ein fertig gepacktes WAR-Archive, welches auch die Quellen und JavaDoc enthält:
Nachdem auf meinem neuem openSuse 10.3 nun ?alles? UTF-8 ist, habe ich auch ust auf UTF-8 umgestellt. Die Version 0.2.6 hat genau den gleichen Funktionsumfang wie 0.2.5, sie ist ebend nur auf UTF-8 umgestellt.
Wenn die Umstellung mitten im Jahr erfolgt dann sind die Daten zu konvertieren, z.B.:
$ iconv -f iso8859-15 -t utf8 ust/bookings > new/bookings
Als application server habe ich Apache Tomcat benutzt. Bei mir lief die Anwendung in einem Tomcat 3.2, 4.0, 4.1 und 5.5). Die Installation erfolgt z.B. mit:
$ cp ust.war /srv/www/tomcat55/base/webapps
$ /etc/rc.d/tomcat55 start
Einige Konfigurationsparameter können angepasst werden. Dabei wird der Standardwert von einem vorhandenen Java-Property überschrieben und dieser wieder von einem eventuell vorhandenen Kontext-Parameter.
Parameter | Standard | Beschreibung |
---|---|---|
user.name | James Brown | Der Bearbeiter, der den Eintrag neu angelegt oder zuletzt geändert hat. |
UST_DATA | /tmp | Verzeichnis-Pfad zu den Dateien mit den Daten. |
UST_CURRENCY | € | Währungskennzeichen. |
UST_TAX_NUMBER | 123 / 45678 | Die Steuernummer. |
UST_TAG | ust | Kennzeichen dieser Instanz. |
Ein Java-Property wird z.B. im tomcat-Startskript in JAVA_OPTS gesetzt, z.B.
-DUST_DATA=/etc/2002
Die Konfiguration über Kontext-Parameter sollte jedoch der bevorzugte Weg sein. Er ermöglicht es auch mehrere Web-Anwendungen parallel mit unterschiedlichen Konfigurationen in einem Applikationsserver zu betreiben. Dazu muss das WAR-Archiv ausgepackt und die Parameter in WEB-INF/web.xml konfiguriert werden. In der Datei sind Beispiele zu finden.
Ein Beispiel für einen Kontorahmen (die Einträge in den Spalten der Anlage EÜR gleich den Kontonummern, allerdings nur die ich brauche) ist accounts. Nach einer Neuinstallation kann die leere Datei accounts mit der Vorlage überschrieben und der application server neu gestartet werden.
Zum Beispiel mit ubuntu 8.1 und tomcat6. Fix: Security Manager konfigurieren oder ausschalten. Ausschalten z.B. in /etc/init.d/tomcat6:
TOMCAT6_SECURITY=no
oder konfigurieren, z.B. in /var/lib/tomcat6/conf/policy.d/50local.policy mit folgenden zusätzlichen Zeilen, wenn die Daten in /var/local/ust liegen:
// for ust grant codeBase "file:${catalina.base}/webapps/ust/-" { permission java.util.PropertyPermission "UST_CURRENCY", "read"; permission java.util.PropertyPermission "UST_DATA", "read"; permission java.util.PropertyPermission "UST_TAX_NUMBER", "read"; permission java.util.PropertyPermission "user.name", "read"; permission java.io.FilePermission "/var/local/ust/*", "read"; permission java.io.FilePermission "/var/local/ust/*", "write"; };
Zum Beispiel mit ubuntu 8.1 und tomcat6. Fix: Strict Quote Escaping ausschalten. Zum Beispiel in catalina.sh oder /etc/init.d/tomcat6 oder für OpenSUSE 12.1 in /etc/tomcat6/tomcat6.conf
JAVA_OPTS="$JAVA_OPTS -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false"
Oder für Tomcat 9 in conf/web.xml die JSP page compiler initialization parameters setzen:
<init-param> <param-name>strictQuoteEscaping</param-name> <param-value>false</param-value> </init-param>