Skip to main content

LstGen

Project description

LstGen

Mittels LstGen kann man aus den sgn. PAP (Programmablaufplan) Dateien, die unter https://www.bmf-steuerrechner.de zur Verfügung stehen, validen Code generieren, mit dem man ohne weitere Abhängigkeiten (wie z.B. einem externen Service) die Lohnsteuer berechnen kann.

Zur Zeit werden drei Sprachen unterstützt: * PHP * Python * Java

Installation

  • Mit pip oder easy_install aus PyPI:

    pip install lstgen
    

    oder

    easy_install lstgen
    

    Danach ist das Program lstgen (für gewöhnlich) unter /usr/local/bin/lstgen verfügbar.

Beispiel 1: Erzeugen einer PHP-Datei zur Berechnung der Lohnsteuer für das Jahr 2016

lstgen 2016 php --class-name Lohnsteuer2016 > Lohnsteuer2016.php

Der generierte Code benötigt für die Berechnung die BrickBibliothek und geht davon aus, dass sie mittels Composer installiert wurde.

Danach kann die generierte Klasse einfach importiert und folgendermassen in eigenem Code verwendet werden:

<?php

require "Lohnsteuer2016.php";

$brutto = 500000; // Brutto in ¢ent
$lst = new Lohnsteuer2015Big();
$lst->setRe4($brutto);
$lst->setPkv(1);
$lst->setAlter1(0);
$lst->setAf(0);
$lst->setF(1);
$lst->setPvs(0);
$lst->setR(0);
$lst->setLzzhinzu(0);
$lst->setPvz(0);
$lst->setStkl(1);
$lst->setLzz(2);
$lst->setKrv(2);
$lst->main();
$steuer = floor($lst->getLstlzz()->toFloat() + $lst->getStv()->toFloat() + $lst->getSts()->toFloat());
$soli = floor($lst->getSolzlzz()->toFloat() + $lst->getSolzs()->toFloat() + $lst->getSolzv()->toFloat()) / 100;
$stges = $steuer + $soli;
echo "steuer: $steuer\nsoli: $soli\nstges: $stges\n";

Oberes Beispiel zeigt die Berechnung der Lohnsteuer und Solidaritätszuschlags für einen Arbeitnehmer mit Steuerklasse 1, monatlichem Brutto von 5000€, privat versichert und ohne Arbeitgeberzuschuss für PKV.

Eine detaillierte Erklärung zu den jeweiligen Eingabeparametern findet man entweder im generierten Code in Form von Kommentaren oder in der PDF Version des PAP unter https://www.bmf-steuerrechner.de/interface/pap.jsp

Beispiel 2: Erzeugen einer Python-Datei zur Berechnung der Lohnsteuer für das Jahr 2014 (gleiche Voraussetzungen wie im PHP Beispiel)

lstgen 2014 python --class-name Lohnsteuer2014 > lst2014.py

Der generierte Code kann dann so verwendet werden:

import math
from lst2014 import Lohnsteuer2014

def print_lst(lst):
    steuer = math.floor(float(lst.getLstlzz()) + float(lst.getStv()) + float(lst.getSts())) / 100.0
    soli = math.floor(float(lst.getSolzlzz()) + float(lst.getSolzs()) + float(lst.getSolzv())) / 100
    stges = steuer + soli
    print("steuer: {steuer}\nsoli: {soli}\nstges: {stges}".format(
        steuer=steuer,
        soli=soli,
        stges=stges
    ))

brutto = 500000 # Brutto in ¢ent
# Setzen der Parameter mit Settern
lst2014 = Lohnsteuer2014()
lst2014.setRe4(brutto) # cent
lst2014.setPkv(1)
lst2014.setAlter1(0)
lst2014.setAf(0)
lst2014.setF(1)
lst2014.setPvs(0)
lst2014.setR(0)
lst2014.setLzzhinzu(0)
lst2014.setPvz(0)
lst2014.setStkl(1)
lst2014.setLzz(2)
lst2014.setKrv(2)
lst2014.MAIN()
print_lst(lst2014)

# Setzen der Parameter mittels Konstruktor-Argumente
lst2014 = Lohnsteuer2014(
    RE4=brutto,
    PKV=1,
    ALTER1=0,
    af=0,
    f=1,
    PVS=0,
    R=0,
    LZZHINZU=0,
    PVZ=0,
    STKL=1,
    LZZ=2,
    KRV=2
)
print_lst(lst2014)

0.2.0

  • Refactored writers to generators
  • Added basic tests
  • Added BigDecimal PHP proxy class

0.1.1

  • Fixed packaging issues for README.md and CHANGES.md

0.1.0

  • Initial version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for LstGen, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size LstGen-0.2.0.tar.gz (16.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page