Dieses Lohnsteuerberechnungsprogramm ist FreeWare und eine Kombination einer HTML-Datei mit JavaScript (für die Ein/Ausgabe) sowie andererseits 2 Java class-Dateien(in javalohn2012.jar) zur Berechnung der Lohnsteuer.
Die Ein-/Ausgabemaske als HTML-Datei (mit JavaScript) zu realisieren, bietet sich deshalb an, weil die Erstellung einer solchen Maske in Java mit deutlich größerem Programmieraufwand verbunden ist und man zudem trotzdem noch in der Gestaltung ziemlich eingschränkt wird (vor allem gegenüber der JavaScript/HTML/Style-Programmierung). In eigentlich allen Lehrbüchern wird man übrigens beim Erlernen von Java nach dem Hello-World-Progrämmchen über viele Seiten mit der Objekt-Programmierung gequält, statt z.B. zunächst die Erstellung einer solchen Maske zumindest in Grundzügen zu erklären.
Die Übergabe der Werte vom JavaScript- zum Java-Programm (und umgekehrt) läßt sich elegant mit der POST- und GET-Methode erreichen. Dies wurde bei diesem Programm genutzt (siehe Quelltext).
Die eigentliche Lohnsteuerberechnungsdatei (lohnst_pap2012.class, Quelltext siehe lohnst_pap2012.java) wurde genau nach dem Programmablaufplan 2012 des BMF (PAP 2012) erstellt. Bezeichnungen und auch der Berechnungsweg in der Java-Datei sind eng an den PAP angelehnt, sodaß es an Hand des PAP leicht nachzuverfolgen ist, wie das Programm rechnet.
Zwischen dem JavaScript und der Java-Berechnungsdatei vermittelt bei diesem Programm eine Appletstart-Datei. Diese übernimmt die Daten vom JavaScript und ruft dann die Berechnungsdatei auf. Ebenso holt sie die errechneten Werte und stellt sie zur Abholung dem JavaScript-Programm bereit (siehe Quelltext pap_appletstart12.java).
Mit dem Befehl showStatus() werden die relevanten Werte (als Überprüfmöglichkeit) in der Stauszeile angezeigt: der monatliche Versorgungsfreibetrag + Zuschlag zum Versorgungsfreibetrag (FVB), der monatliche Altersentlastungsfreibetrag (ALTE), der nach Abzug der Versorgungs- und Altersentlastungsfreibetrages verbleibende Jahreslohn (ZRE4), die Vorsorgepauschale (VSP), die Summe der steuerklassenabhängigen Pauschalen (ZTABFB) (ohne Zuschlag zum Versorgungsfreibetrag, da schon in FVB enthalten) sowie die Kinderfreibeträge (KFB).
Für die, die das Programm gerne selbst weiter entwickeln wollen: Als Editor zum Bearbeiten der java-Dateien ist der Programmer's File Editor zu empfehlen. Zum Einen läßt sich bei diesem Programm unter 'Execute' ein Compilieraufruf erstellen, der als Makro gespeichert wird und deshalb zum erneuten Compilieren nur noch aufgerufen werden muß. Das laufende lästige Eintippen des Befehls mit den ganzen Pfadangaben wird also vermieden. Zum anderen werden die Fehlermeldungen in eine neues Fenster geschrieben und lassen sich so gut verfolgen (und gegebenfalls auch abspeichern).
Nach Anpassen der beiden java-Dateien an eigene Bedürfnisse mit Aufruf "pfad/jdk1.5/bin/javac pap_appletstart12.java" beide java-Dateien (macht JDK von selbst) in class-Dateien compilieren. Anschließend durch Aufruf "pfad/jdk1.5/bin/jar cvf neu.jar pap_appletstart12.class lohnst_pap2012.class" beide class-Dateien in eine jar-Datei (hier neu.jar) einbinden. Den gewählten jar-Dateinamen (evtl. umbenennen) dann in Applet einbinden.
Noch ein Tipp: Das JavaTM 2 Platform Standard Edition Development Kit (JDKTM) von SUN zum Compilieren, Erstellen von Jar-Dateien usw. sollte mit möglichst kurzen Ordnernamen und nicht als Unterordner in 'Programme' installiert werden. Das spart Tipparbeit beim Aufruf der javac.exe-Datei im bin-Ordner. Unter WindowsXP ist die Version 5.0 notwendig (mit hübschen 220 MB Größe). Wer noch eine frühere Windowsversion hat, sollte versuchen noch den JDK 1.2 herunterzuladen (mit nur 40 MB). Diese Version ist völlig ausreichend. Mit den JDK's erhält man jeweils auch das Java-Plug-In für den Browser.
Bruttolohn: Gesamtlohn incl. Versorgungsbezüge für den Lohnzahlungszeitraum eingeben.
Versorgungsbezug: unabhängig vom eingestellten Lohnzahlungszeitraum immer einen monatlichen Bezug !! eingeben. Bei Lohnzahlungszeitraum 'Jahr' die Anzahl der Monate entsprechen einstellen, wenn Versorgungsbezüge nicht das ganze Jahr gezahlt wurden. Das Programm errechnet daraus den Gesamtbezug und den entsprechend der Monatsanzahl anteiligen (!) Versorgungsfreibetrag. Bei monatlicher Berechnung ist die Zahl der Monate schon berücksichtigt. Beim Lohnzahlungszeitraum 'Jahr' den Jahresbruttolohn plus der Summe der im Jahr erhaltenen Versorgungsbezüge bei Bruttolohn eingeben. Bei Erstbezugsjahr 2005 (und früher) 2005 im Optionsfeld "Erstbezugsjahr" einstellen und zusätzlich monatlichen Bezug aus Erstbezugsjahr eintragen. Bei Bezug von Sterbegeld/Kapitalauszahlung aus Versorgungsbezüge den gleichen Betrag auch bei Einmalbezügen dazurechnen. Da nur für Kapitalauszahlungen Krankenversicherungspflicht besteht (nicht für Sterbegeld), entsprechend wählen. Dies gilt nicht für Versorgungsbezug-Abfindungen für mehrere Jahre. Diese werden vom Programm (nach PAP) zu den mehrjährigen nicht-Versorgungsbezug-Abfindungen dazugezählt und nicht bei der Krankenversicherung berücksichtigt.
Einmal-/sonstige Bezüge: Werden mehrere Male im Jahr Einmalzahlungen (z.B. Urlaubsgeld und Weihnachtsgeld) erhalten, muß man die schon abgerechneten Einmalzahlungen/Jahr in das entsprechende Feld eintragen. Entsprechend PAP werden dafür keine Kinderfreibeträge (bei Berechnung des Solidaritätszuschlages und der Kirchensteuer) berücksichtigt.
Vergütung für mehrjährige Tätigkeit: Wie der PAP berücksichtigt das Programm auch in diesem Fall keine Kinderfreibeträge. Vorteil ist, dass die Steuer bei dieser Vergütung nur von 1/5 des Betrages ermittelt wird (um dann mit 5 multipliziert zu werden). Vor allem im unteren Progressionsbereich ist dies günstig. Entschädigunszahlungen (in der Vergütung für mehrjährige Tätigkeit bzw. bzw. in Versorgungsbezug-Kapitalauszahlung enthalten) werden 2010 nicht mehr bei der Berechnung der Vorsorgepauschale berücksichtigt.
Sozialbeiträge: Bei Abfindungen für zukünftigen Verdienstausfall bzw. Entschädigungen sind dafür keine Sozialabgaben zu zahlen. Für den angegeben Betrag im Feld 'Vergütung für mehrjährige Tätigkeit' werden deshalb keine Sozialbeiträge berechnet. Enthalten diese Vergütigung eine Entschädigung wird dieser Anteil nicht zur Berechnung der Vorsorgepauschale herangezogen.
Im Programmablaufplan 2012 des BMF sind auch Entschädigungszahlungen nach §24, Abs. 1 EStG, die im Bruttolohn und in Einmalzahlungen enthalten sind, zu berücksichtigen. In das Java-Programm wurde diese Besonderheit nicht integriert, zumal es durch die Nichtberücksichtigung bei der Vorsorgenpauschalenberechnung von Nachteil ist, Lohnanteile oder Einmalzahlungen als Entschädigung zu deklarieren dem kein Vorteil (wie bei der Fünftelregelung bei Einnahmen aus mehrjähriger Tätigkeit) gegenübersteht.
Vom Bundesland in dem man arbeitet, hängt der Pflegeversicherungssatz (Sachsen) und die Bemessungsgrenze der Rentenversicherung ab.
Im Saarland (Bezugsgröße sozialversicherungspflichtiger Lohn, max. 75% der Bemessungsgrenze) und Bremen (Bruttolohn) muß ein Kammerbeitrag von 0,15% vom Arbeitgeber abgeführt werden.
Vom Wohnort hängt der Kirchensteuersatz ab. In Baden-Würtemberg und Bayern beträgt er 8%, in allen anderen Bundesländern 9%.
Vor 2010: Gesamtbetrag der privaten Kranken- und Pflegeversicherungs-prämie entsprechend als Monatsbeitrag eingeben. Wenn die Checkbox "mit Arbeitgeberzuschuss" aktiviert ist, wird dieser errechnet (max. 1/2 Prämie bzw. Produkt aus jeweils gültige Bemessungsgrenze x Kranken- und Pflegeversicherungssatz (des AG).
Da ab 2010 der Kranken- und Pflegeversicherungsbeitrag für die Grundversorgung vom steuerpflichtigen Einkommen abgezogen werden kann, berücksicht das Programm bei privat Kranken- und Pflegeversicherten (z.B. Beamte) deren Beiträge, wenn sie folgendermaßen eingegeben werden:
mit Arbeitgeberzuschuss: dazu Checkbox "mit Arbeitgeberzuschuss" aktivieren und in den beiden vorgesehenen Feldern zum einen die Gesamtsumme der Beiträge zur privaten Kranken- und Pflegeversicherung angeben (zur Berechnung des Arbeitgeberzuschusses) und zum anderen im zweiten Feld die Summe der (von der privaten Krankenversicherung mitgeteilten) Beiträge, die eine Basisversorgung sichern (wird zur Berechnung der Vorsorgepauschale benötigt).
ohne Arbeitgeberzuschuss: Beträge in Felder eintragen, aber Checkbox "mit Arbeitgeberzuschuss" deaktivieren
Privatversicherung ohne Nachweis: Checkbox aktivieren. Es werden nur 12% des Bruttolohns bzw. max. 1.900/3.000 € für den Krankenkassenbeitrag bei der Vorsorgepauschale berücksichtigt. Auch bei StKl VI wird nur diese Mindestvorsorgepauschale berücksichtigt.
Als Basistarif den monatlichen Beitrag für eine Grundversorgung (z.B. keine Chefarztbehandlung usw.) eingeben (für die Berechnung der Vorsorgepauschale benötigt).